银联商务天满服务平台
Java PHP Python



import com.chinaums.open.api.OpenApiCache;
import com.chinaums.open.api.OpenApiContext;
import com.chinaums.open.api.constants.ConfigBean;
import com.chinaums.open.api.internal.util.http.HttpTransport;
import java.util.UUID;

public class OpenApiSdkTest {
    public static void main(String[] args) throws Exception{
        String url = "/v6/poslink/transaction/pay";
        //开发者ID
        String appId = "平台分配";
        //开发者秘钥
        String appKey = "平台分配";
        //实例化客户端
        ConfigBean configBean = new ConfigBean();
        OpenApiContext context = new OpenApiContext();
        String request = "{\"merchantCode\":\"898340149000005\",
                    \"terminalCode\":\"00000001\",
                    \"transactionAmount\":\"1\",
                    \"transactionCurrencyCode\":\"156\",
                    \"merchantOrderId\":\"SO16497473287935135489683\",
                    \"merchantRemark\":\"003598测试-雁塔门店\",
                    \"payMode\":\"CODE_SCAN\",
                    \"payCode\":\"134524350966727175\",
                    \"deviceType\":\"02\",
                    \"systemTraceNum\":\"123456\",
                    \"goods\":\"[{\"goodsId\":\"001\",\"goodsName\":\"鸡蛋\",\"quantity\":\"10\",\"price\":\"1\",\"goodsCategory\":\"food meterial\",\"body\":\"two eggs\",\"discount\":\"\"}]\",
                    \"srcReserved\":\"\",
                    \"storeId\":\"01\",
                    \"limitCreditCard\":\"false\",
                    \"operatorId\":\"01\",
                    \"bizIdentifier\":\"\",
                    \"goodsTag\":\"\",
                    \"installmentFlag\":\"true\",
                    \"installmentNumber\":\"12\",
                    \"retCommParams\":\"{\"foodOrderType\":\"pre_order\",\"eduSchoolId\":\"01\",\"eduScene\":\"\",\"parkId\":\"\",\"vehicleNo\":\"\"}\",
                    \"transChnl\":\"\",
                    \"thirdPartyInstalSubsFlag\":\"\",
                    \"feeRatio\":\"\",
                    \"costSubsidy\":\"\",
                    \"subAppId\":\"\",
                    \"serialNum\":\"\",
                    \"encryptRandNum\":\"\",
                    \"secretText\":\"\",
                    \"appVersion\":\"\",
                    \"longitude\":\"-121.48352\",
                    \"latitude\":\"+31.221345\",
                    \"networkLicense\":\"P3100\",
                    \"ip\":\"172.20.11.089\",
                    \"name\":\"张*三\",
                    \"mobile\":\"131****3453\",
                    \"certType\":\"IDENTITY_CARD\",
                    \"certNo\":\"110101********9008\",
                    \"fixBuyer\":\"false\",
                    \"targetChnl\":\"\",
                    \"invocationMode\":\"\",
                    \"orderDesc\":\"\",
                    \"pwdEnc\":\"\",
                    \"pwdTransKeyEnc\":\"\",
                    \"creditFeeRatio\":\"\",
                    \"acctAmt\":\"\",
                    \"location\":\"BD09\",
                    \"discountCode\":\"\",
                    \"promoParams\":\"\",
                    \"presetPayTool\":\"{}\",
                    \"transparentFields\":\"{}\",
                    \"encryptData\":\"\"}";
        context.setStartTime(System.currentTimeMillis());
        context.setRequestId(UUID.randomUUID().toString().replace("-", ""));
        context.setOpenServUrl(url.split("/v")[0].concat("/"));
        context.setApiServiceUrl(url);
        context.setVersion(url.split("/")[3]);
        context.setAppId(appId);
        context.setAppKey(appKey);
        context.setConfigBean(configBean);
        context.setServiceCode(url.split("/v")[1].substring(1));
        OpenApiCache.getCurrentToken(context);
        System.out.println(HttpTransport.getInstance().doPost(context, request));
    }
}
<?php
require_once "../utils/Log.php";
require_once "../utils/Tools.php";
require_once "../DefaultOpenApiClient.php";
class DataRequest

