Update subscription
PATCH {{base_url}}/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).
Attribute or object | Operations |
---|---|
billinginfo.outstandingbalance | replace |
customid | add,replace |
plan.billingcycles[@sequencen]. | add,replace |
plan.billing_cycles[@sequencen]. | replace |
plan.billingcycles[@sequence==n]. | replace |
plan.paymentpreferences. | replace |
plan.paymentpreferences. | replace |
plan.taxes.inclusive | add,replace |
plan.taxes.percentage | add,replace |
shippingamount | add,replace |
starttime | replace |
subscriber.shippingaddress | add,replace |
subscriber.payment_source (for subscriptions funded | replace |
Request Body
[{"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"=>"/billing_info/outstanding_balance", "value"=>{"currency_code"=>"USD", "value"=>"50.00"}}, {"op"=>"replace", "path"=>"/start_time", "value"=>"2018-11-01T00:00:00Z"}, {"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"}}, {"op"=>"replace", "path"=>"/plan/billing_cycles/@sequence==1/taxes/amount", "value"=>{"currency_code"=>"USD", "value"=>"10.00"}}, {"op"=>"replace", "path"=>"/plan/billing_cycles/@sequence==1/shipping_amount", "value"=>{"currency_code"=>"USD", "value"=>"20.00"}}]
HEADERS
Key | Datatype | Required | Description |
---|---|---|---|
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. | |
PayPal-Request-Id | string | The server stores keys for 72 hours. | |
PayPal-Client-Metadata-Id | string | Optional. Verifies that the payment originates from a valid, user-consented device and application. Reduces fraud and decreases declines. Transactions that do not include a client metadata ID are not eligible for PayPal Seller Protection. | |
PayPal-Partner-Attribution-Id | string | Optional. Identifies the caller as a PayPal partner. To receive revenue attribution, specify a unique build notation (BN) code. BN codes provide tracking on all transactions that originate or are associated with a particular partner. To find your BN code, see Code and Credential Reference. | |
PayPal-Auth-Assertion | string | An API client-provided JSON Web Token (JWT) assertion that identifies the merchant. To use this header, you must get consent to act on behalf of a merchant. | |
Prefer | string | The preferred server response upon successful completion of the request. Value is:<ul><li><code>return=minimal</code>. The server returns a minimal response to optimize communication between the API caller and the server. A minimal response includes the <code>id</code>, <code>status</code> and HATEOAS links.</li><li><code>return=representation</code>. The server returns a complete resource representation, including the current state of the resource.</li></ul> | |
Prefer | string | The preferred server response upon successful completion of the request. Value is:<ul><li><code>return=minimal</code>. The server returns a minimal response to optimize communication between the API caller and the server. A minimal response includes the <code>id</code>, <code>status</code> and HATEOAS links.</li><li><code>return=representation</code>. The server returns a complete resource representation, including the current state of the resource.</li></ul> |