You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PayPal API v2标记发票为已支付:recordBody构建问题及解决

PayPal 发票标记已支付(recordPayment)接口的文档问题及正确请求体

我通过PayPal管理多服务订阅支付的流程如下:

  • 创建包含各服务订阅项的Checkout Order
  • 在授权支付完成后的返回URL中捕获订单款项
  • 监听Webhook,处理三类事件:BILLING.PLAN.CREATED、CHECKOUT.ORDER.APPROVED、PAYMENT.CAPTURE.COMPLETED

在调用invoice->recordPayment接口标记发票为已支付时,遇到了请求体构建的问题:

  • 按照官方文档使用payment_id参数,多次尝试均返回RESOURCE_NOT_FOUND错误
  • 尝试仅传入payment_date和transaction_id,又因缺失method参数触发INVALID_REQUEST错误

最终发现官方invoicing/invoice/{id}/record-payment文档存在错误,正确的请求体写法如下:

$recordBody = [
    "payment_date" => date("Y-m-d"),
    'amount' => [
        'currency_code' => 'EUR',
        'value' => number_format($total, 2, '.', '')
    ],
    'method' => 'PAYPAL',
    'transaction_id' => $event['resource']['id'], // 官方文档未记录此参数
//        'payment_id' => $event['resource']['id'], // 官方文档标注的无效参数
];

内容的提问来源于stack exchange,提问作者Ephraim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 07:53:16