Paypal API
  1. Subscriptions
Paypal API
  • Authorization
    • Generate access_token
      POST
    • Terminate access_token
      POST
    • User Info
      GET
    • Generate client_token
      POST
  • Orders
    • Create order
      POST
    • Show order details
      GET
    • Update order
      PATCH
    • Authorize payment for order
      POST
    • Capture payment for order
      POST
  • Payments
    • Show details for authorized payment
      GET
    • Reauthorize authorized payment
      POST
    • Void authorized payment
      POST
    • Capture authorized payment
      POST
    • Show captured payment details
      GET
    • Refund captured payment
      POST
    • Show refund details
      GET
  • Invoices
    • Invoices
      • Generate invoice number
      • Create draft invoice
      • Show invoice details
      • List invoices
      • Generate QR code
      • Fully update invoice
      • Send invoice
      • Send invoice reminder
      • Cancel sent invoice
      • Delete invoice
      • Search for invoices
      • Record payment for invoice
      • Delete external payment
      • Record refund for invoice
      • Delete external refund
    • Templates
      • List templates
      • Create template
      • Show template details
      • Fully update template
      • Delete template
  • Subscriptions
    • Catalog Products
      • Create product
      • List products
      • Show product details
      • Update product
    • Plans
      • Create plan
      • List plans
      • Show plan details
      • Update plan
      • Deactivate plan
      • Activate plan
      • Update pricing
    • Subscriptions
      • Create subscription
        POST
      • Show subscription details
        GET
      • Update subscription
        PATCH
      • Revise plan or quantity of subscription
        POST
      • Suspend subscription
        POST
      • Activate subscription
        POST
      • Cancel subscription
        POST
      • Capture authorized payment on subscription
        POST
      • List transactions for subscription
        GET
  • Payouts
    • Create batch payout
    • Show payout batch details
    • Show payout item details
    • Cancel unclaimed payout item
  • Webhooks
    • List available events
    • Create webhook
    • List webhooks
    • Show webhook details
    • List event notifications
    • List event subscriptions for webhook
    • Show event notification details
    • Trigger a sample event
    • Verify webhook signature
    • Resend event notification
    • Simulate webhook event
    • Update webhook
    • Delete webhook
  • Shipment Tracking
    • Add tracking information for multiple PayPal transactions
    • Show tracking information
    • Update or cancel tracking information for PayPal transaction
  • Transaction Search
    • List transactions
    • List all balances
  • Disputes
    • List disputes
    • Show dispute details
    • Accept claim
    • Appeal dispute
    • Settle dispute
    • Update dispute status
    • Make offer to resolve dispute
    • Provide evidence
    • Acknowledge returned item
    • Provide supporting information for dispute
    • Escalate dispute to claim
    • Accept offer to resolve dispute
    • Send message about dispute to other party
    • Deny offer to resolve dispute
    • Partially update dispute
  • Onboarding (Limited Release)
    • Manage Accounts
      • Create managed account
      • Search managed account through external id
      • Search managed account by Seller Id
      • Partially updates information for a managed account
      • Shows collection of registered wallet domains
  1. Subscriptions

Update subscription

PATCH
/v1/billing/subscriptions/{subscription_id}
Updates a subscription which could be in ACTIVE or SUSPENDED status. You can override plan level default attributes by providing customised values for plan path in the patch request.
  • You cannot update attributes that have already completed (Example - trial cycles can’t be updated if completed).
  • Once overridden, changes to plan resource will not impact subscription.
  • Any price update will not impact billing cycles within next 10 days (Applicable only for subscriptions funded by PayPal account).
