微学堂

您的专业营销顾问!

华夏跨境通对接汇聚支付

华夏网络  |  2016-12-27 08:52:59

  • 产品简介

汇聚支付的在线支付产品,可以让消费者在您的网上商城安全、便捷地购买产品或享受服务,并且您也可以更及时地了解款项的到帐情况。

产品协议说明
Ø 支付请求是HTTP 协议请求,商户以GET 或POST 方式发送到汇聚支付。
Ø 汇聚支付统一使用utf-8编码方式。
Ø 请求参数列表必填/选填。
Ø 参数名称和参数说明中规定的固定值必须与列表中完全一致(大小写敏感)。
 

  • 数据交互
  • (1) 构造请求数据
    商户根据汇聚支付提供的接口规则,通过程序生成得到签名结果及要传输给汇聚支付的数据集合。
    (2) 发送请求数据
    把构造完成的数据集合,通过页面链接跳转或表单提交的方式传递给汇聚支付。
    (3) 对请求数据进行处理
    汇聚支付得到这些集合后,会先进行安全校验等验证,一系列验证通过后便会处理这次发送过来的数据请求。

  • 返回处理的结果数据
  • 对于处理完成的交易,汇聚支付会以两种方式把数据反馈给商户网站。程序上自动进行重新构造URL地址链接,在用户当前页面上通过自动跳转的方式跳回商户在请求时设定好的页面路径地址。

  • 对返回数据进行处理
  • 商户收到汇聚支付返回的结果数据后,可以结合自身网站的业务逻辑对数据进行处理。
     
    图3-1 交互模式图
     

  • 接口说明
  • 支付接口
  • 业务功能
  • 买家在商户网站拍下商品后,选择汇聚支付进行付款,商户系统调用汇聚支付的支付接口,页面跳转到汇聚支付网关,买家选择支付方式后,根据用户选择的支付方式完成支付。用户支付成功后,汇聚支付把用户引导回商户页面(p7_ReturnUrl),同时服务器后台通知商户服务器(p8_NotifyUrl)支付结果。
     
    图4-1 支付接口图

  • 交互模式
  • 请    求:页面跳转交互模式。
    返回结果:页面跳转交互模式。
    通    知:后台通知交互模式。

  • 请求参数列表
  • 表4-1 请求参数列表
    参数名称 参数含义 参数说明 是否必填 长度 签名顺序
    p1_MerchantNo 商户编号 商户在支付平台系统的唯一身份标识。 X(15) 1
    p2_OrderNo 商户订单号 商户系统提交的唯一订单号。 X(30) 2
    p3_Amount 订单金额 单位:元,精确到分,保留两位小数。例如:10.23。 D(16,2) 3
    p4_Cur 交易币种 默认设置为1(代表人民币)。 X(10) 4
    p5_ProductName 商品名称 用于支付时显示在支付平台网关上的订单产品信息。 X(60) 5
    p6_Mp 公用回传参数 如果商户请求时传递了该参数,则返回给商户时会原值传回。 X(200) 6
    p7_ReturnUrl 商户页面通知地址 汇聚支付处理完请求后,处理结果页面跳转到商户网站里指定的http地址。 X(300) 7
    p8_NotifyUrl 服务器异步通知地址 汇聚支付系统主动通知商户网站里指定的http地址。 X(300) 8
    p9_FrpCode 银行编码 可设置为空,非空时代表直连银行。银行编码值请参考附录7.2银行编码。
    直连银行相关内容请参见6.1直连银行。
    为空,跳转到汇聚支付网关,还可选择扫码支付。
    X(50) 9
    pa_OrderPeriod 订单有效期 支付订单的有效期(单位为小时),可以为空,为空时默认为24小时。 D(5) 10
    pb_PayerLoginName 付款人在平台的登录账号 保留字段,默认为空。 X(30) 11
    pz1_PayerName 付款人名称 付款人姓名。 X(50) 12
    pz2_PayerBankAccountNo 付款人银行帐号 付款人银行帐号。 X(50) 13
    pz3_PayerIdNo 付款人证件号码 付款人身份证号码或收货人身份证号码(与付款人姓名保持一致)。 X(30) 14
    pz4_PayerPhone 付款人手机号码 付款人手机号码。 X(20) 15
    pc1_SubmitCustoms 是否报送海关 1:报送。 X(1) 16
    pc2_CustomsNo 海关编号 参照海关关区代码表。 X(30) 17
    pc3_FunctionCode 申报类型 BOTH X(10) 18
    pc4_TmallCode 电商平台代码 电商平台代码。 X(50) 19
    pc5_TmallName 电商平台名称 电商平台名称。 X(200) 20
    pc6_PayGoodsAmount 支付货款 不填默认为支付金额。 D(16,2) 21
    pc7_PayGoodsAmountCurr 支付货款币制 参照币制代码表,不填默认CNY(人民币)。 X(3) 22
    pc8_PayTaxAmount 支付税款 不填默认为0。 D(16,2) 23
    pc9_PayTaxAmountCurr 支付税款币制 参照币制代码表,不填默认CNY(人民币)。 X(3) 24
    pc10_Freight 支付运费 不填默认为0。 D(16,2) 25
    pc11_FreightCurr 支付运费币制 参照币制代码表,不填默认CNY(人民币)。 X(3) 26
    hmac 签名数据 参见5签名机制。 X(4000)  

  • 应答和通知参数列表
  • 汇聚支付处理完支付订单后,会将处理的结果数据通过客户端页面跳转的方式通知给商户网站(参数p7_ReturnUrl),同时也可以通过后台主动通知的方式通知给商户网站(参数p8_NotifyUrl)。
    页面跳转返回结果和后台通知中的参数一致,包含如下内容:
    表4-2 应答和通知参数列表
    参数名称 参数含义 参数说明 是否必填 长度 签名顺序
    r1_MerchantNo 商户编号 商户在支付系统的唯一身份标。 X(15) 1
    r2_OrderNo 商户订单号 支付平台返回商户订单号。 X(30) 2
    r3_Amount 支付金额 单位:元,精确到分,保留两位小数。例如:10.23 D(16,2) 3
    r4_Cur 交易币种 默认设置为1(代表人民币)。 X(10) 4
    r5_Mp 公用回传参数 商户请求时传递了该参数,则返回给商户时会原值传回。 X(200) 5
    r6_Status 支付状态 100:支付成功;
    101:支付失败。
    X(10) 6
    r7_TrxNo 交易流水号 支付平台生成的流水号。 X(20) 7
    r8_BankOrderNo 银行订单号 支付平台生成的提交给银行的订单号。 X(20) 8
    r9_BankTrxNo 银行流水号 银行返回的流水号。 X(30) 9
    ra_PayTime 支付时间 格式:YYYY-MM-DD hh:mm:ss。 X(20) 10
    rb_DealTime 交易结果通知时间 格式:YYYY-MM-DD hh:mm:ss。 X(20) 11
    rc_BankCode 支付渠道编码 该笔交易使用的支付渠道,如果使用的是汇聚支付账户余额支付,则返回ACCOUNT_BALANCE_PAY;如果是网上银行支付,请参见7.2银行编码。 X(10) 12
    hmac 签名数据 参见5签名机制。 X(4000)  
  • 商户返回确认信息
  • 商户收到应答参数,在校验通过后需要给支付平台返回一个字符串“success”。

  • 订单查询接口
  • 业务功能
  • 根据商户订单号查询该商户订单在汇聚支付平台的支付结果。
     
    图4-2 订单查询接口图

  • 交互模式
  • 后台系统调用交互模式。

  • 请求交易入口
  • https://www.joinpay.com/trade/queryOrder.action
    测试环境以及生产环境请求地址请向技术人员索取。

  • 请求参数列表
  • 表4-3 请求参数列表
    参数名称 参数含义 参数说明 是否必填 长度 签名顺序
    p1_MerchantNo 商户编号 商户在支付平台系统的唯一身份标识。 X(15) 1
    p2_OrderNo 商户订单号 合作商户提交的唯一订单号。 X(30) 2
    hmac 签名数据 参见5签名机制。 X(4000)  
  • 应答参数列表
  • 数据按JSON数据流的格式实时返回:
    表4-4 应答参数列表
    参数名称 参数含义 参数说明 是否必填 长度 签名顺序
    r1_MerchantNo 商户编号 商户在支付系统的唯一身份标。 X(15) 1
    r2_OrderNo 商户订单号 支付平台返回商户订单号。 X(30) 2
    r3_Amount 支付金额 单位:元,精确到分,保留两位小数。例如:10.23。 D(16,2) 3
    r4_ProductName 商品名称 此笔订单对应的商品名称。 X(10) 4
    r5_TrxNo 平台支付流水号 支付平台生成的流水号。 X(60) 5
    ra_Status 订单状态 100:成功,101:失败,102:已创建,103:已取消。 X(20) 6
    rb_Code 响应码 参见7.1响应码。 X(20) 7
    rc_CodeMsg 响应码描述 参见7.1响应码。 X(10) 8
    hmac 签名数据 参见5签名机制。 X(4000)  
  • 退款接口
  • 业务功能
  • 商户针对某一个已经成功支付的订单发起退款,操作结果在同一会话中同步返回。
     
    图4-3 退款接口图

  • 退款方式
  • 交易订单信息中的银行类型和交易类型确定退款方式,退款方式则确定资金退到银行卡或者汇聚支付账号。
    1、如果为银行卡支付时(借记卡或者贷记卡),则退款到支付时所用的银行卡;
    2、如果是汇聚支付账户支付,则退款到买家汇聚支付账号,商户的账户余额减少。
    说明:退款到汇聚支付的支付账号是实时到账;退款到银行卡则是非实时的,取决于各家银行的退款处理速度,一般为发起退款后1-10个工作日内到账。

  • 退款限制
  • 商户在退款操作时应该注意退款限制,避免发起不会成功的退款请求,下面是主要的退款限制:
    要求退款累计金额不超过交易订单支付总额,一笔交易单可以多次退款;退款订单号(退款接口中有此参数)唯一确定一次退款,而不是交易单号确定一次退款。退款订单号由商户生成,所以商户一定要保证退款申请单的唯一性。商家在退款过程中要特别注意,只有在能确定退款失败的情况下,才能重新发起另一笔退款。

  • 交互模式
  • 后台系统调用交互模式。

  • 请求交易入口
  • https://www.joinpay.com/trade/refund.action

  • 请求参数列表
  • 表4-5 请求参数列表
    参数名称 参数含义 参数说明 是否必填 长度 签名顺序
    p1_MerchantNo 商户编号 商户在支付平台中的唯一标识。 X(15) 1
    p2_OrderNo 商户原支付订单号 对应支付请求时合作商户提交的唯一订单号。 X(30) 2
    p3_RefundOrderNo 商户退款订单号 商户业务平台生成的退款订单号,同一个商户订单号不可重复,长度不超过30个字符。 X(30) 3
    p4_RefundAmount 退款金额 单位元,保留两位小数,格式如1.00 D(16,2) 4
    p5_RefundReason 退款原因描述 描述退款原因。 X(400) 5
    hmac 签名数据 参见5签名机制。 X(4000)  
  • 应答参数列表
  • 表4-6 应答参数列表
    参数名称 参数含义 参数说明 是否必填 长度 签名顺序
    r1_MerchantNo 商户编号 商户在支付平台中的唯一标识。 X(15) 1
    r2_OrderNo 原支付商户订单号 对应支付请求时合作商户提交的唯一订单号。 X(30) 2
    r3_RefundOrderNo 商户退款订单号 合作商户提交的退款订单号。 D(16,2) 3
    r4_RefundAmount 退款金额 单位元,保留两位小数,格式如1.00。
    退款成功时返回实际退款的金额,退款失败时返回退款申请订单时的金额。
    D(16,2) 4
    ra_Status 退款申请状态 100:成功,
    101:失败 。
    X(20) 5
    rb_Code 响应码 参见7.1响应码。 X(20) 6
    rc_CodeMsg 响应码描述 参见7.1响应码。 X(10) 7
    hmac 签名数据 参见5签名机制。 X(4000)  

  • 签名机制
  • 为了保证数据传输过程中的数据真实性和完整性,我们需要对请求和返回数据进行签名,在接收签名数据之后进行签名校验。
    签名按照参数的签名顺序将参数的值拼接后将密钥拼接在后面,生成签名的原始串,再按照相应的加密方法进行加密计算出签名的结果。

  • 待签名字符串
  • 无论是请求还是应答,都按照以下方式拼接待签名字符串:
    1、除hmac字段外,所有参数按照文档要求的顺序设值,并参与拼接待签名字符串。
    2、在待签名字符串中,字段名和字段值都采用原始值,不进行URL Encode。

相关文章

more+