友支付
友支付,是帮助友好速搭的应用开发者,在应用中提供增值业务时,可以直接使用的代收款设施。使用流程图如下:

使用过程如下
1.启用友支付
登录友好速搭合作伙伴后台,在左侧点击友支付,可以看到用于支付的 AppId 与 AppKey

请妥善保管 AppId 与 AppKey,该两项用于加密支付参数以及验证支付结果.
2.准备支付参数
| 字段名 | 说明 | 必须 |
|---|---|---|
| appid | 在友好速搭合作伙伴后代获取到的友支付 AppId | 是 |
| order_no | 该笔支付请求的编号 | 是 |
| amount | 支付金额,单位为分 | 是 |
| pay_type | 支付方式,友支付支持多种支付方式,具体列表见附录 | 是 |
| bank_code_id | 银行代码 | 见附录 |
| notify_url | 通知地址 | 是 |
| expired_at | 支付过期时间,格式为 YYYY-MM-DDTHH:mm:ss | 是 |
| sign | 签名 | 是 |
拼接后的参数如下
appid=B4O4MQ****&order_no=75b1559856a240a88****&amount=1&pay_type=alipay¬ify_url=http://yournotifyurl.com&expired_at=2016-03-07T11:04:46&sign=98b35bfa2173cc57d0db8f90c902a7ec
3.跳转到支付页面
拼接好支付相关参数之后,就可以通过友支付跳转至相关支付页面
https://www.youhaosuda.com/youpay?appid=B4O4MQ****&order_no=75b1559856a240a88****&amount=1&pay_type=alipay¬ify_url=http://yournotifyurl.com&expired_at=2016-03-07T11:04:46&sign=98b35bfa2173cc57d0db8f90c902a7ec
4.接收通知
在用户完成支付后,友支付会发起 POST 请求至参数中 notify_url 所填的地址,其参数如下:
| 字段名 | 说明 |
|---|---|
| appid | 在友好速搭合作伙伴后代获取到的友支付 AppId |
| order_no | 该笔支付请求的编号 |
| amount | 支付金额,单位为分 |
| pay_type | 用户所选择的支付方式 |
| bank_code_id | 银行代码 |
| notify_url | 通知地址 |
| expired_at | 支付过期时间,格式为 YYYY-MM-DDTHH:mm:ss |
| is_success | 支付是否成功 |
| sign | 签名 |
如:
http://yournotifyurl.com/?appid=B4O4MQ****&order_no=75b1559856a240a88****&amount=1&is_success=true&pay_type=alipay¬ify_url=http://yournotifyurl.com&expired_at=2016-03-07T12%3A11%3A27&sign=5e9613c93ffe08c36fef675b64a277d5
为了验证该次请求是否是友支付发出,你需要剔除 sign 参数后,用其它参数与 AppKey 字符串拼接后的 MD5 结果与 sign 的值做匹配,若一致,则说明该次请求是友支付发起。
附录
签名
跳转支付和接受支付回调都需要用到签名,签名生成步奏如下:
筛选参数。如果是回调则要剔除sign参数,存在空值的参数必须剔除。
排序参数。在参数集合中,根据参数(不是参数对应的值)的第一个字符的键值ASCII码递增排序,如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。
拼接参数。在参数集合中,把每个参数及其值组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来。例如:
amount=1&appid=LQHENL4ILNQ1&expired_at=2016-4-2T14:19:00¬ify_url=http://yournotifyurl.com&order_no=TEST0001732&pay_type=wppayf5e4572a00f54253b08b02066a3d5401把 AppKey 拼接在待签名字符串尾部。例如:
amount=1&appid=LQHENL4ILNQ1&expired_at=2016-4-2T14:19:00¬ify_url=http://yournotifyurl.com&order_no=TEST0001732&pay_type=wppayf5e4572a00f54253b08b02066a3d5401调用md5加密函数,对已经与MD5密钥拼接好的新字符串做加密运算。例如,上一步加密结果:
894da0b00087088ad10f8544d5477166
支持的支付方式
| 支付方式 | 值 | 必须银行代码 |
|---|---|---|
| 微信支付 | wppay | × |
| 支付宝(即时到帐) | alipay | × |
| 支付宝(手机网站) | alipay_wap_user | × |
| 支付宝(网银直联) | alipay_bank | √ |
支持的银行代码
| 银行 | 代码 | 支持支付宝 | 支持财付通 |
|---|---|---|---|
| 中国银行 | 1 | √ | √ |
| 中国工商银行 | 2 | √ | √ |
| 中国建设银行 | 3 | √ | √ |
| 中国农业银行 | 4 | √ | √ |
| 招商银行 | 5 | √ | √ |
| 上海浦东发展银行 | 6 | √ | √ |
| 兴业银行 | 7 | √ | √ |
| 广东发展银行 | 8 | √ | × |
| 中国民生银行 | 9 | √ | √ |
| 中信银行 | 10 | √ | √ |
| 杭州银行 | 11 | √ | × |
| 中国光大银行 | 12 | √ | √ |
| 上海银行 | 13 | √ | √ |
| 宁波银行 | 14 | √ | × |
| 平安银行 | 15 | √ | √ |
| 北京农村商业银行 | 16 | √ | × |
| 富滇银行 | 17 | √ | × |
| 中国邮政储蓄银行 | 18 | √ | √ |
| 交通银行 | 19 | × | √ |
| 华夏银行 | 20 | × | √ |
| 北京银行 | 21 | × | √ |