单笔订单退款申请接口

描述

街口支付平台系统为外部商户提供了根据商户流水号退款请求的接口,退款时支持部分退款,每笔交易允许部分退款,但不允许超过原订单金额,每次每笔申请退款产生的手续费由商户承担。

 

退款接口参数定义

根据商户流水号发起退款申请,需要人工审核后决定是否退款, 调用API必须遵循以下参数规则:

参数 格式 必填 说明
merchant_code String(15) 商家号,商户签约时分配给商家的唯一身份标识。
interface_version String(5) 接口版本,固定值:V1.0(大写)
sign_type String(3) 签名类型,固定值:MD5或RSA(大写)
order_no String(30) 商家网站平台的订单流水号,由商户保证其唯一性,由字母、数字、下划线组成。
ref_amount Number 退款金额,以元为单位,精确到小数点后两位.例如:12.01
ref_desc String(30) 退款原因描述。
sign String

MD5或RSA签名后字符串,不参与签名,查询订单接口签名要求说明请参考下面。

订单退款签名规则

商户退款街口支付平台订单,签名原始串必须遵循以下规则:

1、所有指定签名参数值按照(parmValue1+~|~+parmValue2+~|~+parmValue3+…)拼接而成,每个参数值中间采用分隔符 ~|~ 拼接。

2、签名原始串中,字段名和字段值都采用原始值,不进行URL Encode。

3、参数值区分大小写。

4、签名排列顺序必须按照指定格式排列拼接。见下文。


订单退款请求签名原始串

post 请求 退款订单原始签名串格式如下:

请求订单退款原始签名串街口支付

  1. merchant_code+"~|~"+interface_version+"~|~"+sign_type+"~|~"+order_no"~|~"+ref_amount

商户算法签名模型设置为MD5时,采用下面签名算法样例。

MD5退款请求签名街口支付

  1. sign = Md5(订单退款请求签名原始串+"~|~"key=商户MD5密钥)

商户算法签名模型设置为RSA时,采用下面签名算法样例。

请求退款RSA签名算法街口支付

  1. Java:
  2. sign = RSAWithSign.signByPrivateKey(订单退款请求签名原始串,商户生成的私钥)
  3.  
  4. PHP:
  5. $privatekey = openssl_get_privatekey('商户生成的私钥');
  6. openssl_sign(请求订单退款原始签名串,$sign_info,$privatekey,OPENSSL_ALGO_MD5);
  7. $sign = base64_encode($sign_info);