如何按日期而非ID获取PayPal批量付款列表?
获取PayPal批量付款列表及payoutId的解决方案
一、无payoutId时获取批量付款列表的方法
PayPal的Payouts API支持按日期范围等条件查询批量付款列表,无需提前知晓payoutId。你需要调用GET /v1/payments/payouts接口,通过请求参数过滤结果:
- 核心参数说明:
start_time:查询起始时间,格式需遵循ISO 8601(示例:2024-01-01T00:00:00Z)end_time:查询结束时间,同样使用ISO 8601格式status:可选参数,可过滤特定状态的批量付款(如SUCCESS、FAILED、PROCESSING)page_size:可选参数,控制单页返回的记录数量,最大值为100page:可选参数,用于分页查询的页码
示例curl请求:
curl -v -X GET https://api-m.paypal.com/v1/payments/payouts?start_time=2024-01-01T00:00:00Z&end_time=2024-06-01T23:59:59Z \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
接口返回结果中会包含每条批量付款的payout_batch_id(即你需要的payoutId),同时附带该批次的状态、创建时间、总金额等信息,后续可使用此ID调用详情接口获取具体付款记录。
二、获取payoutId的其他途径
若因权限或其他问题无法调用列表接口,还可通过以下方式获取payoutId:
- PayPal商家后台:登录商家账号后,进入「批量付款」或「付款记录」板块,找到目标批量付款记录,查看详情即可找到
payout_batch_id - 创建批量付款的返回值:如果你的应用同时负责发起批量付款,调用
POST /v1/payments/payouts创建批次时,接口响应会直接返回payout_batch_id,需将此ID存入数据库备用 - Webhook通知:配置PayPal的Payouts相关Webhook事件(如
PAYOUTS-BATCH.COMPLETED),当批量付款状态更新时,PayPal会推送包含payout_batch_id的通知到你的回调地址,可从中提取并存储该ID
三、关键注意事项
- 确保OAuth授权请求中包含正确的权限范围:必须申请
payouts_read权限,否则调用列表接口会返回权限不足的错误 - 沙箱环境与生产环境的接口域名不同:沙箱使用
api-m.sandbox.paypal.com,生产环境使用api-m.paypal.com,需注意区分
内容的提问来源于stack exchange,提问作者floyergilmour
相关产品推荐
相关产品推荐