{
    public $url = "";
    public $serviceCode = "";
    public $apiVersion ="";
    public $needToken = true;
    public $needDataTag = false;
    public $data;

    function __construct($data, $url)
    {
        $this->data = $data;
        $apiVersion = preg_split("/[/]+/s",$url)[2];
        $this->apiVersion = $apiVersion;
        $serviceCode = strstr($url,$apiVersion);
        $this->url = strstr($url,"/".$apiVersion,true);
        $this->serviceCode = preg_replace("/^" . preg_quote($apiVersion, "/") . "/", "", $serviceCode);
    }
}

class DataDemo{
    public function main(){
        $appid = "平台分配";
        $appkey = "平台分配";
        $url = "/v6/poslink/transaction/pay";
        $data = json_encode(array("merchantCode"=>"898340149000005",
                    "terminalCode"=>"00000001",
                    "transactionAmount"=>"1",
                    "transactionCurrencyCode"=>"156",
                    "merchantOrderId"=>"SO16497473287935135489683",
                    "merchantRemark"=>"003598测试-雁塔门店",
                    "payMode"=>"CODE_SCAN",
                    "payCode"=>"134524350966727175",
                    "deviceType"=>"02",
                    "systemTraceNum"=>"123456",
                    "goods"=>"json_encode(array([{"goodsId"=>"001","goodsName"=>"鸡蛋","quantity"=>"10","price"=>"1","goodsCategory"=>"food meterial","body"=>"two eggs","discount"=>""}]))",
                    "srcReserved"=>"",
                    "storeId"=>"01",
                    "limitCreditCard"=>"false",
                    "operatorId"=>"01",
                    "bizIdentifier"=>"",
                    "goodsTag"=>"",
                    "installmentFlag"=>"true",
                    "installmentNumber"=>"12",
                    "retCommParams"=>"{"foodOrderType"=>"pre_order","eduSchoolId"=>"01","eduScene"=>"","parkId"=>"","vehicleNo"=>""}",
                    "transChnl"=>"",
                    "thirdPartyInstalSubsFlag"=>"",
                    "feeRatio"=>"",
                    "costSubsidy"=>"",
                    "subAppId"=>"",
                    "serialNum"=>"",
                    "encryptRandNum"=>"",
                    "secretText"=>"",
                    "appVersion"=>"",
                    "longitude"=>"-121.48352",
                    "latitude"=>"+31.221345",
                    "networkLicense"=>"P3100",
                    "ip"=>"172.20.11.089",
                    "name"=>"张*三",
                    "mobile"=>"131****3453",
                    "certType"=>"IDENTITY_CARD",
                    "certNo"=>"110101********9008",
                    "fixBuyer"=>"false",
                    "targetChnl"=>"",
                    "invocationMode"=>"",
                    "orderDesc"=>"",
                    "pwdEnc"=>"",
                    "pwdTransKeyEnc"=>"",
                    "creditFeeRatio"=>"",
                    "acctAmt"=>"",
                    "location"=>"BD09",
                    "discountCode"=>"",
                    "promoParams"=>"",
                    "presetPayTool"=>"{}",
                    "transparentFields"=>"{}",
                    "encryptData"=>""));
        $reqiest = new DataRequest($data,$url);
        $client = new DefaultOpenApiClient();
        $content = $client->execute($reqiest,$appid,$appkey);
        $obj = json_decode($content);
        print_r($obj->errCode);
        print_r($obj->errInfo);
    }
}
$p = new DataDemo();
$p->main();
?>
# -*- coding: utf-8 -*-
from webapi.DefaultOpenApiClient import DefaultOpenApiClient

url = "/v6/poslink/transaction/pay"

