Paypal预付款及付款捕获
背景#
需求:
- 公司是做共享充电宝业务的,前段时间公司要求我做一个 H5 版的 Paypa 预付款功能来满足现有的业务需要。
业务场景:
- 付款在用户借出充电宝之前,需要用户授权一笔费用当做用户支付的押金,这笔押金不会超过充电宝本身的价值,我们设定的是 5 美元,这笔押金由 Paypal 扣款,但钱不会立即打入公司账户,而是在订单完成后打入公司账户中,如果实际的订单金额小于预支付的押金,将退还差额。
实现#
- 首先需要申请一个 Paypal 账号,请自行百度,并做好相关设置,参考 Paypal 授权登录流程及实现
- 这里选择使用过 REST APIs
那么现在我们来开始:
1. 创建订单
需要注意的是,创建订单,将请求正文中的intent设定为AUTHORIZE,文档中显示这样会在客户付款后授权付款并暂停资金,3天内有效,下面是我的例子:
2. 用户授权订单
在创建订单完成后的返回中,我们可以看到
内部跳转至该页面,完成用户对订单的授权。该页面是paypal获取用户授权的页面,在创建订单时填写return_url,在授权成功后跳转至该页面,一般为前台页面
3. 授权订单付款
返回如下:
我的请求如下:
注意,该步骤需要获取 authorization_id
4. 获取授权付款
我的请求如下:
如果你到了这一步,完成后查看你的测试账户是否有成功扣款,可能会有一点延迟,多刷新几次页面
因为我用的是沙盒环境,正式环境下请参看官方文档修改部分参数。
如果有遇到和我同样需求且遇到困难的朋友,请私信我,我会及时回复
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: