此接口用于平台型商家处理客户跨门店消费时,对多笔跨店订单进行合并支付,避免客户逐笔付款影响消费体验,彰显平台品质与专业!
这个接口用于以自处理的方式创建交易.仅返回交易关键数据,不返回带支付界面的内容. 适合于特殊场景下进行自行处理订单业务逻辑或自定义绘制支付UI界面.
取决于您原力支付服务部署所在的主机网络地址.
请注意确保防火墙设置已经允许通过该网络地址端口进行访问.
如果要修改此接口地址请通过<原力支付控制台>-<系统设置>进行设置
MerchantID | 必填,最大长度12,字符串格式,大小写敏感. 平台型商户的标识,标识了该交易订单的所属平台商家. 更多商户标识可以在控制台<获得产品支付入口>中查看. |
TradeProduct | 必填,最大长度500,字符串格式,大小写敏感. 产品的标识,标识了该笔交易订单的对应平台商家产品. 更多产品标识可以在控制台<获得产品支付入口>中查看. |
TradePayMethod | 必填,字符串格式 指定了此交易采用的支付方式,可用值如下: SELECT--由用户选择支付方式 ALP--使用支付宝支付 WXP--使用微信支付 |
TradePayMode | 必填,字符串格式 指定了此交易的付款模式 AUTO--当TradePayMethod为SELECT<由用户选择支付方式>时必须指定此参数. QR --通过线上二维码扫码付款(电脑网站场景) H5W --通过H5外部拉起支付宝或微信付款(手机网站,APP场景) H5N --通过H5在支付宝微信内部直接付款(公众号,微信支付宝(群)内场景) MAP --通过支付宝微信小程序进行付款(小程序场景) |
TradeNo | 选填,最大长度18,字符串格式,大小写敏感 此交易的唯一标识,如果不设置此值,那么原力支付服务会自动 根据内部时间戳规则生成此标识并且保证此标识的唯一性. 例如:T20190429161256258 |
TradeName | 选填,最大长度100,字符串格式.UTF8+URL格式编码 此交易的名称文本描述,显示在用户支付界面的交易名称 建议采用尽量简短的文本描述信息. 如果未设置则会根据购买产品自动生成相应合适的交易名称 |
TradeSubOrderList | 必填,字符串格式.UTF8+URL编码JSON格式 该笔合并付款订单中子单的明细信息数组,子单对象具体格式如下: [ --JSON对象数组开始 { --子单对象信息 MerchantID="M06329AFD1" --子单的商户标识 ProductID="P06329AFD2" --子单的产品标识 TradeNo="SUBORDER8135" --子单的交易标识 TradeName="子单1测试" --子单的交易名称 TradeDesc="子单1描述" --子单的交易描述 TradePrice="0.01" --子单的交易价格 TradeCurrency="CNY" --子单的交易货币 TradeCustomParam="AAAA" --子单的交易成功后回调至对应商家参数 }, {...},{...}{多个} ] --JSON对象数组结束 |
TradeStage | 选填,最大长度50,字符串格式. 此交易是否允许使用分期付款,此参数目前仅在使用支付宝付款时有效.如果未设置此参数表示不允许分期 格式:<分期手续费承担方><下划线><分期期数>. 分期手续费承担方: AUTO表示由买家承担手续费并由买家选择分期数. MCH表示由商家承担分期手续费. GST表示由买家承担分期手续费. 分期期数:目前支持3,6,12期分期. 例子1:TradeStage=AUTO表示由买家承担手续费,在界面由买家选择分期期数 例子2:TradeStage=MCH_3表示交易分3期付款,由商家承担手续费 例子3:TradeStage=GST_6表示交易分6期付款,由买家承担手续费 |
SubMerchantID | 选填,最大长度12,字符串格式,大小写敏感. 发起此交易的子级商户的标识,交易成功后会对该子级商户进行分账. 如果您没有使用子级商户分账功能则无需填写此参数. 子级商户标识可以在控制台<获得产品支付入口>中查看. |
TradeGuestMobile | 选填,最大长度20,字符串格式.URL格式编码 买家的手机号码,用于在交易时通过发送短信通知买家结果. 如果需要使用短信联动通知交易结果则此参数为必填. |
TradeGuestAddress | 选填,最大长度100,字符串格式,URL格式编码 买家的交易地址,用于在交易付款成功后通过此地址进行发货. 当交易成功后,此地址可以在交易记录查询中被找到并显示 |
TradeGuestRemarks | 选填,最大长度200,字符串格式 买家的交易备注,用于在交易付款成功后通过此了解交易备注 当交易成功后此备注可以在交易记录查询中被找到并显示 |
TradeGuestInput | 选填,字符串格式 仅当<由用户选择支付方式>时有效.指示了是否需要填写订单备注信息 可用值: null --无需填写订单备注信息,且界面不显示订单备注信息选项 optional --可选,界面默认隐藏订单备注信息选项可展开,用户可不填写 required --必填,界面默认显示订单备注信息选项已展开,用户必须填写 |
TradeCustomParam | 选填,最大长度500,字符串格式. 交易的自定义数据,您可以在这个参数中保存您的业务参数. 如果您设置了交易完成时使用HTTP联动通知,则此参数会在 HTTP联动通知回调中进行回传,请用URLENCODE对此参数编码, 否则可能会造成此参数的意外截断,此为平台商家的回调参数 |
TradeReturnURL | 选填,最大长度200,字符串格式. 指定了交易完成后跳转返回的URL地址. |
TradeConfirm | 选填,字符串格式. 可选值:Need 指示了该笔交易完成后需要平台方确认后才会进行结算到商家.可用于实现类似于淘宝的交易担保模式.卖家交易收款,买家确认收货,平台确认结算 |
MiniAppID |
选填,字符串格式 指定了关联的小程序AppID 如果TradePayMode=MAP小程序支付模式,那么此参数为必填项. |
MiniOpenID |
选填,字符串格式 指定了关联的小程序用户登录标识,即小程序用户登录成功的OpenID 如果TradePayMode=MAP小程序支付模式,且您已经拿到OpenID,那么此参数为必填项. MiniOpenID和MiniCode两者二选一必须提供其中一个 |
MiniCode |
选填,字符串格式 指定了关联的小程序用户登录凭证,即小程序wx.login登录成功返回的code 如果TradePayMode=MAP小程序支付模式,且您未经拿到OpenID,那么此参数为必填项. MiniOpenID和MiniCode两者二选一必须提供其中一个 |
TS |
选填,字符串格式 交易请求的时间戳,从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数. 需要转换为北京时间(+8:00时区).JS可以通过Date.parse(new Date())/1000+8*60*60计算. 支付系统会根据当前系统时间来拒绝严重超时的交易请求. 支付系统后台可设置是否要求交易签名,如果启用了交易签名,那么此参数为必填项. |
Sign |
选填,字符串格式 交易请求的签名,用于一定程度防止请求阶段交易参数被恶意更改. 支付系统后台可设置是否要求交易签名,如果启用了交易签名,那么此参数为必填项. 签名算法: (1)对所有请求参数进行ASCII顺序排序(含TS参数,除Sign参数) (2)将所有请求的参数用&符号连接起来(AAA=1&BBB=2&CCC=3...) (3)对连接后的字符串进行MD5-16计算(小写),结果即为交易请求签名Sign. |
返回了交易创建的关键结果参数,采用自实现创建交易需要您接收如下应答参数,并自行处理后续步骤,这些步骤一般为创建二维码,拉起H5支付,检测交易结果状态
MerchantID | 商户的标识 |
MerchantName | 商户的名称,UTF8+URL编码 |
TradeProduct | 产品的标识 |
TradeName | 交易的名称,UTF8+URL编码 |
TradePromotion | 此交易的优惠名称,UTF8+URL编码 |
TradeNo | 此次交易的原力订单号 |
TradeQuantity | 此次交易的产品数量 |
TradeAmount | 此次交易的交易总金额 |
TradeLinkImage | 仅在扫码支付时返回,此次交易的二维码图片地址. |
TradePackage | 仅在小程序支付时返回,包含了拉起小程序支付的JSON数据包.收到后在小程序中调用wx.requestPayment并传递TradePackage即可拉起支付 |
TradeLinkScheme |
当H5支付模式时返回此次交易的链接地址,可通过手机浏览器打开(自己实现拉起). 安卓App可以用Google Chrome H5通过web-view调用,sandbox请加allow-top-navigation,allow-same-origin 当APP支付模式时返回此次交易的OrderString(含签名).需要进一步在手机APP集成支付宝微信客户端SDK,并专递此值, 例:通过支付宝客户端SDK发起调用:IOS端->payOrder方法 安卓->payV2方法 |
TradeLaunchURL |
仅在H5支付时返回,这个URL可以让原力支付服务来协助打开(原力支付拉起) 例子:window.location.href=TradeLaunchURL |
成功返回200,失败返回对应错误码与错误描述
当您需要自行处理订单业务逻辑时,可以使用这个接口,这一个接口仅返回关键的交易数据参数,
拿到这些参数后可以自行决定后续的业务处理,理论上您还应进行支付界面渲染展示,检测支付状态是否完成,显示支付结果.
您自己的业务参数可以通过TradeCustomParam来传输,在交易完成时回调通知会通过该参数回传给您.
如果您需要灵活的指定交易价格,可以通过TradePrice参数来灵活指定交易金额.
请求创建交易的产品必须已经存在,您可以在原力控制台创建相应产品.商户标识与产品标识是原力支付系统内部生成的.
如果您的交易需要用户提供收货地址可以通过TradeGuestInput选项控制,当支付成功后可以通过控制台查询到用户联系方式和收货地址
此接口仅完成交易订单的创建,要获得交易订单的支付结果,请参阅:交易支付HTTP联动通知文档
http://pay.forcepay.cn/tradecombinecreate?MerchantID=M06165853A&TradeProduct=P06408BD9B&TradePayMethod=ALP&TradePayMode=H5W&TradeSubOrderList=%5B%7B%22MchAppID%22%3A%22NULL%22%2C%22MchUserID%22%3A%22NULL%22%2C%22MerchantID%22%3A%22M06329AFD1%22%2C%22ProductID%22%3A%22P06329AFD2%22%2C%22TradeBuyer%22%3A%22NULL%22%2C%22TradeCurrency%22%3A%22CNY%22%2C%22TradeCustomParam%22%3A%22AAAA%22%2C%22TradeDesc%22%3A%22%E5%AD%90%E5%8D%951%E6%8F%8F%E8%BF%B0%22%2C%22TradeName%22%3A%22%E5%AD%90%E5%8D%951%E6%B5%8B%E8%AF%95%22%2C%22TradeNo%22%3A%22SUBORDER8135%22%2C%22TradeOffer%22%3A%22NULL%22%2C%22TradePrice%22%3A%220.01%22%2C%22TradeSubsidy%22%3A%220%22%7D%2C%7B%22MchAppID%22%3A%22NULL%22%2C%22MchUserID%22%3A%22NULL%22%2C%22MerchantID%22%3A%22M063E516F3%22%2C%22ProductID%22%3A%22P063E51AA0%22%2C%22SubsidyAmount%22%3A%220%22%2C%22TradeBuyer%22%3A%22NULL%22%2C%22TradeCurrency%22%3A%22CNY%22%2C%22TradeCustomParam%22%3A%22BBBB%22%2C%22TradeDesc%22%3A%22%E5%AD%90%E5%8D%952%E6%8F%8F%E8%BF%B0%22%2C%22TradeName%22%3A%22%E5%AD%90%E5%8D%952%E6%B5%8B%E8%AF%95%22%2C%22TradeNo%22%3A%22SUBORDER8136%22%2C%22TradePrice%22%3A%220.01%22%7D%5D%0A