class DataRequest(object):
    def __init__(self, data: dict) -> dict:
        self.data = data
        self.serviceCode = url[len(url.split("/v")[0])+len(url.split("/")[3])+1: len(url)]
        self.apiVersion = url.split("/")[3]
        self.needToken = True
        self.needDataTag = True

appId="平台分配"
appKey="平台分配"
client = DefaultOpenApiClient(appId, appKey)
cls = DataRequest({\"merchantCode\":\"898340149000005\",
                    \"terminalCode\":\"00000001\",
                    \"transactionAmount\":\"1\",
                    \"transactionCurrencyCode\":\"156\",
                    \"merchantOrderId\":\"SO16497473287935135489683\",
                    \"merchantRemark\":\"003598测试-雁塔门店\",
                    \"payMode\":\"CODE_SCAN\",
                    \"payCode\":\"134524350966727175\",
                    \"deviceType\":\"02\",
                    \"systemTraceNum\":\"123456\",
                    \"goods\":\"[{\"goodsId\":\"001\",\"goodsName\":\"鸡蛋\",\"quantity\":\"10\",\"price\":\"1\",\"goodsCategory\":\"food meterial\",\"body\":\"two eggs\",\"discount\":\"\"}]\",
                    \"srcReserved\":\"\",
                    \"storeId\":\"01\",
                    \"limitCreditCard\":\"false\",
                    \"operatorId\":\"01\",
                    \"bizIdentifier\":\"\",
                    \"goodsTag\":\"\",
                    \"installmentFlag\":\"true\",
                    \"installmentNumber\":\"12\",
                    \"retCommParams\":\"{\"foodOrderType\":\"pre_order\",\"eduSchoolId\":\"01\",\"eduScene\":\"\",\"parkId\":\"\",\"vehicleNo\":\"\"}\",
                    \"transChnl\":\"\",
                    \"thirdPartyInstalSubsFlag\":\"\",
                    \"feeRatio\":\"\",
                    \"costSubsidy\":\"\",
                    \"subAppId\":\"\",
                    \"serialNum\":\"\",
                    \"encryptRandNum\":\"\",
                    \"secretText\":\"\",
                    \"appVersion\":\"\",
                    \"longitude\":\"-121.48352\",
                    \"latitude\":\"+31.221345\",
                    \"networkLicense\":\"P3100\",
                    \"ip\":\"172.20.11.089\",
                    \"name\":\"张*三\",
                    \"mobile\":\"131****3453\",
                    \"certType\":\"IDENTITY_CARD\",
                    \"certNo\":\"110101********9008\",
                    \"fixBuyer\":\"false\",
                    \"targetChnl\":\"\",
                    \"invocationMode\":\"\",
                    \"orderDesc\":\"\",
                    \"pwdEnc\":\"\",
                    \"pwdTransKeyEnc\":\"\",
                    \"creditFeeRatio\":\"\",
                    \"acctAmt\":\"\",
                    \"location\":\"BD09\",
                    \"discountCode\":\"\",
                    \"promoParams\":\"\",
                    \"presetPayTool\":\"{}\",
                    \"transparentFields\":\"{}\",
                    \"encryptData\":\"\"})
response = client.execute(cls)
print(str(response.get("data")))
print(response.get("errCode"))
print(response.get("errInfo"))
print(response.get("resultCode"))
print(response.get("resultInfo"))

支付

URL

  • 生产环境: POST https://api-mop-wh.open.chinaums.com/v6/poslink/transaction/pay
  • 测试环境: POST https://test-api-open.chinaums.com/v6/poslink/transaction/pay

描述:进行POS通支付操作

ContentType:application/json

请求头

名称 必填 描述 示例值
Authorization 认证内容 (认证参考天满开发者中心->接入指引->平台认证方式:开发者中心 OPEN-BODY-SIG AppId="****",Timestamp="20170606135700",Nonce="99930a147f5353dd8a8f29a5329f37e9",Signature="IPmdGHYCcfN+mto0/02zkwoUF1NT3YqPKaUykMaec1T="

请求参数

名称 类型 必填 最大长度 描述 示例值
merchantCode string 15 商户号 898340149000005
terminalCode string 8 终端号 00000001
transactionAmount number 100000000 交易金额 单位:分 1
transactionCurrencyCode string - 交易币种 156
merchantOrderId string 50 商户订单号 全局唯一,不可重复,长度不超过50位 SO16497473287935135489683
merchantRemark string 50 商户备注 长度不超过50位 003598测试-雁塔门店
payMode string - 支付方式
E_CASH – 电子现金
SOUNDWAVE – 声波
NFC – NFC
CODE_SCAN – 扫码
MANUAL – 手输
FACE_SCAN – 扫脸
CODE_SCAN
payCode string 512 支付码 134524350966727175
deviceType string 2 设备类型 长度为2,必传字段,且设备类型为 02、03、04、05、06、08、09 或 10时,必须送“终端硬件序列号”、“加密随机因子”、“硬件序列号密文数据”、“经度”、“纬度”, 该字段值需和终端注册的设备类型保持一致。取值说明:设备类型取值说明 02
systemTraceNum string 6 系统跟踪号 6位数字 123456
goods array 商品信息 最大长度6000位
   goodsId string - 商品ID 最大长度32位 001
   goodsName string - 商品名称 最大长度256位 鸡蛋
   quantity number - 商品数量 最大长度10位,为非0整数 10
   price number - 商品单价 最大长度12位,单位:分 1
   goodsCategory string - 商品分类 最大长度24位 food meterial
   body string - 商品说明 最大长度100位 two eggs
   discount number - 最大长度12位,单位:分
srcReserved string 100 商户冗余信息 用于多种用途,如在特定支付渠道下,冗余信息将被渠道利用,长度不超过100位
storeId string 32 门店号 01
limitCreditCard boolean - 是否限制信用卡 false
operatorId string 28 操作员编号 01
bizIdentifier string 3 业务标识 标识接入的具体业务除非特殊说明,一般不需要上送
ZZH—准账户模式硬件钱包
goodsTag string 32 商品标识
installmentFlag string 3 分期标志 分期必填,花呗分期:HBF true
installmentNumber number - 分期期数 花呗分期期数(目前支持支付宝渠道) 12
retCommParams object 返佣字段 目前支持支付宝渠道,最大长度255位
   foodOrderType string - 扫码点餐字段 pre_order pre_order
   eduSchoolId string - 学校内标或者校区ID 用于支付宝校园团餐场景。从支付宝学校库查询到到学校内标/校区ID,如果有校区ID则优先传校区ID。例如:2088000913220823-1 01
   eduScene string - 服务场景ID 用于支付宝校园内服务场景。教育行业定义的校园内服务场景。例如:校园团餐:SCHOOL_CANTEEN
   parkId string 32 停车场ID,用于支付宝停车场活动
   vehicleNo string 32 车牌号,用于支付宝停车场活动
transChnl string - 交易渠道标识 1-收钱吧
thirdPartyInstalSubsFlag string - 第三方贴息启用和禁用参数
花呗分期使用
true:启用
false:禁用
如果第三方贴息活动为全场贴息,默认可贴息,传入“false”,则本笔交易禁用三方贴息;
如果第三方贴息活动为指定订单贴息,默认禁用贴息,传入“true”,则本笔交易启用三方贴息
feeRatio string - 手续费比例 新悦融益业务 该字段必传
costSubsidy string - 确认成本补贴 新悦融益业务 该字段必传;是否成本补贴,true为不判断手续费比例,false按正常判断,默认false
subAppId string - 子商户公众账号ID(微信)
serialNum string 50 条件必传,终端硬件序列号 长度⇐50,设备类型为 02、03、04、05、06、08、09 或 10时,必须填写“终端硬件序列号”,取值说明: 6位厂商编号+2位终端类型(同设备类型)+42位自定义序列号
encryptRandNum string 10 条件必传,加密随机因子 长度⇐10,设备类型为 02、03、04、05、06、08、09 或 10时,必须填写“加密随机因子”,取值说明: 若付款码为19位数字,则取后6位;若付款码为EMV二维码, 则取其tag 57的卡号/token号的后6位
secretText string 8 条件必传,硬件序列号密文数据 长度⇐8,设备类型为 02、03、04、05、06、08、09 或 10时,必须填写“硬件序列号密文数据”,取值说明: 64bit的密文数据,对终端硬件序列号和加密随机因子加密后的结果。本子域取值为:64bit 密文数据进行base64编码后的结果,加密方法详见《硬件序列号加密算法》
appVersion string 8 应用程序版本号 长度为8,设备类型为 02、03、04、05、06、08、09 或 10时,选填“应用程序版本号”,取值说明: 终端应用程序的版本号。应用程序变更应保证 版本号不重复。当长度不足时,右补空格。
longitude string - 条件必传,经度 长度⇐10。 实体类终端(设备类型非01,11):经纬度必传; 非实体类终端(设备类型为01,11):经纬度与ip字段必传其一。 格式:1位正负号+3位整数+1位小数点+5位小数; 对于正负号:+表示东经,-表示西经。例如-121.48352 -121.48352
latitude string - 条件必传,纬度 长度⇐10。 实体类终端(设备类型非01,11):经纬度必传; 非实体类终端(设备类型为01,11):经纬度与ip字段必传其一。 +31.221345
networkLicense string 5 入网认证编号 长度为5,编号由“中国银联标识产品企业资质认证办公室”为通过入网认证的终端进行分配 P3100
ip string 64 条件必传,终端设备IP地址 长度⇐40。 非实体类终端(设备类型为01,11):如无经纬度,该字段必送;格式如:"ip":"172.20.11.089" 172.20.11.089
name string 20 实名认证姓名 长度⇐20,付款人姓名(支付宝,微信指定支付人使用) 张*三
mobile string 16 实名认证手机号 长度⇐16,付款人手机号(支付宝,微信指定支付人使用) 131****3453
certType string 20 实名认证证件类型 长度⇐20,证件类型,微信支持身份证、支付宝支持身份证:IDENTITY_CARD、护照:PASSPORT、军官证:OFFICER_CARD、士兵证:SOLDIER_CARD、户口本:HOKOU IDENTITY_CARD
certNo string 20 实名认证证件号 长度⇐20,证件号码(与证件类型对应)(支付宝,微信指定支付人使用) 110101****9008
fixBuyer string 2 是否需要实名认证 长度⇐2,是否强制校验身份(支付宝,微信指定支付人使用) T:验证 F: 不验证 false
targetChnl string - 数字货币指定目标渠道 长度⇐10,仅限于数字货币使用 取值说明:中总行BOCHO、建行CCBP、工行ICBC
invocationMode string 10 调用方式 默认不传值,为等待支付流程完成才返回; POLL:轮询模式,即支付渠道响应后立即返回,若错误代码=PG,表明订单正在支付中,须使用查询接口确认订单状态,其余错误代码认为失败
orderDesc string 100 订单描述
pwdEnc string - 密码(密文) 中行卡式软钱包(准账户模式钱包)交易必传,SM4加密,透传网付
pwdTransKeyEnc string - 密码传输加密秘钥(密文)
creditFeeRatio string - 手续费(贷)
acctAmt string - 青岛医保预付卡余额
location string 10 坐标系 长度⇐10,BD09/GCJ02/WGS84 BD09
discountCode string - 优惠码 仅支持云闪付渠道
promoParams array 优惠码附加参数 JSON格式
   electrical_equipment_category string - 优惠码 GDYJDN
presetPayTool object - 卡通业务参数字段 JSON格式
transparentFields object - 银联冗余字段透传 JSON格式
encryptData string - 敏感信息加密信息上送,格式:(SM2公钥索引信息|密文数据)

响应示例

{
  "errCode":"00",
  "errInfo":"10000成功响应码",
  "transactionTime":"150241",
  "transactionDate":"0719",
  "transactionDateWithYear":"20230719",
  "settlementDate":"0719",
  "settlementDateWithYear":"20230719",
  "retrievalRefNum":"29184510823W",
  "transactionAmount":"7302",
  "actualTransactionAmount":"7302",
  "amount":"7302",
  "orderId":"20230719150237029184510823",
  "marketingAllianceDiscountInstruction":"微信钱包支付73.02元",
  "thirdPartyDiscountInstruction":"微信钱包支付73.02元",
  "thirdPartyName":"微信钱包",
  "thirdPartyBuyerId":"otdJ_uIoiCwFwQ2ocseCtnDOpqjU",
  "thirdPartyBuyerUserName":"otdJ_uIoiCwFwQ2ocseCtnDOpqjU",
  "thirdPartyOrderId":"4200066286202307198238072004",
  "thirdPartyPayInformation":"现金:7302",
  "totalDiscountAmount":0,
  "discountStatus":"",
  "promotionList":
  [
    {
      "channelName":"",
      "discountId":"",
      "eventNo":"",
      "eventName":"",
      "discountScope":"",
      "discountType":"",
      "eventDiscountAmount":0,
      "platformDiscountAmount":0,
      "merchantDiscountAmount":0,
      "thirdPartyDiscountAmount":0,
      "thirdPartyDiscountDetail":"",
      "goodsList":
      [
        {
          "goodsId":"",
          "discountAmount":0,
          "goodsNumber":0,
          "goodsPrice":0,
          "goodsRemark":""
        } 
      ] 
    } 
  ],
  "rawPromotionList":
  {

  },
  "cardAttr":"",
  "merchantAllowance":0,
  "thirdPartyAllowance":0,
  "thirdPartyPointDiscountAmount":0,
  "installmentNumber":0,
  "installmentSellerPercent":0,
  "mchntName":"",
  "convMchntNo":"",
  "convTermNo":"",
  "chnlType":"",
  "promotionAmt":"",
  "acqInstCode":"",
  "issInstCode":"",
  "bankCardNo":"",
  "queryFlag":"",
  "thirdPartyDiscountInstrution":"",
  "userId":"",
  "verifyType":"",
  "authorizationCode":"",
  "upiQrcVoucherNum":"",
  "balanceAmtEnc":"",
  "systemTraceNum":"",
  "mCardAmt":""
}

响应参数

名称 类型 必填 最大长度 描述 示例值
errCode string -
平台错误码
业务错误码
00
errInfo string - 错误说明 10000成功响应码
transactionTime string - 交易时间 格式:hhmmss 150241
transactionDate string - 交易日期 格式:MMdd 0719
transactionDateWithYear string - 交易日期 格式:yyyyMMdd 20230719
settlementDate string - 结算日期 格式:MMdd 0719
settlementDateWithYear string - 结算日期 格式:yyyyMMdd 20230719
retrievalRefNum string - 检索参考号 长度12位 29184510823W
transactionAmount number - 订单金额 与交易请求金额一致,单位:分 7302
actualTransactionAmount number - 营销联盟优惠后交易金额 营销联盟优惠后交易金额,最大长度12位,单位:分 7302
amount number - 实际支付金额 用户实际支付金额,最大长度12位,单位:分 7302
orderId string - 订单号 最大长度50位 20230719150237029184510823
marketingAllianceDiscountInstruction string - 营销联盟优惠说明 微信钱包支付73.02元
thirdPartyDiscountInstruction string - 第三方优惠说明 最大长度200位 微信钱包支付73.02元
thirdPartyName string - 第三方名称 最大长度60位 微信钱包
thirdPartyBuyerId string - 第三方买家Id otdJ_uIoiCwFwQ2ocseCtnDOpqjU
thirdPartyBuyerUserName string - 第三方买家用户名 otdJ_uIoiCwFwQ2ocseCtnDOpqjU
thirdPartyOrderId string - 第三方订单号 4200066286202307198238072004
thirdPartyPayInformation string - 第三方支付信息 格式为:方式:金额 方式:金额
totalDiscountAmount number - 优惠金额(合计) 单位:分
discountStatus string - 优惠状态 1:订单有优惠但未找到 2:订单有优惠且找到
promotionList array 优惠活动活动列表 单品营销优惠活动列表
   channelName string - 渠道方 ACP:银联 UMS:银联商务 ALIPAY:支付宝 WXPAY:微信
   discountId string - 优惠流水ID 最大长度50位
   eventNo string - 活动编号 最大长度50位
   eventName string - 活动名称 最大长度64位
   discountScope string - 优惠范围 GLOBAL –全场代金券 SINGLE -单品优惠
   discountType string - 优惠类型 微信: COUPON - 代金券 DISCOUNT - 优惠券 支付宝: ALIPAY_FIX_VOUCHER - 全场代金券 ALIPAY_DISCOUNT_VOUCHER - 折扣券 ALIPAY_ITEM_VOUCHER - 单品优惠
   eventDiscountAmount number - 活动优惠金额 最大长度15位,单位:分
   platformDiscountAmount number - 平台优惠金额 最大长度15位,单位:分
   merchantDiscountAmount number - 商户优惠金额 最大长度15位,单位:分
   thirdPartyDiscountAmount number - 第三方优惠金额 最大长度15位,单位:分
   thirdPartyDiscountDetail string - 第三方出资详情
   goodsList array 单品列表
      goodsId string - 商品编号 最大长度50位
      discountAmount number - 单品优惠金额 最大长度15位,单位:分
      goodsNumber number - 商品数量 最大长度15位,为非0整数
      goodsPrice number - 商品价格 单位:分
      goodsRemark string - 商品备注
rawPromotionList object - 渠道和收单机构侧原始优惠信息列表 支付渠道侧信息channel_info: channel_code:支付渠道名称(ACP/ALIPAY/WXPAY) promotion_detail:微信优惠详情 voucher_detail_list:支付宝活动优惠详情 discount_goods_detail:支付宝单品优惠详情
cardAttr string - 卡类型 借记:01 贷记:03 账户余额:91
merchantAllowance number - 商户让利金额 单位:分
thirdPartyAllowance number - 第三方补贴金额 单位:分
thirdPartyPointDiscountAmount number - 积分抵扣金额 单位:分
installmentNumber number - 分期期数 花呗分期期数(目前支持支付宝渠道)
installmentSellerPercent number - 付息方 花呗暂时只支持0/100,100:商家承担
mchntName string - 商户名称
convMchntNo string - 转商户商户号
convTermNo string - 转终端终端号
chnlType string - 目标渠道类型 目前仅数字货币二维码返回DCEP
promotionAmt string - 优惠金额 单位为分,目前仅数字货币二维码返回
acqInstCode string - 受理银行机构代码 ,目前仅数字货币二维码返回
issInstCode string - 发卡行代码 详见返回码说明,目前仅数字货币二维码返回
bankCardNo string - 脱敏后的银行卡号 目前仅云闪付返回
queryFlag string - 查询标志 “Y”表示:订单状态未知,需要终端发起自动查询
thirdPartyDiscountInstrution string - 第三方优惠说明
userId string - 买家Id
verifyType string - 准账户模式硬件钱包验密支付标记 当值为Y表示可发起验密支付
authorizationCode string - 授权码
upiQrcVoucherNum string - 付款凭证号 仅适用银联国际二维码
balanceAmtEnc string - 数币IC余额 余额(密文),仅数字货币IC卡交易返回
systemTraceNum string - 系统跟踪号 交易流水号,6位数字
mCardAmt string - 支卡通最终核销金额 支付宝渠道

错误码