如果配置了交易支付HTTP联动设置,当买家完成对订单货款支付后,原力支付服务会向指定的目标发送HTTP协议的通知数据,报告订单支付结果情况
取决于您的HTTP联动设置中所配置的服务器地址和端口
请注意确保防火墙设置已经允许通过该网络地址端口进行访问.
您可在原力支付客户端<交易联动设置><HTTP联动设置>中配置此参数
取决于您的HTTP联动设置中所配置的服务器ACTION
您可在原力支付客户端<交易联动设置><HTTP联动设置>中配置此参数
MerchantID | 商户的标识,标识了该交易订单的所属商家. 更多商户标识可以在控制台<获得产品支付入口>中查看. |
SubMerchantID | 子级商户的标识,标识了发起交易的所属子级商户,返回ROOT表示这是由主商户发起的交易. 更多商户标识可以在控制台<获得产品支付入口>中查看. |
TradeProduct | 产品的标识,标识了该交易订单的对应产品. 如果是多产品合并支付的交易,则会返回多个产品标识,用","号分割 更多产品标识可以在控制台<获得产品支付入口>中查看. |
TradeQuantity | 产品的数量,指示了该交易订单的对应产品购买数量. 如果是多产品合并支付的交易,则会返回多个产品数量,用","号分割 |
TradeNo | 此交易的订单号 |
TradeName | 此交易的名称,UTF8+URLEncode编码 |
TradePromotion | 此交易的优惠,UTF8+URLEncode编码 |
TradeAmount | 指示了该交易订单的总金额,您总应该验证此交易金额是否正确无误,避免资损. |
TradeBeginTime | 指示了该交易的发起时间 |
TradeEndinTime | 指示了该交易的完成时间 |
TradeStatus | 指示了该交易的状态,可能值如下: TRADE_WAIT --等待付款 TRADE_CANCEL --取消交易 TRADE_SUCCESS --交易成功,即已经付款 TRADE_FAILED --交易失败 TRADE_OTHER --其他 |
TradeGuestMobile | 买家的手机号码,用于在交易时通过发送短信通知买家结果. 这个参数实际上是在创建交易时候传入的,如果未传则为空 |
TradeToken | 如果交易成功,则返回此交易的凭据,这个凭据可在交易退款业务中使用 此凭据即支付宝微信的交易流水单号 |
TradeBuyer | 买家的唯一标识 这个唯一标识将在转账或分账操作中被使用. 如有需要您应该维护此唯一标识与用户的对应关系 *可以创建一个0.1元的支付链接,当客户支付后即可获取自己唯一标识. 支付宝的唯一标识是2088开头的,微信的唯一标识是28位字符串 |
TradeCustomParam | 交易的自定义数据,在这个参数中保存着您的业务参数. 如果您设置了交易完成时使用HTTP联动通知,则此参数会在 HTTP联动通知回调中进行回传. |
TradeTimestamp | 交易通知的时间戳 |
TradeSignMode | 此交易通知的签名模式,支持的签名模式有如下: NULL --无签名 MD5 --使用MD5进行简单签名 RSA_SHA256 --使用基于RSA非对称加密的SHA256签名算法,非常安全 |
TradeSignature | 此交易通知的签名数据体.签名数据体是用商户的私钥对通知数据进行签名的, 只有商户对应的公钥才能验签通过,具体验签方法请看交易MD5验签算法 交易RSA_SHA256验签算法 |
如果已经成功处理了此通知,您应该返回HTTP状态码200和OK(Response.Write OK)
如果未返回如上应答,原力支付服务会在5分钟之内以10秒一次的间隔重新发送此通知,直到通知被正确响应为止
此通知用于在交易完成时候向您的其他业务系统发送通知,以便能够进一步对交易支付进行处理.
交易通知的数据分为两种格式,这取决于您在HTTP联动设置中所设置的格式.
一种是HTTP FORM表单格式(application/x-www-form-urlencoded),一种是JSON格式(application/json)
当交易成功或失败时,可能会收到多次相同TradeNo交易完成通知,所以您应该检查此通知的TradeNo是否之前已经处理过了,避免多次收单发货而导致资损.
注意在接收回调之前请确保防火墙访问放行,系统会以Referer:FORCEPOLYPAY投递回调通知
(重要)为了保证交易通知的安全性,防止其他人假冒原力支付系统向您发送支付成功的通知,
您应该通过TradeSignMode,TradeSignature对通知数据进行验签.具体验签实现方法请阅读下面<验签算法>说明.
*您还应该总是验证TradeAmount此交易金额是否正确无误,避免交易金额被修改少付导致资损.
另外您也可以启动支付服务后通过访问http://host
<支付服务地址端口>/tradesignpage.csp 手工输入参数进行验签,同时可以观察验签步骤.此外原力支付系统还提供了<通知验签接口> 您可以通过使用此接口来进行验签.
您也可以选择使用ForcePaySDK,调用本地接口来完成验签