You can use billing plans and subscriptions to create subscriptions that process recurring PayPal payments for physical or digital goods, or services. A plan includes pricing and billing cycle information that defines the amount and frequency of charge for a subscription. You can also define a fixed plan, such as a $5 basic plan or a volume- or graduated-based plan with pricing tiers based on the quantity purchased. For more information, see Subscriptions Overview.
Creates a plan that defines pricing and billing cycle details for subscriptions.
A successful request returns the HTTP 201 Created
status code and a JSON response body that shows billing plan details.
{- "product_id": "PROD-XXCD1234QWER65782",
- "name": "Video Streaming Service Plan",
- "billing_cycles": [
- {
- "tenure_type": "TRIAL",
- "sequence": 1,
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "total_cycles": 2,
- "pricing_scheme": {
- "fixed_price": {
- "value": "3",
- "currency_code": "USD"
}
}
}, - {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "tenure_type": "TRIAL",
- "sequence": 2,
- "total_cycles": 3,
- "pricing_scheme": {
- "fixed_price": {
- "value": "6",
- "currency_code": "USD"
}
}
}, - {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "tenure_type": "REGULAR",
- "sequence": 3,
- "total_cycles": 12,
- "pricing_scheme": {
- "fixed_price": {
- "value": "10",
- "currency_code": "USD"
}
}
}
], - "payment_preferences": {
- "auto_bill_outstanding": true,
- "setup_fee": {
- "value": "10",
- "currency_code": "USD"
}, - "setup_fee_failure_action": "CONTINUE",
- "payment_failure_threshold": 3
}, - "description": "Video Streaming Service basic plan",
- "status": "ACTIVE",
- "taxes": {
- "percentage": "10",
- "inclusive": false
}
}
{- "id": "P-5ML4271244454362WXNWU5NQ",
- "product_id": "PROD-XXCD1234QWER65782",
- "name": "Video Streaming Service Plan",
- "description": "Video Streaming Service basic plan",
- "status": "ACTIVE",
- "billing_cycles": [
- {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "tenure_type": "TRIAL",
- "sequence": 1,
- "total_cycles": 2,
- "pricing_scheme": {
- "fixed_price": {
- "value": "3",
- "currency_code": "USD"
}, - "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
}
}, - {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "tenure_type": "TRIAL",
- "sequence": 2,
- "total_cycles": 3,
- "pricing_scheme": {
- "fixed_price": {
- "currency_code": "USD",
- "value": "6"
}, - "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
}
}, - {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "tenure_type": "REGULAR",
- "sequence": 3,
- "total_cycles": 12,
- "pricing_scheme": {
- "fixed_price": {
- "currency_code": "USD",
- "value": "10"
}, - "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
}
}
], - "payment_preferences": {
- "auto_bill_outstanding": true,
- "setup_fee": {
- "value": "10",
- "currency_code": "USD"
}, - "setup_fee_failure_action": "CONTINUE",
- "payment_failure_threshold": 3
}, - "taxes": {
- "percentage": "10",
- "inclusive": false
}, - "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z",
- "links": [
- {
- "rel": "self",
- "method": "GET"
}, - {
- "rel": "edit",
- "method": "PATCH"
}, - {
- "rel": "deactivate",
- "method": "POST"
}, - {
- "rel": "edit",
- "method": "POST"
}
]
}
Lists billing plans.
product_id | string [ 6 .. 50 ] characters Filters the response by a Product ID. |
plan_ids | string [ 3 .. 270 ] Filters the response by list of plan IDs. Filter supports upto 10 plan IDs. |
page_size | integer [ 1 .. 20 ] Default: 10 The number of items to return in the response. |
page | integer [ 1 .. 100000 ] Default: 1 A non-zero integer which is the start index of the entire list of items to return in the response. The combination of |
total_required | boolean Default: false Indicates whether to show the total count in the response. |
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
Prefer | string Default: return=minimal The preferred server response upon successful completion of the request. Value is:
|
A successful request returns the HTTP 200 OK
status code and a JSON response body that lists billing plans.
curl -v -X GET https://api-m.sandbox.paypal.com/v1/billing/plans?sort_by=create_time&sort_order=desc \ -H 'Authorization: Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Prefer: return=representation'
{- "plans": [
- {
- "id": "P-9CT60829WM695623HL7QGYOI",
- "name": "Netflix Plan 17012019",
- "status": "ACTIVE",
- "description": "Netflix basic plan",
- "usage_type": "LICENSED",
- "create_time": "2020-12-23T07:08:40Z",
- "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}, - {
- "id": "P-7CE83846EJ264184CL7QHL3I",
- "name": "Netflix Plan 17012019",
- "status": "CREATED",
- "description": "Netflix basic plan",
- "usage_type": "LICENSED",
- "create_time": "2020-12-23T07:06:08Z",
- "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}, - {
- "id": "P-1HG35083DU289225LL7QIDKA",
- "name": "Netflix Plan 17012019",
- "status": "ACTIVE",
- "description": "Netflix basic plan",
- "usage_type": "LICENSED",
- "create_time": "2020-12-22T06:41:26Z",
- "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}, - {
- "id": "P-5V279629EP569145RL7QZKFQ",
- "name": "Netflix Plan 17012019",
- "status": "CREATED",
- "description": "Netflix basic plan",
- "usage_type": "LICENSED",
- "create_time": "2020-12-21T11:06:16Z",
- "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}, - {
- "id": "P-69D48725TK8139022L7ROYYA",
- "name": "Netflix Plan 17012019",
- "status": "ACTIVE",
- "description": "Netflix basic plan",
- "usage_type": "LICENSED",
- "create_time": "2020-12-21T10:16:13Z",
- "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}, - {
- "id": "P-87R81207W88552156L7ROZ6A",
- "name": "Netflix Plan 17012019",
- "status": "ACTIVE",
- "description": "Netflix basic plan",
- "usage_type": "LICENSED",
- "create_time": "2020-12-21T09:34:49Z",
- "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}
], - "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}
Shows details for a plan, by ID.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows plan details.
curl -v -X GET https://api-m.sandbox.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ \ -H 'X-PAYPAL-SECURITY-CONTEXT: {"consumer":{"accountNumber":1181198218909172527,"merchantId":"5KW8F2FXKX5HA"},"merchant":{"accountNumber":1659371090107732880,"merchantId":"2J6QB8YJQSJRJ"},"apiCaller":{"clientId":"AdtlNBDhgmQWi2xk6edqJVKklPFyDWxtyKuXuyVT-OgdnnKpAVsbKHgvqHHP","appId":"APP-6DV794347V142302B","payerId":"2J6QB8YJQSJRJ","accountNumber":"1659371090107732880"},"scopes":["https://api-m.paypal.com/v1/subscription/.*","https://uri.paypal.com/services/subscription","openid"]}' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json'
{- "id": "P-5ML4271244454362WXNWU5NQ",
- "product_id": "PROD-XXCD1234QWER65782",
- "name": "Basic Plan",
- "description": "Basic Plan",
- "status": "ACTIVE",
- "billing_cycles": [
- {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "tenure_type": "TRIAL",
- "sequence": 1,
- "total_cycles": 2,
- "pricing_scheme": {
- "fixed_price": {
- "currency_code": "USD",
- "value": "3"
}, - "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
}
}, - {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "tenure_type": "TRIAL",
- "sequence": 2,
- "total_cycles": 3,
- "pricing_scheme": {
- "fixed_price": {
- "currency_code": "USD",
- "value": "6"
}, - "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
}
}, - {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
}, - "tenure_type": "REGULAR",
- "sequence": 3,
- "total_cycles": 12,
- "pricing_scheme": {
- "fixed_price": {
- "value": "10",
- "currency_code": "USD"
}, - "status": "ACTIVE",
- "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
}
}
], - "taxes": {
- "percentage": "10",
- "inclusive": false
}, - "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z",
- "links": [
- {
- "rel": "self",
- "method": "GET"
}, - {
- "rel": "edit",
- "method": "PATCH"
}, - {
- "rel": "deactivate",
- "method": "POST"
}, - {
- "rel": "edit",
- "method": "POST"
}
]
}
Updates a plan with the CREATED
or ACTIVE
status. For an INACTIVE
plan, you can make only status updates.
You can patch these attributes and objects:
Attribute or object | Operations |
---|---|
description | replace |
payment_preferences.auto_bill_outstanding | replace |
taxes.percentage | replace |
payment_preferences.payment_failure_threshold | replace |
payment_preferences.setup_fee | replace |
payment_preferences.setup_fee_failure_action | replace |
name | replace |
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
op required | string The operation.
| ||||||||||||||||||||||||||
path | string The JSON Pointer to the target document location at which to complete the operation. | ||||||||||||||||||||||||||
value | object (Patch Value) The value to apply. The | ||||||||||||||||||||||||||
from | string The JSON Pointer to the target document location from which to move the value. Required for the |
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
[- {
- "op": "replace",
- "path": "/payment_preferences/payment_failure_threshold",
- "value": 7
}, - {
- "op": "replace",
- "path": "/name",
- "value": "Updated Video Streaming Service Plan"
}
]
Activates a plan, by ID.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
curl -v -X POST https://api-m.sandbox.paypal.com/v1/billing/plans/P-7GL4271244454362WXNWU5NQ/activate \ -H 'X-PAYPAL-SECURITY-CONTEXT: {"consumer":{"accountNumber":1181198218909172527,"merchantId":"5KW8F2FXKX5HA"},"merchant":{"accountNumber":1659371090107732880,"merchantId":"2J6QB8YJQSJRJ"},"apiCaller":{"clientId":"AdtlNBDhgmQWi2xk6edqJVKklPFyDWxtyKuXuyVT-OgdnnKpAVsbKHgvqHHP","appId":"APP-6DV794347V142302B","payerId":"2J6QB8YJQSJRJ","accountNumber":"1659371090107732880"},"scopes":["https://api-m.paypal.com/v1/subscription/.*","https://uri.paypal.com/services/subscription","openid"]}' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json'
Deactivates a plan, by ID.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
curl -v -X POST https://api-m.sandbox.paypal.com/v1/billing/plans/P-7GL4271244454362WXNWU5NQ/deactivate \ -H 'X-PAYPAL-SECURITY-CONTEXT: {"consumer":{"accountNumber":1181198218909172527,"merchantId":"5KW8F2FXKX5HA"},"merchant":{"accountNumber":1659371090107732880,"merchantId":"2J6QB8YJQSJRJ"},"apiCaller":{"clientId":"AdtlNBDhgmQWi2xk6edqJVKklPFyDWxtyKuXuyVT-OgdnnKpAVsbKHgvqHHP","appId":"APP-6DV794347V142302B","payerId":"2J6QB8YJQSJRJ","accountNumber":"1659371090107732880"},"scopes":["https://api-m.paypal.com/v1/subscription/.*","https://uri.paypal.com/services/subscription","openid"]}' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json'
Updates pricing for a plan. For example, you can update a regular billing cycle from $5 per month to $7 per month.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
required | Array of objects (update_pricing_scheme_request) [ 1 .. 99 ] items An array of pricing schemes. |
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
{- "pricing_schemes": [
- {
- "billing_cycle_sequence": 1,
- "pricing_scheme": {
- "fixed_price": {
- "value": "50",
- "currency_code": "USD"
}
}
}, - {
- "billing_cycle_sequence": 2,
- "pricing_scheme": {
- "fixed_price": {
- "value": "100",
- "currency_code": "USD"
}, - "pricing_model": "VOLUME",
- "tiers": [
- {
- "starting_quantity": "1",
- "ending_quantity": "1000",
- "amount": {
- "value": "150",
- "currency_code": "USD"
}
}, - {
- "starting_quantity": "1001",
- "amount": {
- "value": "250",
- "currency_code": "USD"
}
}
]
}
}
]
}
Creates a subscription.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
Prefer | string Default: return=minimal The preferred server response upon successful completion of the request. Value is:
|
PayPal-Request-Id | string The server stores keys for 72 hours. |
plan_id required | string [ 3 .. 50 ] characters The ID of the plan. |
quantity | string [ 1 .. 32 ] characters ^([0-9]+|([0-9]+)?[.][0-9]+)$ The quantity of the product in the subscription. |
auto_renewal | boolean Default: false DEPRECATED. Indicates whether the subscription auto-renews after the billing cycles complete. |
custom_id | string [ 1 .. 127 ] characters ^[\x20-\x7E]+ The custom id for the subscription. Can be invoice id. |
start_time | string <ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|... Default: "Current time" The date and time when the subscription started, in Internet date and time format. |
object (Money) The shipping charges. | |
object <payer_v1> (subscriber_request) The subscriber request information . | |
object (application_context) The application context, which customizes the payer experience during the subscription approval process with PayPal. | |
object (plan_override) An inline plan object to customise the subscription. You can override plan level default attributes by providing customised values for the subscription in this object. |
A successful request returns the HTTP 201 Created
status code and a JSON response body that shows subscription details.
{- "plan_id": "P-5ML4271244454362WXNWU5NQ",
- "start_time": "2018-11-01T00:00:00Z",
- "quantity": "20",
- "shipping_amount": {
- "currency_code": "USD",
- "value": "10.00"
}, - "subscriber": {
- "name": {
- "given_name": "John",
- "surname": "Doe"
}, - "email_address": "customer@example.com",
- "shipping_address": {
- "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"
}
}
}, - "application_context": {
- "brand_name": "walmart",
- "locale": "en-US",
- "shipping_preference": "SET_PROVIDED_ADDRESS",
- "user_action": "SUBSCRIBE_NOW",
- "payment_method": {
- "payer_selected": "PAYPAL",
- "payee_preferred": "IMMEDIATE_PAYMENT_REQUIRED"
},
}
}
{- "id": "I-BW452GLLEP1G",
- "status": "APPROVAL_PENDING",
- "status_update_time": "2018-12-10T21:20:49Z",
- "plan_id": "P-5ML4271244454362WXNWU5NQ",
- "plan_overridden": false,
- "start_time": "2018-11-01T00:00:00Z",
- "quantity": "20",
- "shipping_amount": {
- "currency_code": "USD",
- "value": "10.00"
}, - "subscriber": {
- "name": {
- "given_name": "John",
- "surname": "Doe"
}, - "email_address": "customer@example.com",
- "payer_id": "2J6QB8YJQSJRJ",
- "shipping_address": {
- "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"
}
}
}, - "create_time": "2018-12-10T21:20:49Z",
- "links": [
- {
- "rel": "approve",
- "method": "GET"
}, - {
- "rel": "edit",
- "method": "PATCH"
}, - {
- "rel": "self",
- "method": "GET"
}
]
}
Shows details for a subscription, by ID.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows subscription details.
curl -v -X GET https://api-m.sandbox.paypal.com/v1/billing/subscriptions/I-BW452GLLEP1G \ -H 'X-PAYPAL-SECURITY-CONTEXT: {"consumer":{"accountNumber":1181198218909172527,"merchantId":"5KW8F2FXKX5HA"},"merchant":{"accountNumber":1659371090107732880,"merchantId":"2J6QB8YJQSJRJ"},"apiCaller":{"clientId":"AdtlNBDhgmQWi2xk6edqJVKklPFyDWxtyKuXuyVT-OgdnnKpAVsbKHgvqHHP","appId":"APP-6DV794347V142302B","payerId":"2J6QB8YJQSJRJ","accountNumber":"1659371090107732880"},"scopes":["https://api-m.paypal.com/v1/subscription/.*","https://uri.paypal.com/services/subscription","openid"]}' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json'
{- "id": "I-BW452GLLEP1G",
- "plan_id": "P-5ML4271244454362WXNWU5NQ",
- "start_time": "2019-04-10T07:00:00Z",
- "quantity": "20",
- "shipping_amount": {
- "currency_code": "USD",
- "value": "10.0"
}, - "subscriber": {
- "shipping_address": {
- "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"
}
}, - "name": {
- "given_name": "John",
- "surname": "Doe"
}, - "email_address": "customer@example.com",
- "payer_id": "2J6QB8YJQSJRJ"
}, - "billing_info": {
- "outstanding_balance": {
- "currency_code": "USD",
- "value": "1.0"
}, - "cycle_executions": [
- {
- "tenure_type": "TRIAL",
- "sequence": 1,
- "cycles_completed": 0,
- "cycles_remaining": 2,
- "total_cycles": 2
}, - {
- "tenure_type": "TRIAL",
- "sequence": 2,
- "cycles_completed": 0,
- "cycles_remaining": 3,
- "total_cycles": 3
}, - {
- "tenure_type": "REGULAR",
- "sequence": 3,
- "cycles_completed": 0,
- "cycles_remaining": 12,
- "total_cycles": 12
}
], - "last_payment": {
- "amount": {
- "currency_code": "USD",
- "value": "1.15"
}, - "time": "2019-04-09T10:27:20Z"
}, - "next_billing_time": "2019-04-10T10:00:00Z",
- "failed_payments_count": 0
}, - "create_time": "2019-04-09T10:26:04Z",
- "update_time": "2019-04-09T10:27:27Z",
- "links": [
- {
- "rel": "cancel",
- "method": "POST"
}, - {
- "rel": "edit",
- "method": "PATCH"
}, - {
- "rel": "self",
- "method": "GET"
}, - {
- "rel": "suspend",
- "method": "POST"
}, - {
- "rel": "capture",
- "method": "POST"
}
], - "status": "ACTIVE",
- "status_update_time": "2019-04-09T10:27:27Z"
}
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.
Attribute or object | Operations |
---|---|
billing_info.outstanding_balance | replace |
custom_id | add,replace |
plan.billing_cycles[@sequence==n]. | add,replace |
plan.billing_cycles[@sequence==n]. | replace |
plan.billing_cycles[@sequence==n]. | replace |
plan.payment_preferences. | replace |
plan.payment_preferences. | replace |
plan.taxes.inclusive | add,replace |
plan.taxes.percentage | add,replace |
shipping_amount | add,replace |
start_time | replace |
subscriber.shipping_address | add,replace |
subscriber.payment_source (for subscriptions funded | replace |
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
op required | string The operation.
| ||||||||||||||||||||||||||
path | string The JSON Pointer to the target document location at which to complete the operation. | ||||||||||||||||||||||||||
value | object (Patch Value) The value to apply. The | ||||||||||||||||||||||||||
from | string The JSON Pointer to the target document location from which to move the value. Required for the |
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
[- {
- "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==2/pricing_scheme/tiers",
- "value": [
- {
- "starting_quantity": "1",
- "ending_quantity": "1000",
- "amount": {
- "value": "500",
- "currency_code": "USD"
}
}, - {
- "starting_quantity": "1001",
- "amount": {
- "value": "2000",
- "currency_code": "USD"
}
}
]
}, - {
- "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/taxes/percentage",
- "value": "10"
}
]
Updates the quantity of the product or service in a subscription. You can also use this method to switch the plan and update the shipping_amount
, shipping_address
values for the subscription. This type of update requires the buyer's consent.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
plan_id | string [ 3 .. 50 ] characters The unique PayPal-generated ID for the plan. |
quantity | string [ 1 .. 32 ] characters ^([0-9]+|([0-9]+)?[.][0-9]+)$ The quantity of the product or service in the subscription. |
object (Money) The shipping charges. | |
object (shipping_detail) The shipping address of the subscriber. | |
object (application_context) The application context, which customizes the payer experience during the subscription approval process with PayPal. | |
object (plan_override) An inline plan object to customise the subscription. You can override plan level default attributes by providing customised values for the subscription in this object. Any existing overrides will not be carried forward during subscription revise. |
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows subscription details.
{- "plan_id": "P-5ML4271244454362WXNWU5NQ",
- "shipping_amount": {
- "currency_code": "USD",
- "value": "10.00"
}, - "shipping_address": {
- "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"
}
}, - "application_context": {
- "brand_name": "walmart",
- "locale": "en-US",
- "shipping_preference": "SET_PROVIDED_ADDRESS",
- "payment_method": {
- "payer_selected": "PAYPAL",
- "payee_preferred": "IMMEDIATE_PAYMENT_REQUIRED"
},
}
}
{- "plan_id": "P-5ML4271244454362WXNWU5NQ",
- "plan_overridden": false,
- "shipping_amount": {
- "currency_code": "USD",
- "value": "10.00"
}, - "shipping_address": {
- "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"
}
}, - "links": [
- {
- "rel": "approve",
- "method": "GET"
}, - {
- "rel": "edit",
- "method": "PATCH"
}, - {
- "rel": "self",
- "method": "GET"
}, - {
- "rel": "cancel",
- "method": "POST"
}, - {
- "rel": "suspend",
- "method": "POST"
}, - {
- "rel": "capture",
- "method": "POST"
}
]
}
Suspends the subscription.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
{- "reason": "Item out of stock"
}
Cancels the subscription.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
{- "reason": "Not satisfied with the service"
}
Activates the subscription.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
{- "reason": "Reactivating the subscription"
}
Captures an authorized payment from the subscriber on the subscription.
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
PayPal-Request-Id | string The server stores keys for 72 hours. |
note required | string [ 1 .. 128 ] characters The reason or note for the subscription charge. | ||||
capture_type required | string [ 1 .. 24 ] characters ^[A-Z_]+$ The type of capture.
| ||||
required | object (Money) The currency and amount for a financial transaction, such as a balance or payment due. |
Request Accepted.
{- "note": "Charging as the balance reached the limit",
- "capture_type": "OUTSTANDING_BALANCE",
- "amount": {
- "currency_code": "USD",
- "value": "100"
}
}
Lists transactions for a subscription.
start_time required | string <ppaas_date_time_v3> [ 20 .. 64 ] characters ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|... The start time of the range of transactions to list. |
end_time required | string <ppaas_date_time_v3> [ 20 .. 64 ] characters ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|... The end time of the range of transactions to list. |
Authorization required | string To make REST API calls, include the bearer token in the |
Content-Type required | string The media type. Required for operations with a request body. The value is |
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows subscription details.
curl -v -X GET https://api-m.sandbox.paypal.com/v1/billing/subscriptions/I-BW452GLLEP1G/transactions?start_time=2018-01-21T07:50:20.940Z&end_time=2018-08-21T07:50:20.940Z \ -H 'X-PAYPAL-SECURITY-CONTEXT: {"consumer":{"accountNumber":1181198218909172527,"merchantId":"5KW8F2FXKX5HA"},"merchant":{"accountNumber":1659371090107732880,"merchantId":"2J6QB8YJQSJRJ"},"apiCaller":{"clientId":"AdtlNBDhgmQWi2xk6edqJVKklPFyDWxtyKuXuyVT-OgdnnKpAVsbKHgvqHHP","appId":"APP-6DV794347V142302B","payerId":"2J6QB8YJQSJRJ","accountNumber":"1659371090107732880"},"scopes":["https://api-m.paypal.com/v1/subscription/.*","https://uri.paypal.com/services/subscription","openid"]}' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json'
{- "transactions": [
- {
- "id": "TRFGHNJKOIIOJKL",
- "status": "COMPLETED",
- "payer_email": "customer@example.com",
- "payer_name": {
- "given_name": "John",
- "surname": "Doe"
}, - "amount_with_breakdown": {
- "gross_amount": {
- "currency_code": "USD",
- "value": "10.00"
}, - "fee_amount": {
- "currency_code": "USD",
- "value": "1.00"
}, - "net_amount": {
- "currency_code": "USD",
- "value": "9.00"
}
}, - "time": "2018-03-16T07:40:20.940Z"
}, - {
- "id": "VDFG45345FFGS",
- "status": "COMPLETED",
- "payer_email": "customer2@example.com",
- "payer_name": {
- "given_name": "Jhonny",
- "surname": "Cat"
}, - "amount_with_breakdown": {
- "gross_amount": {
- "currency_code": "USD",
- "value": "15.00"
}, - "fee_amount": {
- "currency_code": "USD",
- "value": "1.00"
}, - "net_amount": {
- "currency_code": "USD",
- "value": "14.00"
}
}, - "time": "2018-08-21T07:50:20.940Z"
}
], - "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}
The breakdown details for the amount. Includes the gross, tax, fee, and shipping amounts.
required | object (Money) The amount for this transaction. |
object (Money) The item total for the transaction. | |
object (Money) The fee details for the transaction. | |
object (Money) The shipping amount for the transaction. | |
object (Money) The tax amount for the transaction. | |
object (Money) The net amount that the payee receives for this transaction in their PayPal account. The net amount is computed as |
{- "gross_amount": {
- "currency_code": "str",
- "value": "string"
}, - "total_item_amount": {
- "currency_code": "str",
- "value": "string"
}, - "fee_amount": {
- "currency_code": "str",
- "value": "string"
}, - "shipping_amount": {
- "currency_code": "str",
- "value": "string"
}, - "tax_amount": {
- "currency_code": "str",
- "value": "string"
}, - "net_amount": {
- "currency_code": "str",
- "value": "string"
}
}
The application context, which customizes the payer experience during the subscription approval process with PayPal.
brand_name | string [ 1 .. 127 ] characters The label that overrides the business name in the PayPal account on the PayPal site. | ||||||||
shipping_preference | string [ 1 .. 24 ] characters ^[A-Z_]+$ Default: "GET_FROM_FILE" The location from which the shipping address is derived.
| ||||||||
user_action | string [ 1 .. 24 ] characters ^[A-Z_]+$ Default: "SUBSCRIBE_NOW" Configures the label name to
| ||||||||
return_url required | string <uri> [ 10 .. 4000 ] characters The URL where the customer is redirected after the customer approves the payment. | ||||||||
cancel_url required | string <uri> [ 10 .. 4000 ] characters The URL where the customer is redirected after the customer cancels the payment. | ||||||||
locale | string <ppaas_common_language_v3> (language) [ 2 .. 10 ] characters ^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}))... The BCP 47-formatted locale of pages that the PayPal payment experience shows. PayPal supports a five-character code. For example, | ||||||||
object (payment_method) The customer and merchant payment preferences. Currently only PAYPAL payment method is supported. |
{- "brand_name": "string",
- "shipping_preference": "GET_FROM_FILE",
- "user_action": "CONTINUE",
- "locale": "string",
- "payment_method": {
- "payer_selected": "PAYPAL",
- "payee_preferred": "UNRESTRICTED"
}
}
The application context, which customizes the payer experience during the subscription approval process with PayPal.
brand_name | string [ 1 .. 127 ] characters The label that overrides the business name in the PayPal account on the PayPal site. | ||||||||
shipping_preference | string [ 1 .. 24 ] characters ^[A-Z_]+$ Default: "GET_FROM_FILE" The location from which the shipping address is derived.
| ||||||||
return_url required | string <uri> [ 10 .. 4000 ] characters The URL where the customer is redirected after the customer approves the payment. | ||||||||
cancel_url required | string <uri> [ 10 .. 4000 ] characters The URL where the customer is redirected after the customer cancels the payment. | ||||||||
locale | string <ppaas_common_language_v3> (language) [ 2 .. 10 ] characters ^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}))... The BCP 47-formatted locale of pages that the PayPal payment experience shows. PayPal supports a five-character code. For example, | ||||||||
object (payment_method) The customer and merchant payment preferences. Currently only PAYPAL payment method is supported. |
{- "brand_name": "string",
- "shipping_preference": "GET_FROM_FILE",
- "locale": "string",
- "payment_method": {
- "payer_selected": "PAYPAL",
- "payee_preferred": "UNRESTRICTED"
}
}
Results of Authentication such as 3D Secure.
liability_shift | string (liability_shift) [ 1 .. 255 ] characters ^[0-9A-Z_]+$ Liability shift indicator. The outcome of the issuer's authentication.
| ||||||||||
object (three_d_secure_authentication_response) Results of 3D Secure Authentication. |
{- "liability_shift": "YES",
- "three_d_secure": {
- "authentication_status": "Y",
- "enrollment_status": "Y"
}
}
The billing cycle details.
tenure_type required | string [ 1 .. 24 ] characters ^[A-Z_]+$ The tenure type of the billing cycle. In case of a plan having trial cycle, only 2 trial cycles are allowed per plan.
| ||||||
sequence required | integer [ 1 .. 99 ] The order in which this cycle is to run among other billing cycles. For example, a trial billing cycle has a | ||||||
total_cycles | integer [ 0 .. 999 ] Default: 1 The number of times this billing cycle gets executed. Trial billing cycles can only be executed a finite number of times (value between | ||||||
object (pricing_scheme) The active pricing scheme for this billing cycle. A free trial billing cycle does not require a pricing scheme. | |||||||
required | object (frequency) The frequency details for this billing cycle. |
{- "tenure_type": "REGULAR",
- "sequence": 1,
- "total_cycles": 1,
- "pricing_scheme": {
- "version": 999,
- "pricing_model": "VOLUME",
- "tiers": [
- {
- "starting_quantity": "string",
- "ending_quantity": "string",
- "amount": {
- "currency_code": "str",
- "value": "string"
}
}
], - "fixed_price": {
- "currency_code": "str",
- "value": "string"
}, - "create_time": "string",
- "update_time": "string"
}, - "frequency": {
- "interval_unit": "DAY",
- "interval_count": 1
}
}
The billing cycle details to override at subscription level. The subscription billing cycle definition has to adhere to the plan billing cycle definition.
sequence required | integer [ 1 .. 99 ] The order in which this cycle is to run among other billing cycles. For example, a trial billing cycle has a |
total_cycles | integer [ 0 .. 999 ] The number of times this billing cycle gets executed. Trial billing cycles can only be executed a finite number of times (value between |
object (pricing_scheme) The active pricing scheme for this billing cycle. A free trial billing cycle does not require a pricing scheme. |
{- "sequence": 1,
- "total_cycles": 999,
- "pricing_scheme": {
- "version": 999,
- "pricing_model": "VOLUME",
- "tiers": [
- {
- "starting_quantity": "string",
- "ending_quantity": "string",
- "amount": {
- "currency_code": "str",
- "value": "string"
}
}
], - "fixed_price": {
- "currency_code": "str",
- "value": "string"
}, - "create_time": "string",
- "update_time": "string"
}
}
The status of a captured payment.
status | string The status of the captured payment.
|
{- "status": "COMPLETED"
}
The details of the captured payment status.
reason | string The reason why the captured payment status is
|
{- "reason": "BUYER_COMPLAINT"
}
The payment card to use to fund a payment. Can be a credit or debit card.
name | string <= 300 characters The card holder's name as it appears on the card. |
number required | string [ 13 .. 19 ] characters The primary account number (PAN) for the payment card. |
security_code | string[0-9]{3,4} The three- or four-digit security code of the card. Also known as the CVV, CVC, CVN, CVE, or CID. This parameter cannot be present in the request when |
expiry required | string (date_year_month) = 7 characters ^[0-9]{4}-(0[1-9]|1[0-2])$ The card expiration year and month, in Internet date format. |
object (Portable Postal Address (Medium-Grained)) The billing address for this card. Supports only the |
{- "name": "string",
- "number": "stringstrings",
- "security_code": "string",
- "expiry": "strings",
- "billing_address": {
- "address_line_1": "string",
- "address_line_2": "string",
- "admin_area_2": "string",
- "admin_area_1": "string",
- "postal_code": "string",
- "country_code": "st"
}
}
The card network or brand. Applies to credit, debit, gift, and payment cards.
The card network or brand. Applies to credit, debit, gift, and payment cards.
Enum: | Description |
---|---|
VISA | Visa card. |
MASTERCARD | Mastecard card. |
DISCOVER | Discover card. |
AMEX | American Express card. |
SOLO | Solo debit card. |
JCB | Japan Credit Bureau card. |
STAR | Military Star card. |
DELTA | Delta Airlines card. |
SWITCH | Switch credit card. |
MAESTRO | Maestro credit card. |
CB_NATIONALE | Carte Bancaire (CB) credit card. |
CONFIGOGA | Configoga credit card. |
CONFIDIS | Confidis credit card. |
ELECTRON | Visa Electron credit card. |
CETELEM | Cetelem credit card. |
CHINA_UNION_PAY | China union pay credit card. |
"VISA"
The payment card to use to fund a payment. Card can be a credit or debit card.
last_digits | string[0-9]{2,} The last digits of the payment card. | ||||||||||||||||||||||||||||||||||
type | string The payment card type.
| ||||||||||||||||||||||||||||||||||
object (authentication_response) Results of Authentication such as 3D Secure. | |||||||||||||||||||||||||||||||||||
brand | string (card_brand) [ 1 .. 255 ] characters ^[A-Z_]+$ The card brand or network. Typically used in the response.
|
{- "last_digits": "string",
- "type": "CREDIT",
- "authentication_result": {
- "liability_shift": "YES",
- "three_d_secure": {
- "authentication_status": "Y",
- "enrollment_status": "Y"
}
}, - "brand": "VISA"
}
The payment card used to fund the payment. Card can be a credit or debit card.
last_digits | string[0-9]{2,} The last digits of the payment card. | ||||||||||||||||||||||||||||||||||
type | string The payment card type.
| ||||||||||||||||||||||||||||||||||
object (authentication_response) Results of Authentication such as 3D Secure. | |||||||||||||||||||||||||||||||||||
brand | string (card_brand) [ 1 .. 255 ] characters ^[A-Z_]+$ The card brand or network. Typically used in the response.
| ||||||||||||||||||||||||||||||||||
name | string [ 2 .. 300 ] characters The card holder's name as it appears on the card. | ||||||||||||||||||||||||||||||||||
object (Portable Postal Address (Medium-Grained)) The portable international postal address. Maps to AddressValidationMetadata and HTML 5.1 Autofilling form controls: the autocomplete attribute. | |||||||||||||||||||||||||||||||||||
expiry | string (date_year_month) = 7 characters ^[0-9]{4}-(0[1-9]|1[0-2])$ The card expiration year and month, in Internet date format. | ||||||||||||||||||||||||||||||||||
currency_code | string <ppaas_common_currency_code_v2> (currency_code) = 3 characters Currency code of the given instrument |
{- "last_digits": "string",
- "type": "CREDIT",
- "authentication_result": {
- "liability_shift": "YES",
- "three_d_secure": {
- "authentication_status": "Y",
- "enrollment_status": "Y"
}
}, - "brand": "VISA",
- "name": "string",
- "billing_address": {
- "address_line_1": "string",
- "address_line_2": "string",
- "admin_area_2": "string",
- "admin_area_1": "string",
- "postal_code": "string",
- "country_code": "st"
}, - "expiry": "strings",
- "currency_code": "str"
}
The two-character ISO 3166-1 code that identifies the country or region.
Note: The country code for Great Britain isGB
and notUK
as used in the top-level domain names for that country. Use theC2
country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
The two-character ISO 3166-1 code that identifies the country or region.
Note: The country code for Great Britain isGB
and notUK
as used in the top-level domain names for that country. Use theC2
country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
"st"
The three-character ISO-4217 currency code that identifies the currency.
The three-character ISO-4217 currency code that identifies the currency.
"str"
The regular and trial execution details for a billing cycle.
tenure_type required | string [ 1 .. 24 ] characters ^[A-Z_]+$ The type of the billing cycle.
| ||||||
sequence required | integer [ 0 .. 99 ] The order in which to run this cycle among other billing cycles. | ||||||
cycles_completed required | integer [ 0 .. 9999 ] The number of billing cycles that have completed. | ||||||
cycles_remaining | integer [ 0 .. 9999 ] For a finite billing cycle, cycles_remaining is the number of remaining cycles. For an infinite billing cycle, cycles_remaining is set as 0. | ||||||
current_pricing_scheme_version | integer [ 1 .. 99 ] The active pricing scheme version for the billing cycle. | ||||||
total_cycles | integer [ 0 .. 999 ] The number of times this billing cycle gets executed. Trial billing cycles can only be executed a finite number of times (value between |
{- "tenure_type": "REGULAR",
- "sequence": 99,
- "cycles_completed": 9999,
- "cycles_remaining": 9999,
- "current_pricing_scheme_version": 1,
- "total_cycles": 999
}
The stand-alone date, in Internet date and time format. To represent special legal values, such as a date of birth, you should use dates with no associated time or time-zone data. Whenever possible, use the standard date_time
type. This regular expression does not validate all dates. For example, February 31 is valid and nothing is known about leap years.
The stand-alone date, in Internet date and time format. To represent special legal values, such as a date of birth, you should use dates with no associated time or time-zone data. Whenever possible, use the standard date_time
type. This regular expression does not validate all dates. For example, February 31 is valid and nothing is known about leap years.
"stringstri"
The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional.
Note: The regular expression provides guidance but does not reject all invalid dates.
The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional.
Note: The regular expression provides guidance but does not reject all invalid dates.
"stringstringstringst"
The year and month, in ISO-8601 YYYY-MM
date format. See Internet date and time format.
The year and month, in ISO-8601 YYYY-MM
date format. See Internet date and time format.
"strings"
The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the@
sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@
sign exists.
The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the@
sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@
sign exists.
"string"
The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the@
sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@
sign exists.
The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the@
sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@
sign exists.
"string"
Status of Authentication eligibility.
Status of Authentication eligibility.
Enum: | Description |
---|---|
Y | Yes. The bank is participating in 3-D Secure protocol and will return the ACSUrl. |
N | No. The bank is not participating in 3-D Secure protocol. |
U | Unavailable. The DS or ACS is not available for authentication at the time of the request. |
B | Bypass. The merchant authentication rule is triggered to bypass authentication. |
"Y"
The error details.
name required | string The human-readable, unique name of the error. |
message required | string The message that describes the error. |
debug_id required | string The PayPal internal ID. Used for correlation purposes. |
information_link | string The information link, or URI, that shows detailed information about this error for the developer. |
Array of objects (Error Details) An array of additional details about the error. | |
Array of objects (Link Description) An array of request-related HATEOAS links. |
{- "name": "string",
- "message": "string",
- "debug_id": "string",
- "information_link": "string",
- "details": [
- {
- "field": "string",
- "value": "string",
- "location": "body",
- "issue": "string",
- "description": "string"
}
], - "links": [
- {
- "href": "string",
- "rel": "string",
- "method": "GET"
}
]
}
The error details. Required for client-side 4XX
errors.
field | string The field that caused the error. If this field is in the body, set this value to the field's JSON pointer value. Required for client-side errors. |
value | string The value of the field that caused the error. |
location | string Default: "body" The location of the field that caused the error. Value is |
issue required | string The unique, fine-grained application-level error code. |
description | string The human-readable description for an issue. The description can change over the lifetime of an API, so clients must not depend on this value. |
{- "field": "string",
- "value": "string",
- "location": "body",
- "issue": "string",
- "description": "string"
}
The details for the failed payment of the subscription.
reason_code | string [ 1 .. 120 ] characters ^[A-Z_]+$ The reason code for the payment failure.
| ||||||||||||||||||
required | object (Money) The failed payment amount. | ||||||||||||||||||
time required | string <ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|... The date and time when the failed payment was made, in Internet date and time format. | ||||||||||||||||||
next_payment_retry_time | string <ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|... The time when the retry attempt for the failed payment occurs, in Internet date and time format. |
{- "reason_code": "PAYMENT_DENIED",
- "amount": {
- "currency_code": "str",
- "value": "string"
}, - "time": "string",
- "next_payment_retry_time": "string"
}
The frequency of the billing cycle.
interval_unit required | string [ 1 .. 24 ] characters ^[A-Z_]+$ The interval at which the subscription is charged or billed.
| ||||||||||
interval_count | integer [ 1 .. 365 ] Default: 1 The number of intervals after which a subscriber is billed. For example, if the
|
{- "interval_unit": "DAY",
- "interval_count": 1
}
The language tag for the language in which to localize the error-related strings, such as messages, issues, and suggested actions. The tag is made up of the ISO 639-2 language code, the optional ISO-15924 script tag, and the ISO-3166 alpha-2 country code.
The language tag for the language in which to localize the error-related strings, such as messages, issues, and suggested actions. The tag is made up of the ISO 639-2 language code, the optional ISO-15924 script tag, and the ISO-3166 alpha-2 country code.
"string"
The details for the last payment.
status | string The status of the captured payment.
| ||||||||||||
required | object (Money) The last payment amount. | ||||||||||||
time required | string <ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|... The date and time when the last payment was made, in Internet date and time format. |
{- "status": "COMPLETED",
- "amount": {
- "currency_code": "str",
- "value": "string"
}, - "time": "string"
}
Liability shift indicator. The outcome of the issuer's authentication.
Liability shift indicator. The outcome of the issuer's authentication.
Enum: | Description |
---|---|
YES | Liability has shifted to the card issuer. Available only after order is authorized or captured. |
NO | Liability is with the merchant. |
POSSIBLE | Liability may shift to the card issuer. Available only before order is authorized or captured. |
UNKNOWN | The authentication system is not available. |
"YES"
The request-related HATEOAS link information.
href required | string The complete target URL. To make the related call, combine the method with this URI Template-formatted link. For pre-processing, include the |
rel required | string The link relation type, which serves as an ID for a link that unambiguously describes the semantics of the link. See Link Relations. |
method | string The HTTP method required to make the related call. |
{- "href": "string",
- "rel": "string",
- "method": "GET"
}
The currency and amount for a financial transaction, such as a balance or payment due.
currency_code required | string <ppaas_common_currency_code_v2> (currency_code) = 3 characters The three-character ISO-4217 currency code that identifies the currency. |
value required | string <= 32 characters ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$ The value, which might be:
|
{- "currency_code": "str",
- "value": "string"
}
The name of the party.
given_name | string <= 140 characters When the party is a person, the party's given, or first, name. |
surname | string <= 140 characters When the party is a person, the party's surname or family name. Also known as the last name. Required when the party is a person. Use also to store multiple surnames including the matronymic, or mother's, surname. |
{- "given_name": "string",
- "surname": "string"
}
The name of the party.
prefix | string <= 140 characters The prefix, or title, to the party's name. |
given_name | string <= 140 characters When the party is a person, the party's given, or first, name. |
surname | string <= 140 characters When the party is a person, the party's surname or family name. Also known as the last name. Required when the party is a person. Use also to store multiple surnames including the matronymic, or mother's, surname. |
middle_name | string <= 140 characters When the party is a person, the party's middle name. Use also to store multiple middle names including the patronymic, or father's, middle name. |
suffix | string <= 140 characters The suffix for the party's name. |
alternate_full_name | string <= 300 characters DEPRECATED. The party's alternate name. Can be a business name, nickname, or any other name that cannot be split into first, last name. Required when the party is a business. |
full_name | string <= 300 characters When the party is a person, the party's full name. |
{- "prefix": "string",
- "given_name": "string",
- "surname": "string",
- "middle_name": "string",
- "suffix": "string",
- "alternate_full_name": "string",
- "full_name": "string"
}
Transactions status result identifier. The outcome of the issuer's authentication.
Transactions status result identifier. The outcome of the issuer's authentication.
Enum: | Description |
---|---|
Y | Successful authentication. |
N | Failed authentication / account not verified / transaction denied. |
U | Unable to complete authentication. |
A | Successful attempts transaction. |
C | Challenge required for authentication. |
R | Authentication rejected (merchant must not submit for authorization). |
D | Challenge required; decoupled authentication confirmed. |
I | Informational only; 3DS requestor challenge preference acknowledged. |
"Y"
The JSON patch object to apply partial updates to resources.
op required | string The operation.
| ||||||||||||||||||||||||||
path | string The JSON Pointer to the target document location at which to complete the operation. | ||||||||||||||||||||||||||
value | object (Patch Value) The value to apply. The | ||||||||||||||||||||||||||
from | string The JSON Pointer to the target document location from which to move the value. Required for the |
{- "op": "add",
- "path": "string",
- "value": { },
- "from": "string"
}
An array of JSON patch objects to apply partial updates to resources.
op required | string The operation.
| ||||||||||||||||||||||||||
path | string The JSON Pointer to the target document location at which to complete the operation. | ||||||||||||||||||||||||||
value | object (Patch Value) The value to apply. The | ||||||||||||||||||||||||||
from | string The JSON Pointer to the target document location from which to move the value. Required for the |
[- {
- "op": "add",
- "path": "string",
- "value": { },
- "from": "string"
}
]
The merchant-preferred payment methods.
The merchant-preferred payment methods.
Enum: | Description |
---|---|
UNRESTRICTED | Accepts any type of payment from the customer. |
IMMEDIATE_PAYMENT_REQUIRED | Accepts only immediate payment from the customer. For example, credit card, PayPal balance, or instant ACH. Ensures that at the time of capture, the payment does not have the |
"UNRESTRICTED"
The customer who approves and pays for the order. The customer is also known as the payer.
email_address | string <merchant_common_email_address_v2> (email) <= 254 characters (?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-... The email address of the payer. |
payer_id | string <ppaas_payer_id_v3> (PayPal Account Identifier) = 13 characters ^[2-9A-HJ-NP-Z]{13}$ The PayPal-assigned ID for the payer. |
object (Name) The name of the payer. Supports only the | |
object (phone_with_type) The phone number of the customer. Available only when you enable the Contact Telephone Number option in the Profile & Settings for the merchant's PayPal account. The |
{- "email_address": "string",
- "payer_id": "stringstrings",
- "name": {
- "given_name": "string",
- "surname": "string"
}, - "phone": {
- "phone_type": "FAX",
- "phone_number": {
- "national_number": "string"
}
}
}
The customer who approves and pays for the order. The customer is also known as the payer.
email_address | string <merchant_common_email_address_v2> (email) <= 254 characters (?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-... The email address of the payer. |
payer_id | string <ppaas_payer_id_v3> (PayPal Account Identifier) = 13 characters ^[2-9A-HJ-NP-Z]{13}$ The PayPal-assigned ID for the payer. |
{- "email_address": "string",
- "payer_id": "stringstrings"
}
The customer and merchant payment preferences.
payer_selected | string non-empty ^[0-9A-Z_]+$ Default: "PAYPAL" The customer-selected payment method on the merchant site. | ||||||
payee_preferred | string (payee_payment_method_preference) [ 1 .. 255 ] characters ^[0-9A-Z_]+$ Default: "UNRESTRICTED" The merchant-preferred payment methods.
|
{- "payer_selected": "PAYPAL",
- "payee_preferred": "UNRESTRICTED"
}
The payment preferences for a subscription.
auto_bill_outstanding | boolean Default: true Indicates whether to automatically bill the outstanding amount in the next billing cycle. | ||||||
setup_fee_failure_action | string [ 1 .. 24 ] characters ^[A-Z_]+$ Default: "CANCEL" The action to take on the subscription if the initial payment for the setup fails.
| ||||||
payment_failure_threshold | integer [ 0 .. 999 ] Default: 0 The maximum number of payment failures before a subscription is suspended. For example, if | ||||||
object (Money) The initial set-up fee for the service. |
{- "auto_bill_outstanding": true,
- "setup_fee_failure_action": "CONTINUE",
- "payment_failure_threshold": 0,
- "setup_fee": {
- "currency_code": "str",
- "value": "string"
}
}
The payment preferences to override at subscription level.
auto_bill_outstanding | boolean Indicates whether to automatically bill the outstanding amount in the next billing cycle. | ||||||
setup_fee_failure_action | string [ 1 .. 24 ] characters ^[A-Z_]+$ The action to take on the subscription if the initial payment for the setup fails.
| ||||||
payment_failure_threshold |