调起支付接口

CashierRequest字段说明(需要封装,唤起收银台需传)

字段名 变量 必填 类型 示例值 描述
appId appid String
mchId 商户ID String
prepayId 预收单ID String
nonceStr 随机字符串 String
timestamp 时间戳 String 10位时间戳
signType 签名方法 String
sign 验签值 String
scheme 区分不同支付结果页面回调 String AndroidMainfest.xml配置的支付结果回调页面Data (例子:allinone://open/payResult)
package 需要接收支付回调页的APP 包名 String 例如:接收支付结果页的包名为(com.app.package)
redPacket 是否是发红包 String "true"发红包 "false"支付
/**
 * 预收单支付需要传递参数,即唤起收银台需要传的参数
 */
private CashierRequest getSignParms() {
 CashierRequest request = new CashierRequest();
    try {
        if (mRespone != null) {
            //AppId
             request.setAppId(mRespone.getAppId());
            //MchId
             request.setMchId(mRespone.getMchId());
            //随机串
             request.setNonceStr(mRespone.getNonceStr());
            //预收单ID
              request.setPrepayId(mRespone.getPrepayId());
            //加密算法
             request.setSignType(mRespone.getSignType());
            //时间戳 十位
            String timeStr = String.valueOf(Util.getSecondTimestamp(new Date()));
            request.setTimestamp(timeStr);
            //请求参数加签,加签方式同预收单接口请求加签,此签名由服务端返回
             request.setSign(getSign(request)); 
 /** scheme规则: scheme://host/path的值.
  * 注意必须要和AndroidMainfest.xml文件中配置的一样,否则成功跳转不到支付结果页面
  */
        //当前程序包名
        request.setmPackage("demo.shengpay.com.testaar.test");
        request.setScheme("allinone://open/payResult");
        //todo LX使用   setIsRedpacket("true") //LX发红包,不显示支付结果页
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return request;
}

PreOrderRespone字段说明(商户预收单数据返回)

字段名 变量 必填 类型 示例值 描述
returnCode 返回码 String
returnMsg 返回信息 String
resultCode 结果码 String
errorCode 错误码 String
errorCodeDes 错误码描述 String
appId appId String
mchId 商户id String
prepayId 预收单id String
tradeType 交易类型 String APP
nonceStr 随机字符串 String
signType 签名方法 String RSA
sign 验签 String 封装方法参考:唤起收银台参数封装代码示例

唤起收银台参数封装代码示例

/**
 * mRespone   商户预收单返回参数。定义为PreOrderRespone
 * request  预收单支付需要参数,即唤起收银台需要参数。定义为CashierRequest对象
 */
WalletApi.getInstance().init(this, params);
PayTool.getInstance().startPay(this, mRespone, request);