如何在PHP中使用PayPal V2创建订单并提取approve支付链接?
PayPal V2 API 创建订单:差异区分与付款链接提取指南
V1与V2 API核心差异
- 端点路径:V1使用
/v1/payments/orders,V2统一为/v2/checkout/orders,路径更聚焦结账业务流程 - 响应结构:V2将所有操作链路(授权、捕获、查询等)统一放在
links数组中,而V1的付款跳转链接以approval_url字段直接返回 - 流程设计:V2采用「创建订单→捕获资金」的两步式流程,比V1的「授权→捕获」更贴合当前电商结账逻辑,减少冗余步骤
正确提取付款跳转(approve)链接的方法
PayPal V2创建订单的成功响应里,links数组会包含多个操作链接,其中rel值为approve的就是引导用户跳转至PayPal完成付款授权的URL。以下是PHP中提取该链接的代码示例:
// 假设$curlResponse是cURL获取到的API原始响应字符串 $orderInfo = json_decode($curlResponse, true); // 遍历links数组筛选approve链接 $approveUrl = ''; foreach ($orderInfo['links'] as $linkItem) { if ($linkItem['rel'] === 'approve') { $approveUrl = $linkItem['href']; break; } } // 跳转至PayPal付款页面 if ($approveUrl) { header("Location: {$approveUrl}"); exit; } else { die('无法获取PayPal付款授权链接'); }
注意事项
- 必须将JSON响应转为关联数组(
json_decode第二个参数设为true),否则无法通过键名访问links和rel字段 - PayPal返回的
rel值为小写字符串,判断时注意不要写错大小写 - 如果未找到
approve链接,先检查API请求是否使用了V2的正确端点,以及请求参数是否符合V2的格式要求
内容的提问来源于stack exchange,提问作者DaTZcodie
相关产品推荐
相关产品推荐

