易收米支付是为微信个人和支付宝个人账户,提供个人收款API支付接口,不挂机、无需提现,官方清算,100%资金安全,成功率高,金额无限制,支持各种网站系统API对接。
注册并开户签约
在我们的 官网首页 注册商户账号,注册成功后开通支付渠道,完成签约获得APPID和SECRET;
支付接口
适用对象:易收米完成签约商户
请求URL:https://www.yishoumi.cn/u/payment
请求方式:POST
请求参数
参数名 | 变量 | 类型[长度] | 必填 | 说明 |
---|---|---|---|---|
通道ID | appid | string[1,32] | 是 | 支付通道ID,由易收米平台生成并下发。 |
订单号 | mch_orderid | string[6,32] | 是 | 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。 |
商品描述 | description | string[1,127] | 是 | 商品描述;商品标题 |
订单金额 | total | int | 是 | 订单总金额,单位为分。 |
支付方式 | payType | int | 是 | 1:微信内;2:微信扫码;3:微信H5;11:支付宝H5;20:聚合码付 |
通知地址 | notify_url | string[1,255] | 是 | 用户支付成功后,平台会发送一个post消息到这个网址通知订单已支付 |
未支付回调地址 | nopay_url | string[1,255] | 是 | 用户未支付、取消支付后,用户跳转到这个网址进行重新进行支付 |
支付成功回调地址 | callback_url | string[1,255] | 是 | 用户支付成功后,让用户自动跳转的网址 |
时间戳 | time | int[10] | 是 | 避免服务器缓存; |
随机值 | nonce_str | string[6,32] | 是 | 避免服务器缓存;防止安全密钥泄露 |
签名 | sign | string[64] | 是 | 必填 |
附加数据 | attach | string[0,32] | 否 | 可作为自定义参数使用。 |
返回参数
参数名 | 变量 | 类型[长度] | 必填 | 说明 |
---|---|---|---|---|
状态码 | code | int | 是 | 请求状态码 |
提示信息 | msg | string[1,32] | 是 | 请求结果提示信息、失败原因 |
订单号 | ordeid | string[6,32] | 是 | 商户订单号,状态码为0返回此参数 |
签名 | sign | string[64] | 是 | hash签名值,状态码为0返回此参数 |
支付URL | url | string[1,255] | 是 | 发起支付的URL,code为0时返回此参数 根据payType参数返回不同的URL,后续引导用户跳转至此链接或生成二维码扫码支付需自行处理 |
HASH签名生成步骤:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特别注意以下重要规则:
1、参数名ASCII码从小到大排序(字典序);
2、如果参数的值为空不参与签名;
3、参数名区分大小写;
4、验证调用返回或微信主动通知签名时,传送的hash参数不参与签名,将生成的签名与该hash值作校验。
5、微信接口可能增加字段,验证签名时必须支持增加的扩展字段
第二步,在stringA最后拼接上AppSecret得到stringSignTemp字符串,并对stringSignTemp进行hash运算,得到sign值(64位小写)。
function sign_hash(array $data, $secret){ ksort($data); reset($data); $str = ''; foreach ($data as $key=>$row){ if($key=='hash' || is_null($row) || $row===''){ continue; } if($str){ $str.='&'; } $str.="$key=$row"; } return hash('sha256', $str.$secret, false); }
请求返回示例:
{ "code":0, "msg":"SUCCESS!", "ordeid":"20230320565397", "sign":"9a40c39a52a1ed3d81c2aaf4c538e6ba87f35528961e68b7f8dae460db1c6f1a", "url":"weixin://wxpay/bizpayurl?pr=l2zzPqFzz" }
{ "code":500, "msg":"签名错误,验签失败!" }
支付成功回调通知:
用户付款成功后,我们会向您在发起付款接口传入的notify_url网址发送通知。您的服务器只要返回内容:success(小写),就表示通知已收到。
如果返回内容不是success(小写),我们会再次尝试通知(通知频率为15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 总计 24h4m)。
注意:是小写的success
传参方式:POST
参数内容:如下表
参数名 | 变量 | 类型[长度] | 说明 |
---|---|---|---|
商户订单号 | mch_orderid | string[6,32] | 支付请求时商户系统内部订单号号 |
订单支付金额 | total_fee | int | 订单支付金额,单位为分。 |
交易号 | transaction_id | string[32] | 微信或支付宝内部订单号 |
平台订单号 | ysm_orderid | string[6,32] | 易收米支付平台内部订单号 |
商品描述 | description | string[1,127] | 商品描述;商品标题 |
订单状态 | state | string[7] | SUCCESS;支付成功才会返回 |
通道ID | appid | string[1,32] | 支付通道ID。 |
支付时间 | success_time | int | 支付成功时间戳 |
时间戳 | time | int | 当前时间戳 |
随机值 | nonce_str | string[6,32] | 避免服务器缓存;防止安全密钥泄露 |
附加数据 | attach | string[0,32] | 请求支付时商户自带数据 |
签名 | sign | string[64] | 必填 |
付款成功自动跳转
用户付款成功后,我们会在先通过notify_url接口,通知您服务器付款成功,然后引导用户跳转到callback_url网址。
易收米支付是为微信个人和支付宝个人账户,提供个人收款API支付接口,不挂机、无需提现,官方清算,100%资金安全,成功率高,金额无限制,支持各种网站系统API对接。
查询接口
适用对象:易收米完成签约商户
请求URL:https://www.yishoumi.cn/u/query
请求方式:POST
请求参数
参数名 | 变量 | 类型[长度] | 必填 | 说明 |
---|---|---|---|---|
通道ID | appid | string[1,32] | 是 | 支付通道ID,由易收米平台生成并下发。 |
商户订单号 | mch_orderid | string[6,32] | 二选一 | 确保在您的网站内是唯一订单号 |
平台订单号 | ysm_orderid | string[6,32] | 支付成功时会返回此字段数据 |
返回参数
参数名 | 变量 | 类型[长度] | 必填 | 说明 |
---|---|---|---|---|
状态码 | code | int | 是 | 请求状态码 |
提示信息 | msg | string[1,32] | 是 | 请求结果提示信息、失败原因 |
订单号 | ordeid | string[6,32] | 是 | 商户或者平台订单号,传的哪个返回哪个 |
订单状态 | state | string[64] | 是 | SUCCESS:支付成功;REFUND:转入退款;NOTPAY:未支付;CLOSED:已关闭 |
请求返回示例:
{ "code":0, "msg":"订单未支付", "ordeid":"20230409843d300b92", "state":"NOTPAY", }
{ "code":404, "msg":"订单不存在!" }
易收米支付是为微信个人和支付宝个人账户,提供个人收款API支付接口,不挂机、无需提现,官方清算,100%资金安全,成功率高,金额无限制,支持各种网站系统API对接。
退款接口
适用对象:易收米完成签约商户
请求URL:https://www.yishoumi.cn/u/refund
请求方式:POST
注:此接口暂不支持聚合码付!
退款不退手续费!!!
请求参数
参数名 | 变量 | 类型[长度] | 必填 | 说明 |
---|---|---|---|---|
通道ID | appid | string[1,32] | 是 | 支付通道ID,由易收米平台生成并下发。 |
商户订单号 | mch_orderid | string[6,32] | 二选一 | 确保在您的网站内是唯一订单号 |
平台订单号 | ysm_orderid | string[6,32] | 支付成功时会返回此字段数据 | |
退款订单号 | refund_no | string[6,32] | 是 | 商户自定义,只能是数字、大小写字母_-*且在同一个商户号下唯一。 |
退款金额 | total_fee | int | 是 | 订单总金额,单位为分。 |
时间戳 | time | int[10] | 是 | 避免服务器缓存; |
随机值 | nonce_str | string[6,32] | 是 | 避免服务器缓存;防止安全密钥泄露 |
签名 | sign | string[64] | 是 | 必填,详见“发起支付API”内签名算法 |
返回参数
参数名 | 变量 | 类型[长度] | 必填 | 说明 |
---|---|---|---|---|
状态码 | code | int | 是 | 请求状态码 |
提示信息 | msg | string[1,32] | 是 | 请求结果提示信息、失败原因 |
商户订单号 | mch_orderid | string[6,32] | 是 | 商户系统内部订单号 |
退款订单号 | refund_no | string[6,32] | 是 | 发起退款时商户自定义的退款订单号 |
退款状态 | state | string[1] | 是 | “N”或“Y”;Y为退款成功;code为0时返回此字段 |
退款金额 | total_fee | string[64] | 是 | 本次商户实际退回金额。单位:元。code为0时返回此字段 |
退款总金额 | refund_fee | string[64] | 是 | 单位:元。指该笔交易累计已经退款成功的金额。code为0时返回此字段;微信退款订单不返回 |
请求返回示例:
{ "code":0, "msg":"退款请求成功", "mch_orderid":"20230409843d300b92", "refund_no":"20230409843d300b92", "state":"Y", "total_fee":"0.01", "refund_fee":"0.02" }
{ "code":40004, "msg":"退款金额无效", "mch_orderid":"20230409843d300b92", "refund_no":"20230409843d300b92", }
易收米支付是为微信个人和支付宝个人账户,提供个人收款API支付接口,不挂机、无需提现,官方清算,100%资金安全,成功率高,金额无限制,支持各种网站系统API对接。
易收米 - 让个人商户收款更容易!