PayPal API V1转V2:如何实现无购物车的账户充值交易执行
PayPal API V2 替代V1
payments/payment/{payment_id}/execute 实现账户充值方案 V1中/v1/payments/payment/{payment_id}/execute的核心功能是执行已用户授权的付款交易,在V2 API中,这一逻辑由Orders API的订单捕获流程完全替代,无需依赖购物车即可实现账户充值,具体步骤如下:
1. 创建无购物车的充值订单
调用V2的订单创建接口,仅指定充值金额,无需传入商品明细:
curl -v -X POST https://api-m.paypal.com/v2/checkout/orders \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -d '{ "intent": "CAPTURE", "purchase_units": [ { "amount": { "currency_code": "USD", "value": "100.00" // 替换为实际充值金额 } } ] }'
返回结果中的id字段即为订单ID(对应V1的payment_id)。
2. 用户授权订单
通过PayPal前端SDK引导用户完成授权(跳转至PayPal页面登录确认付款),授权完成后即可进行下一步操作。
3. 捕获订单(对应V1的execute操作)
调用订单捕获接口,完成资金划转:
curl -v -X POST https://api-m.paypal.com/v2/checkout/orders/{order_id}/capture \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <ACCESS_TOKEN>"
捕获成功后,资金会直接进入你的PayPal账户,完全匹配V1 execute接口的核心功能。
关键说明
- V2中没有与V1
execute同名的接口,但Orders API的捕获流程是官方推荐的替代方案,功能完全一致。 - 无需购物车的场景下,创建订单时仅需配置
amount字段,无需设置items相关内容。
内容的提问来源于stack exchange,提问作者CommanderDonkey
相关产品推荐
相关产品推荐

