You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PayPal支付完成后如何获取Billing Plan ID?含协议ID查询场景

How to Retrieve PayPal Billing Plan ID After Payment & Troubleshooting with Billing Agreement ID

Hey there, let's break down how to get your Billing Plan ID and fix the issue where you can't pull it using a Billing Agreement ID.


1. Standard Way to Get Billing Plan ID Post-Payment

Once a PayPal payment is completed and the billing agreement is active, the simplest way to fetch the linked Billing Plan ID is by calling PayPal's Billing Agreement Details API:

  • Use the GET /v1/payments/billing-agreements/{agreement_id} endpoint (or GET /v2/billing/agreements/{agreement_id} for the newer v2 API).
  • You'll need a valid access token for your PayPal app (generated via the /v1/oauth2/token endpoint with your client ID and secret).

Here's a quick curl example to test this:

curl -X GET "https://api-m.sandbox.paypal.com/v1/payments/billing-agreements/your-agreement-id-here" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-access-token-here"

In the JSON response, look for the plan object — its id field is exactly the Billing Plan ID you need:

{
  "id": "your-agreement-id",
  "plan": {
    "id": "your-target-plan-id",
    "name": "Your Plan Name",
    // Other plan details...
  },
  // Other agreement details...
}

2. Troubleshooting: Can't Get Plan ID from Billing Agreement ID

If you're hitting a wall with the above method, here are common fixes to try:

  • Check API Permissions: Ensure your PayPal app has the billing_agreements:read (for v1) or billing.agreements.read (for v2) permission enabled. Without this, the API will restrict access to plan details.
  • Verify Agreement Status: Make sure the billing agreement is in an ACTIVE state. If it's still CREATED or APPROVED but not yet activated post-payment, the plan link might not be fully populated.
  • Use the Correct API Version: Older API versions might not return the plan ID in the agreement response. Switch to the latest v1 or v2 endpoint to get the full data.
  • Local Mapping (Preventative Fix): If you're the one creating the billing agreement, save a mapping of agreement_idplan_id in your database when you first set up the agreement. This avoids needing to call the PayPal API later entirely.

If none of these work, reach out to PayPal's developer support with your agreement ID — there could be a rare data sync issue or account-specific configuration blocking the data from being returned.


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

火山引擎 最新活动