对指定商户的产品创建交易订单,这个接口用于以自处理的方式创建交易.
这个接口仅返回交易关键数据,不返回带支付页面界面内容.
适合于特殊场景下进行自行处理订单业务逻辑或自定义绘制支付UI界面.
取决于您原力支付服务部署所在的主机网络地址.
请注意确保防火墙设置已经允许通过该网络地址端口进行访问.
如果要修改此接口地址请通过<原力支付控制台>-<系统设置>进行设置
MerchantID | 必填,最大长度12,字符串格式,大小写敏感. 商户的标识,标识了该交易订单的所属商家. 更多商户标识可以在控制台<获得产品支付入口>中查看. |
TradeProduct | 必填,最大长度500,字符串格式,大小写敏感. 产品的标识,标识了该交易订单的对应产品. 允许在订单中包含多个产品标识进行合并付款,使用','号分割每个订单标识 例如:P10000001,P1000002,...最大为50个产品标识 更多产品标识可以在控制台<获得产品支付入口>中查看. |
TradePayMethod | 必填,字符串格式 指定了此交易采用的支付方式,可用值如下: ALP--使用支付宝支付 WXP--使用微信支付 QQP--使用QQ钱包支付 YSP--使用云闪付支付 PPP--使用PAYPAL支付 |
TradePayMode | 必填,字符串格式 指定了此交易的付款模式 QR --通过线上二维码扫码付款(电脑网站场景) H5W --通过H5外部拉起支付宝或微信付款(手机网站,APP场景) H5N --通过H5在支付宝微信内部直接付款(公众号,微信支付宝(群)内场景) MAP --通过支付宝微信小程序进行付款(小程序场景) APP --通过集成支付宝微信客户端SDK在手机APP内付款(手机APP场景) GW --通过网关付款,仅PAYPAL支付时有效 |
TradePrice | 选填,小数格式元为单位,保留两位小数 指示了该交易订单的总金额. 如果设置为custom则表示须由买家输入金额. |
TradeNo | 选填,最大长度18,字符串格式,大小写敏感 此交易的唯一标识,如果不设置此值,那么原力支付服务会自动 根据内部时间戳规则生成此标识并且保证此标识的唯一性. 例如:T20190429161256258 |
TradeName | 选填,最大长度100,字符串格式.UTF8+URL格式编码 此交易的名称文本描述,显示在用户支付界面的交易名称 建议采用尽量简短的文本描述信息. 如果未设置则会根据购买产品自动生成相应合适的交易名称 |
TradeStage | 选填,最大长度50,字符串格式. 此交易是否允许使用分期付款,此参数目前仅在使用支付宝付款时有效.如果未设置此参数表示不允许分期 格式:<分期手续费承担方><下划线><分期期数>. 分期手续费承担方: MCH表示由商家承担分期手续费. GST表示由买家承担分期手续费. 分期期数:目前支持3,6,12期分期. 例子1:TradeStage=MCH_3表示交易分3期付款,由商家承担手续费 例子2:TradeStage=GST_6表示交易分6期付款,由买家承担手续费 |
SubMerchantID | 选填,最大长度12,字符串格式,大小写敏感. 发起此交易的子级商户的标识,交易成功后会对该子级商户进行分账. 如果您没有使用子级商户分账功能则无需填写此参数. 子级商户标识可以在控制台<获得产品支付入口>中查看. |
TradeGuestMobile | 选填,最大长度20,字符串格式.URL格式编码 买家的手机号码,用于在交易时通过发送短信通知买家结果. 如果需要使用短信联动通知交易结果则此参数为必填. |
TradeGuestAddress | 选填,最大长度100,字符串格式,URL格式编码 买家的交易地址,用于在交易付款成功后通过此地址进行发货. 当交易成功后,此地址可以在交易记录查询中被找到并显示 |
TradeGuestRemarks | 选填,最大长度200,字符串格式 买家的交易备注,用于在交易付款成功后通过此了解交易备注 当交易成功后此备注可以在交易记录查询中被找到并显示 |
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://svr.forcepolypay.com/createtrade?MerchantID=MFFFFFFFFF&TradeProduct=P05CF03F29&TradePayMethod=ALP&TradePayMode=H5W&TradeName=我的交易