Following are the fields eligible for patch.
Attribute or objectOperations
billing_info.outstanding_balancereplace
custom_idadd,replace
plan.billing_cycles[@sequence==n].
pricing_scheme.fixed_price
add,replace
plan.billing_cycles[@sequence==n].
pricing_scheme.tiers
replace
plan.billing_cycles[@sequence==n].
total_cycles
replace
plan.payment_preferences.
auto_bill_outstanding
replace
plan.payment_preferences.
payment_failure_threshold
replace
plan.taxes.inclusiveadd,replace
plan.taxes.percentageadd,replace
shipping_amountadd,replace
start_timereplace
subscriber.shipping_addressadd,replace
subscriber.payment_source (for subscriptions funded
by card payments)
replace

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Basic 之后拼接空格,以及经过 Base64 编码的 username:password
示例:
Authorization: Basic *****************
Path 参数
subscription_id
string 
必需
示例值:
{{subscription_id}}
Header 参数
Content-Type
string 
必需
The Content-Type header field is used to specify the nature of the data in the body of an entity. PayPal REST APIs support application/json.
示例值:
application/json
PayPal-Request-Id
string 
必需
The server stores keys for 72 hours.
示例值:
{{$guid}}
Prefer
string 
必需
The preferred server response upon successful completion of the request. Value is:
  • return=minimal. The server returns a minimal response to optimize communication between the API caller and the server. A minimal response includes the id, status and HATEOAS links.
  • return=representation. The server returns a complete resource representation, including the current state of the resource.
示例值:
{{prefer_representation_detailed}}
Body 参数application/json
array of:
op
string 
必需
path
string 
必需
value
object 
必需
name
object 
可选
address
object 
可选
currency_code
string 
必需
value
string 
必需
示例
[
  {
    "op": "replace",
    "path": "/subscriber/shipping_address",
    "value": {
      "name": {
        "full_name": "John Doe"
      },
      "address": {
        "address_line_1": "2211 N First Street",
        "address_line_2": "Building 17",
        "admin_area_2": "San Jose",
        "admin_area_1": "CA",
        "postal_code": "95131",
        "country_code": "US"
      }
    }
  },
  {
    "op": "replace",
    "path": "/plan/payment_preferences/auto_bill_outstanding",
    "value": true
  },
  {
    "op": "replace",
    "path": "/plan/payment_preferences/payment_failure_threshold",
    "value": 1
  },
  {
    "op": "replace",
    "path": "/plan/billing_cycles/@sequence==1/total_cycles",
    "value": 2
  },
  {
    "op": "replace",
    "path": "/plan/billing_cycles/@sequence==1/pricing_scheme/fixed_price",
    "value": {
      "currency_code": "USD",
      "value": "50.00"
    }
  }
]

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location -g --request PATCH 'https://api-m.sandbox.paypal.com/v1/billing/subscriptions/{{subscription_id}}' \
--header 'PayPal-Request-Id: ' \
--header 'Prefer: ' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic Og==' \
--data-raw '[
    {
        "op": "replace",
        "path": "/subscriber/shipping_address",
        "value": {
            "name": {
                "full_name": "John Doe"
            },
            "address": {
                "address_line_1": "2211 N First Street",
                "address_line_2": "Building 17",
                "admin_area_2": "San Jose",
                "admin_area_1": "CA",
                "postal_code": "95131",
                "country_code": "US"
            }
        }
    },
    {
        "op": "replace",
        "path": "/plan/payment_preferences/auto_bill_outstanding",
        "value": true
    },
    {
        "op": "replace",
        "path": "/plan/payment_preferences/payment_failure_threshold",
        "value": 1
    },
    {
        "op": "replace",
        "path": "/plan/billing_cycles/@sequence==1/total_cycles",
        "value": 2
    },
    {
        "op": "replace",
        "path": "/plan/billing_cycles/@sequence==1/pricing_scheme/fixed_price",
        "value": {
            "currency_code": "USD",
            "value": "50.00"
        }
    }
]'

返回响应

🟢204204 - Update Subscription
application/json
Body
object {0}
示例
{}
🟠401401 Unauthorized - Invalid Token
🟠404404 Not Found - Subscription Not Found
🟠422422 Unprocessable Entity - Amount Greater Than Outstanding Balance
修改于 2023-08-16 07:18:59
上一页
Show subscription details
下一页
Revise plan or quantity of subscription
Built with