Files
paypal-checkout-orders-open…/openapi.json
a2a-platform 858df123a8 deploy
2026-06-27 01:02:00 +00:00

17989 lines
692 KiB
JSON

{
"components": {
"parameters": {
"authorization": {
"description": "Holds authorization information for external API calls.",
"examples": {
"bearer": {
"description": "An authorization header with information for the Bearer authorization scheme. The authorization parameter value is randomized for this example.",
"summary": "Bearer authorization.",
"value": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
}
},
"in": "header",
"name": "Authorization",
"required": false,
"schema": {
"$ref": "#/components/schemas/standard_header_schema"
}
},
"paypal_auth_assertion": {
"description": "Header for an API client-provided JWT assertion that identifies the merchant. Establishing the consent to act-on-behalf of a merchant is a prerequisite for using this header.",
"examples": {
"auth_assertion": {
"description": "A paypal-auth-assertion header with a randomized value.",
"summary": "An auth assertion.",
"value": "eyJhbGciOiJub25lIn0.eyJlbWFpbCI6Im15QGVtYWlsLmNvbSJ9"
}
},
"in": "header",
"name": "PayPal-Auth-Assertion",
"required": false,
"schema": {
"description": "Header for an API client-provided JWT assertion that identifies the merchant. Establishing the consent to act-on-behalf of a merchant is a prerequisite for using this header.",
"maxLength": 10000,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
}
},
"paypal_client_metadata_id": {
"description": "A GUID value originating from Fraudnet and Dyson passed from external API clients via HTTP header. The value is used by Risk decisions to correlate calls which, in turn, might result in lower decline rates..",
"examples": {
"guid": {
"description": "A paypal-client-metadata-id header with a randomized value.",
"summary": "A GUID.",
"value": "1295065d-6f34-42dc-ac65-fac0c86af250"
}
},
"in": "header",
"name": "PayPal-Client-Metadata-Id",
"required": false,
"schema": {
"$ref": "#/components/schemas/guid"
}
}
},
"responses": {
"204_response": {
"description": "No Content."
},
"401_error_response": {
"content": {
"application/json": {
"examples": {
"generic": {
"description": "Example response for unauthorized request.",
"summary": "Generic 'Unauthorized' error.",
"value": {
"debug_id": "b1d1f06c7246c",
"message": "Authentication failed due to missing Authorization header, or invalid authentication credentials.",
"name": "AUTHENTICATION_FAILURE"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Unauthorized."
},
"403_error_response": {
"content": {
"application/json": {
"examples": {
"generic": {
"description": "Example response for a forbidden request.",
"summary": "Generic 'Forbidden' error.",
"value": {
"debug_id": "b1d1f06c7246c",
"message": "Authorization failed due to insufficient permissions.",
"name": "NOT_AUTHORIZED"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Forbidden."
},
"404_error_response": {
"content": {
"application/json": {
"examples": {
"generic": {
"description": "Example response for a request to a resource that does not exist.",
"summary": "Generic 'Not Found' error.",
"value": {
"debug_id": "b1d1f06c7246c",
"message": "The specified resource does not exist.",
"name": "RESOURCE_NOT_FOUND"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Not Found."
},
"500_error_response": {
"content": {
"application/json": {
"examples": {
"generic": {
"description": "Example response for a request that fails for reasons internal to the server.",
"summary": "Generic internal server error.",
"value": {
"debug_id": "b1d1f06c7246c",
"message": "An internal server error has occurred.",
"name": "INTERNAL_SERVER_ERROR"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Internal Server Error."
},
"default_response": {
"content": {
"application/json": {
"examples": {
"generic": {
"description": "Example catch all response, should not be encountered in practice.",
"summary": "Default response.",
"value": {
"debug_id": "b1d1f06c7246c",
"message": "An internal server error has occurred.",
"name": "INTERNAL_SERVER_ERROR"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Default response."
}
},
"schemas": {
"account_id": {
"description": "The account identifier for a PayPal account.",
"maxLength": 13,
"minLength": 13,
"pattern": "^[2-9A-HJ-NP-Z]{13}$",
"title": "PayPal Account Identifier",
"type": "string"
},
"account_id-2": {
"description": "The PayPal payer ID, which is a masked version of the PayPal account number intended for use with third parties. The account number is reversibly encrypted and a proprietary variant of Base32 is used to encode the result.",
"maxLength": 13,
"minLength": 13,
"pattern": "^[2-9A-HJ-NP-Z]{13}$",
"type": "string"
},
"activity_timestamps": {
"description": "The date and time stamps that are common to authorized payment, captured payment, and refund transactions.",
"properties": {
"create_time": {
"allOf": [
{
"$ref": "#/components/schemas/date_time"
},
{
"description": "The date and time when the transaction occurred, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).",
"readOnly": true
}
]
},
"update_time": {
"allOf": [
{
"$ref": "#/components/schemas/date_time"
},
{
"description": "The date and time when the transaction was last updated, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).",
"readOnly": true
}
]
}
},
"title": "activity_timestamps",
"type": "object"
},
"address_portable": {
"description": "The portable international postal address. Maps to [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls: the autocomplete attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute).",
"properties": {
"address_details": {
"description": "The non-portable additional address details include fine-grain address information for Compliance, Risk, and other scenarios. This isn't portable with common third-party and open source applications. This can include data that is redundant with core fields. For example, `address_portable.address_line_1` is usually a combination of `address_details.street_number`, `street_name`, and `street_type`.",
"properties": {
"building_name": {
"description": "A named locations that represents the premise. Usually a building name or number or collection of buildings with a common name or number. For example, <code>Craven House</code>.",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"delivery_service": {
"description": "The delivery service. Post office box, bag number, or post office name.",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"street_name": {
"description": "The street name. Just `Drury` in `Drury Lane`.",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"street_number": {
"description": "The street number.",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"street_type": {
"description": "The street type. For example, avenue, boulevard, road, or expressway.",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"sub_building": {
"description": "The first-order entity below a named building or location that represents the sub-premise. Usually a single building within a collection of buildings with a common name. Can be a flat, story, floor, room, or apartment.",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"title": "Address Details",
"type": "object"
},
"address_line_1": {
"description": "The first line of the address, such as number and street, for example, `173 Drury Lane`. Needed for data entry, and Compliance and Risk checks. This field needs to pass the full address.",
"maxLength": 300,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"address_line_2": {
"description": "The second line of the address, for example, a suite or apartment number.",
"maxLength": 300,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"address_line_3": {
"description": "The third line of the address, if needed. Examples include a street complement for Brazil, direction text, such as `next to Walmart`, or a landmark in an Indian address.",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"admin_area_1": {
"description": "The highest-level sub-division in a country, which is usually a province, state, or ISO-3166-2 subdivision. This data is formatted for postal delivery, for example, `CA` and not `California`. Value, by country, is:<ul><li>UK. A county.</li><li>US. A state.</li><li>Canada. A province.</li><li>Japan. A prefecture.</li><li>Switzerland. A *kanton*.</li></ul>",
"maxLength": 300,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"admin_area_2": {
"description": "A city, town, or village. Smaller than `admin_area_level_1`.",
"maxLength": 120,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"admin_area_3": {
"description": "The sub-locality, suburb, neighborhood, or district. This is smaller than `admin_area_level_2`. Value is:<ul><li>Brazil. Suburb, *bairro*, or neighborhood.</li><li>India. Sub-locality or district. Street name information isn't always available, but a sub-locality or district can be a very small area.</li></ul>",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"admin_area_4": {
"description": "The neighborhood, ward, or district. This is smaller than `admin_area_level_3` or `sub_locality`. Value is:<ul><li>The postal sorting code that is used in Guernsey and many French territories, such as French Guiana.</li><li>The fine-grained administrative levels in China.</li></ul>",
"maxLength": 100,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"country_code": {
"$ref": "#/components/schemas/country_code"
},
"postal_code": {
"description": "The postal code, which is the ZIP code or equivalent. Typically required for countries with a postal code or an equivalent. See [postal code](https://en.wikipedia.org/wiki/Postal_code).",
"maxLength": 60,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"required": [
"country_code"
],
"title": "Portable Postal Address (Medium-Grained)",
"type": "object"
},
"amount_breakdown": {
"description": "The breakdown of the amount. Breakdown provides details such as total item amount, total tax amount, shipping, handling, insurance, and discounts, if any.",
"properties": {
"discount": {
"allOf": [
{
"$ref": "#/components/schemas/discount_with_breakdown"
},
{
"description": "The discount for all items within a given `purchase_unit`. <code>discount.value</code> can not be a negative number."
}
]
},
"handling": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The handling fee for all items within a given `purchase_unit`. <code>handling.value</code> can not be a negative number."
}
]
},
"insurance": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The insurance fee for all items within a given `purchase_unit`. <code>insurance.value</code> can not be a negative number."
}
]
},
"item_total": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The subtotal for all items. Required if the request includes `purchase_units[].items[].unit_amount`. Must equal the sum of `(items[].unit_amount * items[].quantity)` for all items. <code>item_total.value</code> can not be a negative number."
}
]
},
"shipping": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The shipping fee for all items within a given `purchase_unit`. <code>shipping.value</code> can not be a negative number."
}
]
},
"shipping_discount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The shipping discount for all items within a given `purchase_unit`. <code>shipping_discount.value</code> can not be a negative number."
}
]
},
"tax_total": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The total tax for all items. Required if the request includes `purchase_units.items.tax`. Must equal the sum of `(items[].tax * items[].quantity)` for all items. <code>tax_total.value</code> can not be a negative number."
}
]
}
},
"title": "amount_breakdown",
"type": "object"
},
"amount_with_breakdown": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"properties": {
"breakdown": {
"$ref": "#/components/schemas/amount_breakdown"
}
},
"type": "object"
}
],
"description": "The total order amount with an optional breakdown that provides details, such as the total item amount, total tax amount, shipping, handling, insurance, and discounts, if any.<br/>If you specify `amount.breakdown`, the amount equals `item_total` plus `tax_total` plus `shipping` plus `handling` plus `insurance` minus `shipping_discount` minus discount.<br/>The amount must be a positive number. For listed of supported currencies and decimal precision, see the PayPal REST APIs <a href=\"/docs/integration/direct/rest/currency-codes/\">Currency Codes</a>.",
"title": "amount_with_breakdown",
"type": "object"
},
"app_switch_context": {
"description": "Merchant provided details of the native app or mobile web browser to facilitate buyer's app switch to the PayPal consumer app.",
"properties": {
"mobile_web": {
"$ref": "#/components/schemas/mobile_web_context"
},
"native_app": {
"$ref": "#/components/schemas/native_app_context"
}
},
"title": "Merchant App Switch Details & Preferences",
"type": "object"
},
"apple_pay": {
"description": "Information needed to pay using ApplePay.",
"properties": {
"attributes": {
"allOf": [
{
"$ref": "#/components/schemas/apple_pay_attributes_response"
},
{
"description": "Additional attributes associated with apple pay."
}
]
},
"card": {
"allOf": [
{
"$ref": "#/components/schemas/apple_pay_card_response"
},
{
"description": "The payment card information."
}
]
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with this payment method."
}
]
},
"id": {
"description": "ApplePay transaction identifier, this will be the unique identifier for this transaction provided by Apple. The pattern is defined by an external party and supports Unicode.",
"maxLength": 250,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "Name on the wallet."
}
]
},
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone"
},
{
"description": "The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). Supports only the `national_number` property.",
"not": {
"anyOf": [
{
"required": [
"country_code"
]
},
{
"required": [
"extension_number"
]
}
]
}
}
]
},
"stored_credential": {
"$ref": "#/components/schemas/card_stored_credential"
},
"token": {
"description": "Encrypted ApplePay token, containing card information. This token would be base64encoded. The pattern is defined by an external party and supports Unicode.",
"maxLength": 10000,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
}
},
"title": "apple_pay",
"type": "object"
},
"apple_pay_attributes": {
"description": "Additional attributes associated with apple pay.",
"properties": {
"customer": {
"$ref": "#/components/schemas/customer"
},
"vault": {
"$ref": "#/components/schemas/v3_vault_instruction_base"
}
},
"title": "apple_pay_attributes",
"type": "object"
},
"apple_pay_attributes_response": {
"description": "Additional attributes associated with the use of Apple Pay.",
"properties": {
"vault": {
"$ref": "#/components/schemas/vault_response"
}
},
"title": "apple_pay_attributes_response",
"type": "object"
},
"apple_pay_card_response": {
"allOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/card_response"
},
{
"not": {
"anyOf": [
{
"required": [
"id"
]
},
{
"required": [
"last_n_chars"
]
},
{
"required": [
"issuer"
]
}
]
}
}
]
},
{
"properties": {
"billing_address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The billing address for this card. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The country where the card is issued."
}
]
},
"name": {
"description": "The card holder's name as it appears on the card.",
"maxLength": 300,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"type": "object"
}
],
"description": "The Card from Apple Pay Wallet used to fund the payment.",
"title": "apple_pay_card_response",
"type": "object"
},
"apple_pay_decrypted_token_data": {
"description": "Information about the Payment data obtained by decrypting Apple Pay token.",
"properties": {
"device_manufacturer_id": {
"description": "Apple Pay Hex-encoded device manufacturer identifier. The pattern is defined by an external party and supports Unicode.",
"maxLength": 2000,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"payment_data": {
"allOf": [
{
"$ref": "#/components/schemas/apple_pay_payment_data"
},
{
"description": "Apple Pay payment data object which contains the cryptogram, eci_indicator and other data."
}
]
},
"payment_data_type": {
"description": "Indicates the type of payment data passed, in case of Non China the payment data is 3DSECURE and for China it is EMV.",
"enum": [
"3DSECURE",
"EMV"
],
"type": "string"
},
"tokenized_card": {
"allOf": [
{
"$ref": "#/components/schemas/card"
},
{
"description": "Apple Pay tokenized credit card used to pay.",
"not": {
"anyOf": [
{
"required": [
"id"
]
},
{
"required": [
"security_code"
]
},
{
"required": [
"last_digits"
]
},
{
"required": [
"authentication_results"
]
},
{
"required": [
"attributes"
]
}
]
}
}
]
},
"transaction_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The transaction amount for the payment that the payer has approved on apple platform."
}
]
}
},
"required": [
"tokenized_card"
],
"title": "apple_pay_decrypted_token_data",
"type": "object"
},
"apple_pay_experience_context": {
"description": "Customizes the payer experience during the approval process for the payment.",
"properties": {
"cancel_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer is redirected after the customer cancels the payment.",
"format": "uri"
}
]
},
"return_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer is redirected after the customer approves the payment.",
"format": "uri"
}
]
}
},
"required": [
"cancel_url",
"return_url"
],
"title": "apple_pay_experience_context",
"type": "object"
},
"apple_pay_payment_data": {
"description": "Information about the decrypted apple pay payment data for the token like cryptogram, eci indicator.",
"properties": {
"cryptogram": {
"description": "Online payment cryptogram, as defined by 3D Secure. The pattern is defined by an external party and supports Unicode.",
"maxLength": 2000,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"eci_indicator": {
"description": "ECI indicator, as defined by 3- Secure. The pattern is defined by an external party and supports Unicode.",
"maxLength": 256,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"emv_data": {
"description": "Encoded Apple Pay EMV Payment Structure used for payments in China. The pattern is defined by an external party and supports Unicode.",
"maxLength": 2000,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"pin": {
"description": "Bank Key encrypted Apple Pay PIN. The pattern is defined by an external party and supports Unicode.",
"maxLength": 2000,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
}
},
"title": "apple_pay_payment_data",
"type": "object"
},
"apple_pay_request": {
"description": "Information needed to pay using ApplePay.",
"properties": {
"attributes": {
"$ref": "#/components/schemas/apple_pay_attributes"
},
"decrypted_token": {
"allOf": [
{
"$ref": "#/components/schemas/apple_pay_decrypted_token_data"
},
{
"description": "The decrypted payload details for the apple pay token."
}
]
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with apple pay."
}
]
},
"experience_context": {
"$ref": "#/components/schemas/apple_pay_experience_context"
},
"id": {
"description": "ApplePay transaction identifier, this will be the unique identifier for this transaction provided by Apple. The pattern is defined by an external party and supports Unicode.",
"maxLength": 250,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "Name on the account holder associated with apple pay."
}
]
},
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone_number_without_country_code"
},
{
"description": "The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). Supports only the `national_number` property."
}
]
},
"stored_credential": {
"$ref": "#/components/schemas/card_stored_credential"
},
"vault_id": {
"allOf": [
{
"$ref": "#/components/schemas/vault_id"
},
{
"description": "The PayPal-generated ID for the saved apple pay payment_source. This ID should be stored on the merchant's server so the saved payment source can be used for future transactions."
}
]
}
},
"title": "apple_pay_request",
"type": "object"
},
"assurance_details": {
"description": "Information about cardholder possession validation and cardholder identification and verifications (ID&V).",
"properties": {
"account_verified": {
"default": false,
"description": "If true, indicates that Cardholder possession validation has been performed on returned payment credential.",
"type": "boolean"
},
"card_holder_authenticated": {
"default": false,
"description": "If true, indicates that identification and verifications (ID&V) was performed on the returned payment credential.If false, the same risk-based authentication can be performed as you would for card transactions. This risk-based authentication can include, but not limited to, step-up with 3D Secure protocol if applicable.",
"type": "boolean"
}
},
"title": "assurance_details",
"type": "object"
},
"authentication_response": {
"description": "Results of Authentication such as 3D Secure.",
"properties": {
"liability_shift": {
"$ref": "#/components/schemas/liability_shift"
},
"three_d_secure": {
"$ref": "#/components/schemas/three_d_secure_authentication_response"
}
},
"title": "authentication_response",
"type": "object"
},
"authorization": {
"allOf": [
{
"$ref": "#/components/schemas/authorization_status"
},
{
"properties": {
"amount": {
"allOf": [
{
"$ref": "#/components/schemas/amount_with_breakdown"
},
{
"description": "The amount for this authorized payment.",
"readOnly": true
}
]
},
"custom_id": {
"description": "The API caller-provided external ID. Used to reconcile API caller-initiated transactions with PayPal transactions. Appears in transaction and settlement reports.",
"maxLength": 255,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"expiration_time": {
"allOf": [
{
"$ref": "#/components/schemas/date_time"
},
{
"description": "The date and time when the authorized payment expires, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).",
"readOnly": true
}
]
},
"id": {
"description": "The PayPal-generated ID for the authorized payment.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"invoice_id": {
"description": "The API caller-provided external invoice number for this order. Appears in both the payer's transaction history and the emails that the payer receives.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"links": {
"description": "An array of related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links).",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description-2"
},
{
"title": "link_description"
}
]
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"network_transaction_reference": {
"allOf": [
{
"$ref": "#/components/schemas/network_transaction"
}
]
},
"seller_protection": {
"allOf": [
{
"$ref": "#/components/schemas/seller_protection"
},
{
"readOnly": true
}
]
}
},
"type": "object"
},
{
"$ref": "#/components/schemas/activity_timestamps"
}
],
"description": "The authorized payment transaction.",
"title": "authorization",
"type": "object"
},
"authorization_status": {
"description": "The status fields and status details for an authorized payment.",
"properties": {
"status": {
"description": "The status for the authorized payment.",
"enum": [
"CREATED",
"CAPTURED",
"DENIED",
"PARTIALLY_CAPTURED",
"VOIDED",
"PENDING"
],
"readOnly": true,
"title": "Authorization Status",
"type": "string"
},
"status_details": {
"allOf": [
{
"$ref": "#/components/schemas/authorization_status_details"
},
{
"description": "The details of the authorized order pending status.",
"readOnly": true
}
]
}
},
"title": "authorization_status",
"type": "object"
},
"authorization_status_details": {
"description": "The details of the authorized payment status.",
"properties": {
"reason": {
"description": "The reason why the authorized status is `PENDING`.",
"enum": [
"PENDING_REVIEW",
"DECLINED_BY_RISK_FRAUD_FILTERS"
],
"title": "Authorization Incomplete Reason",
"type": "string"
}
},
"title": "authorization_status_details",
"type": "object"
},
"authorization_with_additional_data": {
"allOf": [
{
"$ref": "#/components/schemas/authorization"
},
{
"properties": {
"processor_response": {
"allOf": [
{
"$ref": "#/components/schemas/processor_response"
},
{
"description": "The processor response for card transactions.",
"readOnly": true
}
]
}
},
"type": "object"
}
],
"description": "The authorization with additional payment details, such as risk assessment and processor response. These details are populated only for certain payment methods.",
"title": "authorization_with_additional_data",
"type": "object"
},
"bancontact": {
"description": "Information used to pay Bancontact.",
"properties": {
"bic": {
"allOf": [
{
"$ref": "#/components/schemas/bic"
},
{
"description": "The bank identification code (BIC)."
}
]
},
"card_last_digits": {
"description": "The last digits of the card used to fund the Bancontact payment.",
"maxLength": 4,
"minLength": 4,
"pattern": "^[0-9]{4}$",
"type": "string"
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"iban_last_chars": {
"$ref": "#/components/schemas/iban_last_chars"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"title": "bancontact",
"type": "object"
},
"bancontact_request": {
"description": "Information needed to pay using Bancontact.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"required": [
"country_code",
"name"
],
"title": "bancontact_request",
"type": "object"
},
"bic": {
"description": "The business identification code (BIC). In payments systems, a BIC is used to identify a specific business, most commonly a bank.",
"maxLength": 11,
"minLength": 8,
"pattern": "^[A-Z-a-z0-9]{4}[A-Z-a-z]{2}[A-Z-a-z0-9]{2}([A-Z-a-z0-9]{3})?$",
"title": "BIC",
"type": "string"
},
"billing_agreement_id": {
"description": "The PayPal billing agreement ID. References an approved recurring payment for goods or services.",
"maxLength": 128,
"minLength": 2,
"pattern": "^[a-zA-Z0-9-]+$",
"title": "billing_agreement_id",
"type": "string"
},
"billing_cycle": {
"description": "The billing cycle providing details of the billing frequency, amount, duration and if the billing cycle is a free, discounted or regular billing cycle. The sequence of the billing cycle will be in the following order - free trial billing cycle(s), discounted trial billing cycle(s), regular billing cycle(s).",
"properties": {
"pricing_scheme": {
"allOf": [
{
"$ref": "#/components/schemas/pricing_scheme"
},
{
"description": "The active pricing scheme for this billing cycle. A free trial billing cycle does not require a pricing scheme."
}
]
},
"sequence": {
"default": 1,
"description": "The order in which this cycle is to run among other billing cycles. For example, a trial billing cycle has a `sequence` of `1` while a regular billing cycle has a `sequence` of `2`, so that trial cycle runs before the regular cycle.",
"maximum": 3,
"minimum": 1,
"type": "integer"
},
"start_date": {
"allOf": [
{
"$ref": "#/components/schemas/date_no_time"
},
{
"description": "The start date for the billing cycle, in YYYY-MM-DD. This field should be not be provided if the billing cycle starts at the time of checkout. When this field is not provided, the billing cycle amount will be included in any data validations confirming that the total provided by the merchant match the sum of individual items due at the time of checkout. Only one billing cycle (with sequence equal to 1) can have a no start date."
}
]
},
"tenure_type": {
"description": "The tenure type of the billing cycle identifies if the billing cycle is a trial(free or discounted) or regular billing cycle.",
"enum": [
"REGULAR",
"TRIAL"
],
"type": "string"
},
"total_cycles": {
"default": 1,
"description": "The number of times this billing cycle gets executed. Trial billing cycles can only be executed a finite number of times (value between <code>1</code> and <code>999</code> for <code>total_cycles</code>). Regular billing cycles can be executed infinite times (value of <code>0</code> for <code>total_cycles</code>) or a finite number of times (value between <code>1</code> and <code>999</code> for <code>total_cycles</code>).",
"maximum": 999,
"minimum": 0,
"type": "integer"
}
},
"required": [
"tenure_type"
],
"title": "billing_cycle",
"type": "object"
},
"bin_details": {
"description": "Bank Identification Number (BIN) details used to fund a payment.",
"properties": {
"bin": {
"description": "The Bank Identification Number (BIN) signifies the number that is being used to identify the granular level details (except the PII information) of the card.",
"maxLength": 25,
"minLength": 1,
"pattern": "^[0-9]+$",
"type": "string"
},
"bin_country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The [two-character ISO-3166-1 country code](/docs/integration/direct/rest/country-codes/) of the bank."
}
]
},
"issuing_bank": {
"description": "The issuer of the card instrument.",
"maxLength": 64,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"products": {
"description": "The type of card product assigned to the BIN by the issuer. These values are defined by the issuer and may change over time. Some examples include: PREPAID_GIFT, CONSUMER, CORPORATE.",
"items": {
"description": "This value provides the category of the BIN.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"title": "products",
"type": "string"
},
"maxItems": 256,
"minItems": 1,
"type": "array"
}
},
"title": "bin_details",
"type": "object"
},
"blik": {
"description": "Information used to pay using BLIK.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"email": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with this payment method."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
},
"one_click": {
"allOf": [
{
"$ref": "#/components/schemas/blik_one_click_response"
},
{
"description": "The one-click integration flow object."
}
]
}
},
"title": "blik",
"type": "object"
},
"blik_experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"properties": {
"consumer_ip": {
"allOf": [
{
"$ref": "#/components/schemas/ip_address"
},
{
"description": "The IP address of the consumer. It could be either IPv4 or IPv6."
}
]
},
"consumer_user_agent": {
"description": "The payer's User Agent. For example, Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0).",
"maxLength": 256,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
}
},
"type": "object"
}
],
"description": "Customizes the payer experience during the approval process for the BLIK payment.",
"title": "blik_experience_context",
"type": "object"
},
"blik_one_click": {
"description": "Information used to pay using BLIK one-click flow.",
"properties": {
"alias_key": {
"description": "A Blik-defined identifier for a specific Blik-enabled bank account that is associated with a given merchant. Used only in conjunction with a Consumer Reference.",
"maxLength": 19,
"minLength": 1,
"pattern": "^[0-9]+$",
"type": "string"
},
"alias_label": {
"description": "A bank defined identifier used as a display name to allow the payer to differentiate between multiple registered bank accounts.",
"maxLength": 35,
"minLength": 8,
"pattern": "^[ -~]{8,35}$",
"type": "string"
},
"auth_code": {
"description": "The 6-digit code used to authenticate a consumer within BLIK.",
"maxLength": 6,
"minLength": 6,
"pattern": "^[0-9]{6}$",
"type": "string"
},
"consumer_reference": {
"description": "The merchant generated, unique reference serving as a primary identifier for accounts connected between Blik and a merchant.",
"maxLength": 64,
"minLength": 3,
"pattern": "^[ -~]{3,64}$",
"type": "string"
}
},
"required": [
"consumer_reference"
],
"title": "blik_one_click",
"type": "object"
},
"blik_one_click_response": {
"description": "Information used to pay using BLIK one-click flow.",
"properties": {
"consumer_reference": {
"description": "The merchant generated, unique reference serving as a primary identifier for accounts connected between Blik and a merchant.",
"maxLength": 64,
"minLength": 3,
"pattern": "^[ -~]{3,64}$",
"type": "string"
}
},
"title": "blik_one_click_response",
"type": "object"
},
"blik_request": {
"description": "Information needed to pay using BLIK.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"email": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with this payment method."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/blik_experience_context"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"level_0": {
"allOf": [
{
"$ref": "#/components/schemas/blik_seamless"
},
{
"description": "The level_0 integration flow object."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
},
"one_click": {
"allOf": [
{
"$ref": "#/components/schemas/blik_one_click"
},
{
"description": "The one-click integration flow object."
}
]
}
},
"required": [
"country_code",
"name"
],
"title": "blik_request",
"type": "object"
},
"blik_seamless": {
"description": "Information used to pay using BLIK level_0 flow.",
"properties": {
"auth_code": {
"description": "The 6-digit code used to authenticate a consumer within BLIK.",
"maxLength": 6,
"minLength": 6,
"pattern": "^[0-9]{6}$",
"type": "string"
}
},
"required": [
"auth_code"
],
"title": "blik_level_0",
"type": "object"
},
"callback_configuration": {
"description": "CallBack Configuration that the merchant can provide to PayPal/Venmo.",
"properties": {
"callback_events": {
"description": "An array of callback events merchant can subscribe to for the corresponding callback url.",
"items": {
"description": "CallBack event.",
"enum": [
"SHIPPING_ADDRESS",
"SHIPPING_OPTIONS"
],
"title": "callback events",
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"callback_url": {
"description": "Merchant provided CallBack url.PayPal/Venmo will use this url to call the merchant back when the events occur .PayPal/Venmo expects a secured url usually in the https format.merchant can append the cart id or other params part of the url as query or path params.",
"format": "uri",
"maxLength": 2040,
"minLength": 10,
"type": "string"
}
},
"required": [
"callback_events",
"callback_url"
],
"title": "callback_configuration",
"type": "object"
},
"capture": {
"allOf": [
{
"$ref": "#/components/schemas/capture_status"
},
{
"properties": {
"amount": {
"allOf": [
{
"$ref": "#/components/schemas/amount_with_breakdown"
},
{
"description": "The amount for this captured payment.",
"readOnly": true
}
]
},
"custom_id": {
"description": "The API caller-provided external ID. Used to reconcile API caller-initiated transactions with PayPal transactions. Appears in transaction and settlement reports.",
"maxLength": 255,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"disbursement_mode": {
"allOf": [
{
"$ref": "#/components/schemas/disbursement_mode"
}
]
},
"final_capture": {
"default": false,
"description": "Indicates whether you can make additional captures against the authorized payment. Set to `true` if you do not intend to capture additional payments against the authorization. Set to `false` if you intend to capture additional payments against the authorization.",
"readOnly": true,
"type": "boolean"
},
"id": {
"description": "The PayPal-generated ID for the captured payment.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"invoice_id": {
"description": "The API caller-provided external invoice number for this order. Appears in both the payer's transaction history and the emails that the payer receives.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"links": {
"description": "An array of related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links).",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description-2"
},
{
"title": "link_description"
}
]
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"network_transaction_reference": {
"allOf": [
{
"$ref": "#/components/schemas/network_transaction"
}
]
},
"processor_response": {
"allOf": [
{
"$ref": "#/components/schemas/processor_response"
},
{
"description": "An object that provides additional processor information for a direct credit card transaction."
}
]
},
"seller_protection": {
"allOf": [
{
"$ref": "#/components/schemas/seller_protection"
},
{
"readOnly": true
}
]
},
"seller_receivable_breakdown": {
"allOf": [
{
"$ref": "#/components/schemas/seller_receivable_breakdown"
},
{
"readOnly": true
}
]
}
},
"type": "object"
},
{
"allOf": [
{
"$ref": "#/components/schemas/activity_timestamps"
}
]
}
],
"description": "A captured payment.",
"title": "capture",
"type": "object"
},
"capture_status": {
"description": "The status and status details of a captured payment.",
"properties": {
"status": {
"description": "The status of the captured payment.",
"enum": [
"COMPLETED",
"DECLINED",
"PARTIALLY_REFUNDED",
"PENDING",
"REFUNDED",
"FAILED"
],
"readOnly": true,
"title": "Capture Status",
"type": "string"
},
"status_details": {
"allOf": [
{
"$ref": "#/components/schemas/capture_status_details"
},
{
"description": "The details of the captured payment status.",
"readOnly": true
}
]
}
},
"title": "capture_status",
"type": "object"
},
"capture_status_details": {
"description": "The details of the captured payment status.",
"properties": {
"reason": {
"description": "The reason why the captured payment status is `PENDING` or `DENIED`.",
"enum": [
"BUYER_COMPLAINT",
"CHARGEBACK",
"ECHECK",
"INTERNATIONAL_WITHDRAWAL",
"OTHER",
"PENDING_REVIEW",
"RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION",
"REFUNDED",
"TRANSACTION_APPROVED_AWAITING_FUNDING",
"UNILATERAL",
"VERIFICATION_REQUIRED",
"DECLINED_BY_RISK_FRAUD_FILTERS"
],
"title": "Capture Incomplete Reason",
"type": "string"
}
},
"title": "capture_status_details",
"type": "object"
},
"card": {
"description": "The payment card to use to fund a payment. Can be a credit or debit card.",
"properties": {
"attributes": {
"allOf": [
{
"$ref": "#/components/schemas/card_attributes"
},
{
"description": "Additional attributes associated with the use of this card.",
"title": "card_attributes"
}
]
},
"billing_address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The billing address for this card. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"brand": {
"allOf": [
{
"$ref": "#/components/schemas/card_brand"
},
{
"description": "The card brand or network. Typically used in the response."
}
]
},
"card_type": {
"allOf": [
{
"$ref": "#/components/schemas/card_brand"
},
{
"deprecated": true,
"description": "The card brand or network. Typically used in the response. <b>DEPRECATED</b><br><table><tr><th>See</th></tr><tr><td>type</td></tr></table>",
"readOnly": true
}
]
},
"expiry": {
"allOf": [
{
"$ref": "#/components/schemas/date_year_month"
},
{
"description": "The card expiration year and month, in [Internet date format](https://tools.ietf.org/html/rfc3339#section-5.6) For example: 2028-04"
}
]
},
"id": {
"allOf": [
{
"$ref": "#/components/schemas/instrument_id"
},
{
"description": "The PayPal-generated ID for the card.",
"readOnly": true
}
]
},
"last_digits": {
"description": "The last digits of the payment card.",
"maxLength": 4,
"minLength": 2,
"pattern": "^[0-9]{2,4}$",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The card holder's name as it appears on the card.",
"maxLength": 300,
"minLength": 1,
"pattern": "^.{1,300}$",
"type": "string"
},
"number": {
"description": "The primary account number (PAN) for the payment card.",
"maxLength": 19,
"minLength": 13,
"pattern": "^[0-9]{13,19}$",
"type": "string"
},
"security_code": {
"description": "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 `payment_initiator=MERCHANT`.",
"maxLength": 4,
"minLength": 3,
"pattern": "^[0-9]{3,4}$",
"type": "string"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/card_type"
},
{
"description": "The payment card type."
}
]
}
},
"title": "card",
"type": "object"
},
"card_attributes": {
"description": "Additional attributes associated with the use of this card.",
"properties": {
"customer": {
"$ref": "#/components/schemas/card_customer"
},
"vault": {
"allOf": [
{
"$ref": "#/components/schemas/vault_instruction_base"
},
{
"description": "Instruction to vault the card based on the specified strategy."
}
]
},
"verification": {
"allOf": [
{
"$ref": "#/components/schemas/card_verification"
},
{
"description": "Instruction to optionally verify the card based on the specified strategy."
}
]
}
},
"title": "card_attributes",
"type": "object"
},
"card_attributes_response": {
"description": "Additional attributes associated with the use of this card.",
"properties": {
"vault": {
"$ref": "#/components/schemas/card_vault_response"
}
},
"title": "card_attributes_response",
"type": "object"
},
"card_brand": {
"description": "The card network or brand. Applies to credit, debit, gift, and payment cards.",
"enum": [
"VISA",
"MASTERCARD",
"DISCOVER",
"AMEX",
"SOLO",
"JCB",
"STAR",
"DELTA",
"SWITCH",
"MAESTRO",
"CB_NATIONALE",
"CONFIGOGA",
"CONFIDIS",
"ELECTRON",
"CETELEM",
"CHINA_UNION_PAY",
"DINERS",
"ELO",
"HIPER",
"HIPERCARD",
"RUPAY",
"GE",
"SYNCHRONY",
"EFTPOS",
"CARTE_BANCAIRE",
"STAR_ACCESS",
"PULSE",
"NYCE",
"ACCEL",
"UNKNOWN"
],
"title": "card_brand",
"type": "string"
},
"card_customer": {
"allOf": [
{
"$ref": "#/components/schemas/customer"
},
{
"properties": {
"merchant_customer_id": {
"description": "Merchants and partners may already have a data-store where their customer information is persisted. Use merchant_customer_id to associate the PayPal-generated customer.id to your representation of a customer.",
"maxLength": 64,
"minLength": 1,
"pattern": "^[0-9a-zA-Z-_.^*$@#]+$",
"type": "string"
}
},
"type": "object"
}
],
"description": "The details about a customer in PayPal's system of record.",
"title": "card_customer",
"type": "object"
},
"card_experience_context": {
"description": "Customizes the payer experience during the 3DS Approval for payment.",
"properties": {
"cancel_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer will be redirected upon cancelling the 3DS challenge.",
"format": "uri",
"maxLength": 4000,
"minLength": 10,
"type": "string"
}
]
},
"return_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer will be redirected upon successfully completing the 3DS challenge.",
"format": "uri",
"maxLength": 4000,
"minLength": 10,
"type": "string"
}
]
}
},
"title": "card_experience_context",
"type": "object"
},
"card_from_request": {
"description": "Representation of card details as received in the request.",
"properties": {
"expiry": {
"allOf": [
{
"$ref": "#/components/schemas/date_year_month"
},
{
"description": "The card expiration year and month, in [Internet date format](https://tools.ietf.org/html/rfc3339#section-5.6)."
}
]
},
"last_digits": {
"description": "The last digits of the payment card.",
"maxLength": 4,
"minLength": 2,
"pattern": "^.*[0-9]{2,}.*$",
"readOnly": true,
"type": "string"
}
},
"title": "card_from_request",
"type": "object"
},
"card_request": {
"allOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/card"
},
{
"not": {
"anyOf": [
{
"required": [
"id"
]
},
{
"required": [
"last_digits"
]
},
{
"required": [
"card_type"
]
},
{
"required": [
"type"
]
},
{
"required": [
"brand"
]
}
]
}
}
]
},
{
"properties": {
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/card_experience_context"
},
{}
]
},
"network_token": {
"allOf": [
{
"$ref": "#/components/schemas/network_token_request"
},
{
"description": "A 3rd party network token refers to a network token that the merchant provisions from and vaults with an external TSP (Token Service Provider) other than PayPal."
}
]
},
"single_use_token": {
"allOf": [
{
"$ref": "#/components/schemas/single_use_token"
},
{
"description": "The PayPal-generated, short-lived, one-time-use token, used to communicate payment information to PayPal for transaction processing."
}
]
},
"stored_credential": {
"$ref": "#/components/schemas/card_stored_credential"
},
"vault_id": {
"allOf": [
{
"$ref": "#/components/schemas/vault_id"
},
{
"description": "The PayPal-generated ID for the saved card payment source. Typically stored on the merchant's server."
}
]
}
},
"type": "object"
}
],
"description": "The payment card to use to fund a payment. Can be a credit or debit card.<blockquote><strong>Note:</strong> Passing card number, cvv and expiry directly via the API requires <a href=\"https://www.pcisecuritystandards.org/pci_security/completing_self_assessment\"> PCI SAQ D compliance</a>. <br>*PayPal offers a mechanism by which you do not have to take on the <strong>PCI SAQ D</strong> burden by using hosted fields - refer to <a href=\"https://developer.paypal.com/docs/checkout/advanced/integrate/\">this Integration Guide</a>*.</blockquote>",
"title": "card_request",
"type": "object"
},
"card_response": {
"description": "The payment card to use to fund a payment. Card can be a credit or debit card.",
"properties": {
"attributes": {
"$ref": "#/components/schemas/card_attributes_response"
},
"authentication_result": {
"$ref": "#/components/schemas/authentication_response"
},
"available_networks": {
"description": "Array of brands or networks associated with the card.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/card_brand"
},
{
"title": "card_brand"
}
]
},
"maxItems": 256,
"minItems": 1,
"readOnly": true,
"type": "array"
},
"bin_details": {
"allOf": [
{
"$ref": "#/components/schemas/bin_details"
},
{
"description": "Bank Identification Number (BIN) details used to fund a payment."
}
]
},
"brand": {
"allOf": [
{
"$ref": "#/components/schemas/card_brand"
},
{
"description": "The card brand or network. Typically used in the response.",
"readOnly": true
}
]
},
"expiry": {
"allOf": [
{
"$ref": "#/components/schemas/date_year_month"
},
{
"description": "The card expiration year and month, in [Internet date format](https://tools.ietf.org/html/rfc3339#section-5.6)."
}
]
},
"from_request": {
"$ref": "#/components/schemas/card_from_request"
},
"last_digits": {
"description": "The last digits of the payment card.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^.*[0-9]{2,}.*$",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The card holder's name as it appears on the card.",
"maxLength": 300,
"minLength": 2,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"stored_credential": {
"$ref": "#/components/schemas/card_stored_credential"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/card_type"
},
{
"description": "The payment card type."
}
]
}
},
"title": "card_response",
"type": "object"
},
"card_stored_credential": {
"description": "Provides additional details to process a payment using a `card` that has been stored or is intended to be stored (also referred to as stored_credential or card-on-file).<br/>Parameter compatibility:<br/><ul><li>`payment_type=ONE_TIME` is compatible only with `payment_initiator=CUSTOMER`.</li><li>`usage=FIRST` is compatible only with `payment_initiator=CUSTOMER`.</li><li>`previous_transaction_reference` or `previous_network_transaction_reference` is compatible only with `payment_initiator=MERCHANT`.</li><li>Only one of the parameters - `previous_transaction_reference` and `previous_network_transaction_reference` - can be present in the request.</li></ul>",
"properties": {
"payment_initiator": {
"$ref": "#/components/schemas/payment_initiator"
},
"payment_type": {
"$ref": "#/components/schemas/stored_payment_source_payment_type"
},
"previous_network_transaction_reference": {
"$ref": "#/components/schemas/network_transaction_reference"
},
"usage": {
"$ref": "#/components/schemas/stored_payment_source_usage_type"
}
},
"required": [
"payment_initiator",
"payment_type"
],
"title": "card_stored_credential",
"type": "object"
},
"card_supplementary_data": {
"description": "Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href=\"https://developer.paypal.com/docs/checkout/advanced/processing/\">checkout</a> or <a href=\"https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/\">multiparty checkout</a>.",
"properties": {
"level_2": {
"$ref": "#/components/schemas/level_2_card_processing_data"
},
"level_3": {
"$ref": "#/components/schemas/level_3_card_processing_data"
}
},
"title": "card_supplementary_data",
"type": "object"
},
"card_type": {
"description": "Type of card. i.e Credit, Debit and so on.",
"enum": [
"CREDIT",
"DEBIT",
"PREPAID",
"STORE",
"UNKNOWN"
],
"title": "card_type",
"type": "string"
},
"card_vault_response": {
"allOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/vault_response"
},
{
"not": {
"required": [
"customer"
]
}
}
]
},
{
"properties": {
"customer": {
"allOf": [
{
"$ref": "#/components/schemas/card_customer"
}
]
}
},
"type": "object"
}
],
"description": "The details about a saved Card payment source.",
"title": "card_vault_response",
"type": "object"
},
"card_verification": {
"description": "The API caller can opt in to verify the card through PayPal offered verification services (e.g. Smart Dollar Auth, 3DS).",
"properties": {
"method": {
"default": "SCA_WHEN_REQUIRED",
"description": "The method used for card verification.",
"enum": [
"SCA_ALWAYS",
"SCA_WHEN_REQUIRED",
"3D_SECURE",
"AVS_CVV"
],
"title": "card_verification",
"type": "string"
}
},
"title": "Card Verification",
"type": "object"
},
"charge_pattern": {
"description": "Expected business/pricing model for the billing agreement.",
"enum": [
"IMMEDIATE",
"DEFERRED",
"RECURRING_PREPAID",
"RECURRING_POSTPAID",
"THRESHOLD_PREPAID",
"THRESHOLD_POSTPAID",
"SUBSCRIPTION_PREPAID",
"SUBSCRIPTION_POSTPAID",
"UNSCHEDULED_PREPAID",
"UNSCHEDULED_POSTPAID",
"INSTALLMENT_PREPAID",
"INSTALLMENT_POSTPAID"
],
"type": "string"
},
"checkout_payment_intent": {
"description": "The intent to either capture payment immediately or authorize a payment for an order after order creation.",
"enum": [
"CAPTURE",
"AUTHORIZE"
],
"title": "checkout_payment_intent",
"type": "string"
},
"cobranded_card": {
"description": "Details about the merchant cobranded card used for order purchase.",
"properties": {
"amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "Amount that was charged to the cobranded card."
}
]
},
"labels": {
"description": "Array of labels for the cobranded card.",
"items": {
"description": "Label for the cobranded card.",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"title": "label",
"type": "string"
},
"maxItems": 25,
"minItems": 1,
"type": "array"
},
"payee": {
"allOf": [
{
"$ref": "#/components/schemas/payee_base"
},
{
"description": "Merchant associated with the purchase.",
"not": {
"required": [
"client_id"
]
},
"title": "payee"
}
]
}
},
"title": "cobranded_card",
"type": "object"
},
"confirm_order_request": {
"description": "Payer confirms the intent to pay for the Order using the provided payment source.",
"properties": {
"application_context": {
"$ref": "#/components/schemas/order_confirm_application_context"
},
"payment_source": {
"$ref": "#/components/schemas/payment_source"
}
},
"required": [
"payment_source"
],
"title": "confirm_order_request",
"type": "object"
},
"country_code": {
"description": "The [2-character ISO 3166-1 code](/api/rest/reference/country-codes/) that identifies the country or region.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.</blockquote>",
"maxLength": 2,
"minLength": 2,
"pattern": "^([A-Z]{2}|C2)$",
"type": "string"
},
"country_code-2": {
"description": "The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/) that identifies the country or region.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.</blockquote>",
"maxLength": 2,
"minLength": 2,
"pattern": "^([A-Z]{2}|C2)$",
"type": "string"
},
"crypto": {
"description": "Pay With Crypto details response object.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code"
},
{
"description": "The two-character ISO 3166-1 purchase country code."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment.",
"not": {
"anyOf": [
{
"required": [
"brand_name"
]
},
{
"required": [
"shipping_preference"
]
}
]
}
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/crypto_account_holder_name"
},
{
"description": "The name of the account holder associated with Crypto wallet."
}
]
}
},
"title": "crypto",
"type": "object"
},
"crypto_account_holder_name": {
"description": "Crypto account holder name.",
"properties": {
"given_name": {
"description": "When the account holder is a person, the account holder's given, or first, name.",
"maxLength": 140,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"middle_name": {
"description": "When the account holder is a person, the account holder's middle name. Use also to store multiple middle names including the patronymic, or father's, middle name.",
"maxLength": 140,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"prefix": {
"description": "The prefix, or title, to the account holder's name.",
"maxLength": 140,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"surname": {
"description": "When the account holder is a person, the account holder's surname or family name. Also known as the last name. Required when the account holder is a person. Use also to store multiple surnames including the matronymic, or mother's, surname.",
"maxLength": 140,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"required": [
"given_name",
"surname"
],
"title": "crypto_account_holder_name",
"type": "object"
},
"crypto_request": {
"description": "Crypto payment used to fund the transaction.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code"
},
{
"description": "The two-character ISO 3166-1 purchase country code."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base_without_brand_shipping"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/crypto_account_holder_name"
},
{
"description": "The name of the account holder associated with Crypto wallet."
}
]
}
},
"required": [
"country_code",
"experience_context",
"name"
],
"title": "crypto_request",
"type": "object"
},
"currency_code": {
"description": "The [three-character ISO-4217 currency code](/api/rest/reference/currency-codes/) that identifies the currency.",
"maxLength": 3,
"minLength": 3,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"customer": {
"description": "This object represents a merchant\u2019s customer, allowing them to store contact details, and track all payments associated with the same customer.",
"properties": {
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email"
},
{
"description": "Email address of the customer as provided to the merchant or on file with the merchant. Email Address is required if you are processing the transaction using PayPal Guest Processing which is offered to select partners and merchants."
}
]
},
"id": {
"$ref": "#/components/schemas/merchant_partner_customer_id"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/name"
},
{
"description": "The full name of the customer as provided to the merchant or on file with the merchant.",
"not": {
"anyOf": [
{
"required": [
"prefix"
]
},
{
"required": [
"middle_name"
]
},
{
"required": [
"suffix"
]
},
{
"required": [
"alternate_full_name"
]
},
{
"required": [
"full_name"
]
}
]
}
}
]
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/phone_with_type"
},
{
"description": "The phone number of the customer as provided to the merchant or on file with the merchant. The `phone.phone_number` supports only `national_number`."
}
]
}
},
"title": "customer",
"type": "object"
},
"date_no_time": {
"description": "The stand-alone date, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). 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.",
"maxLength": 10,
"minLength": 10,
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$",
"type": "string"
},
"date_time": {
"description": "The date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are required while fractional seconds are optional.<blockquote><strong>Note:</strong> The regular expression provides guidance but does not reject all invalid dates.</blockquote>",
"maxLength": 64,
"minLength": 20,
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$",
"type": "string"
},
"date_year_month": {
"description": "The year and month, in ISO-8601 `YYYY-MM` date format. See [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).",
"maxLength": 7,
"minLength": 7,
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
"type": "string"
},
"disbursement_mode": {
"default": "INSTANT",
"description": "The funds that are held on behalf of the merchant.",
"enum": [
"INSTANT",
"DELAYED"
],
"title": "disbursement_mode",
"type": "string"
},
"discount_with_breakdown": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"type": "object"
}
],
"description": "The discount amount and currency code. For list of supported currencies and decimal precision, see the PayPal REST APIs <a href=\"/docs/integration/direct/rest/currency-codes/\">Currency Codes</a>.",
"title": "discount_with_breakdown",
"type": "object"
},
"eci_flag": {
"description": "Electronic Commerce Indicator (ECI). The ECI value is part of the 2 data elements that indicate the transaction was processed electronically. This should be passed on the authorization transaction to the Gateway/Processor.",
"enum": [
"MASTERCARD_NON_3D_SECURE_TRANSACTION",
"MASTERCARD_ATTEMPTED_AUTHENTICATION_TRANSACTION",
"MASTERCARD_FULLY_AUTHENTICATED_TRANSACTION",
"FULLY_AUTHENTICATED_TRANSACTION",
"ATTEMPTED_AUTHENTICATION_TRANSACTION",
"NON_3D_SECURE_TRANSACTION"
],
"type": "string"
},
"email": {
"description": "The internationalized email address.<blockquote><strong>Note:</strong> Up to 64 characters are allowed before and 255 characters are allowed after the <code>@</code> sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted <code>@</code> sign exists.</blockquote>",
"maxLength": 254,
"minLength": 3,
"pattern": "^.*(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\]).*$",
"title": "email",
"type": "string"
},
"email_address": {
"description": "The internationalized email address.<blockquote><strong>Note:</strong> Up to 64 characters are allowed before and 255 characters are allowed after the <code>@</code> sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted <code>@</code> sign exists.</blockquote>",
"maxLength": 254,
"minLength": 3,
"pattern": "^(?:[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[A-Za-z0-9-]*[A-Za-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$",
"type": "string"
},
"enrolled": {
"description": "Status of Authentication eligibility.",
"enum": [
"Y",
"N",
"U",
"B"
],
"type": "string"
},
"eps": {
"description": "Information used to pay using eps.",
"properties": {
"bic": {
"allOf": [
{
"$ref": "#/components/schemas/bic"
},
{
"description": "The bank identification code (BIC)."
}
]
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"title": "eps",
"type": "object"
},
"eps_request": {
"description": "Information needed to pay using eps.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"required": [
"country_code",
"name"
],
"title": "eps_request",
"type": "object"
},
"error": {
"description": "The error details.",
"properties": {
"debug_id": {
"description": "The PayPal internal ID. Used for correlation purposes.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"details": {
"description": "An array of additional details about the error.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/error_details"
},
{
"title": "error_details"
}
]
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
},
"links": {
"description": "An array of request-related [HATEOAS links](/api/rest/responses/#hateoas-links).",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description"
},
{
"readOnly": true,
"title": "link_description"
}
]
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"message": {
"description": "The message that describes the error.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"name": {
"description": "The human-readable, unique name of the error.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"required": [
"debug_id",
"message",
"name"
],
"title": "Error",
"type": "object"
},
"error_details": {
"description": "The error details. Required for client-side `4XX` errors.",
"properties": {
"description": {
"description": "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.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"field": {
"description": "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.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"issue": {
"description": "The unique, fine-grained application-level error code.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"links": {
"description": "An array of request-related [HATEOAS links](/api/rest/responses/#hateoas-links) that are either relevant to the issue by providing additional information or offering potential resolutions.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description"
},
{
"readOnly": true,
"title": "link_description"
}
]
},
"maxItems": 4,
"minItems": 1,
"readOnly": true,
"type": "array"
},
"location": {
"default": "body",
"description": "The location of the field that caused the error. Value is `body`, `path`, or `query`.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"value": {
"description": "The value of the field that caused the error.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"required": [
"issue"
],
"title": "Error Details",
"type": "object"
},
"exchange_rate": {
"description": "The exchange rate that determines the amount to convert from one currency to another currency.",
"properties": {
"source_currency": {
"allOf": [
{
"$ref": "#/components/schemas/currency_code"
},
{
"description": "The source currency from which to convert an amount."
}
]
},
"target_currency": {
"allOf": [
{
"$ref": "#/components/schemas/currency_code"
},
{
"description": "The target currency to which to convert an amount."
}
]
},
"value": {
"description": "The target currency amount. Equivalent to one unit of the source currency. Formatted as integer or decimal value with one to 15 digits to the right of the decimal point.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"readOnly": true,
"title": "exchange_rate",
"type": "object"
},
"experience_context_base": {
"description": "Customizes the payer experience during the approval process for the payment.",
"properties": {
"brand_name": {
"description": "The label that overrides the business name in the PayPal account on the PayPal site. The pattern is defined by an external party and supports Unicode.",
"maxLength": 127,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"cancel_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer is redirected after the customer cancels the payment.",
"format": "uri"
}
]
},
"locale": {
"allOf": [
{
"$ref": "#/components/schemas/language"
},
{
"description": "The BCP 47-formatted locale of pages that the PayPal payment experience shows. PayPal supports a five-character code. For example, `da-DK`, `he-IL`, `id-ID`, `ja-JP`, `no-NO`, `pt-BR`, `ru-RU`, `sv-SE`, `th-TH`, `zh-CN`, `zh-HK`, or `zh-TW`."
}
]
},
"return_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer is redirected after the customer approves the payment.",
"format": "uri"
}
]
},
"shipping_preference": {
"default": "GET_FROM_FILE",
"description": "The location from which the shipping address is derived.",
"enum": [
"GET_FROM_FILE",
"NO_SHIPPING",
"SET_PROVIDED_ADDRESS"
],
"type": "string"
}
},
"title": "experience_context_base",
"type": "object"
},
"experience_context_base_without_brand_shipping": {
"description": "Customizes the payer experience during the approval process for the payment.",
"properties": {
"cancel_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer is redirected after the customer cancels the payment.",
"format": "uri"
}
]
},
"locale": {
"allOf": [
{
"$ref": "#/components/schemas/language"
},
{
"description": "The BCP 47-formatted locale of pages that the PayPal payment experience shows. PayPal supports a five-character code. For example, `da-DK`, `he-IL`, `id-ID`, `ja-JP`, `no-NO`, `pt-BR`, `ru-RU`, `sv-SE`, `th-TH`, `zh-CN`, `zh-HK`, or `zh-TW`."
}
]
},
"return_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer is redirected after the customer approves the payment.",
"format": "uri"
}
]
}
},
"required": [
"cancel_url",
"return_url"
],
"title": "experience_context_base",
"type": "object"
},
"full_name": {
"description": "The full name representation like Mr J Smith.",
"maxLength": 300,
"minLength": 3,
"pattern": "^[\\S\\s]*$",
"title": "name",
"type": "string"
},
"giropay": {
"description": "Information needed to pay using giropay.",
"properties": {
"bic": {
"allOf": [
{
"$ref": "#/components/schemas/bic"
},
{
"description": "The bank identification code (BIC)."
}
]
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"title": "giropay",
"type": "object"
},
"giropay_request": {
"description": "Information needed to pay using giropay.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"required": [
"country_code",
"name"
],
"title": "giropay_request",
"type": "object"
},
"google_pay": {
"description": "Google Pay Wallet payment data.",
"properties": {
"card": {
"allOf": [
{
"$ref": "#/components/schemas/google_pay_card_response"
},
{
"description": "The Card from Google Pay Wallet used to fund the payment."
}
]
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with Google Pay."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "Name on the account holder associated with Google Pay."
}
]
},
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone_with_national_required_and_country_code"
},
{
"description": "The phone number of account holder, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). Supports only the `national_number` property."
}
]
}
},
"title": "google_pay",
"type": "object"
},
"google_pay_card": {
"description": "The payment card used to fund a Google Pay payment. Can be a credit or debit card.",
"properties": {
"billing_address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The billing address for this card. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"brand": {
"allOf": [
{
"$ref": "#/components/schemas/card_brand"
},
{
"description": "The card brand or network. Typically used in the response."
}
]
},
"expiry": {
"allOf": [
{
"$ref": "#/components/schemas/date_year_month"
},
{
"description": "The card expiration year and month, in [Internet date format](https://tools.ietf.org/html/rfc3339#section-5.6)."
}
]
},
"last_digits": {
"description": "The last digits of the payment card.",
"maxLength": 4,
"minLength": 2,
"pattern": "^[0-9]{2,4}$",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The card holder's name as it appears on the card.",
"maxLength": 300,
"minLength": 1,
"pattern": "^.{1,300}$",
"type": "string"
},
"number": {
"description": "The primary account number (PAN) for the payment card.",
"maxLength": 19,
"minLength": 13,
"pattern": "^[0-9]{13,19}$",
"type": "string"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/card_type"
},
{
"description": "The payment card type."
}
]
}
},
"title": "google_pay_card",
"type": "object"
},
"google_pay_card_response": {
"description": "The payment card to use to fund a Google Pay payment response. Can be a credit or debit card.",
"properties": {
"authentication_result": {
"$ref": "#/components/schemas/authentication_response"
},
"billing_address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The billing address for this card. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"brand": {
"allOf": [
{
"$ref": "#/components/schemas/card_brand"
},
{
"description": "The card brand or network. Typically used in the response."
}
]
},
"last_digits": {
"description": "The last digits of the payment card.",
"maxLength": 4,
"minLength": 2,
"pattern": "^[0-9]{2,4}$",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The card holder's name as it appears on the card.",
"maxLength": 300,
"minLength": 1,
"pattern": "^.{1,300}$",
"type": "string"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/card_type"
},
{
"description": "The payment card type."
}
]
}
},
"title": "google_pay_card_response",
"type": "object"
},
"google_pay_decrypted_token_data": {
"description": "Details shared by Google for the merchant to be shared with PayPal. This is required to process the transaction using the Google Pay payment method.",
"properties": {
"authentication_method": {
"description": "Authentication Method which is used for the card transaction.",
"enum": [
"PAN_ONLY",
"CRYPTOGRAM_3DS"
],
"type": "string"
},
"card": {
"allOf": [
{
"$ref": "#/components/schemas/google_pay_card"
},
{
"required": [
"number",
"expiry"
]
}
],
"description": "Google Pay tokenized credit card used to pay."
},
"cryptogram": {
"description": "Base-64 cryptographic identifier used by card schemes to validate the token verification result. This is a conditionally required field if authentication_method is CRYPTOGRAM_3DS.",
"maxLength": 2000,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"eci_indicator": {
"description": "Electronic Commerce Indicator may not always be present. It is only returned for tokens on the Visa card network. This value is passed through in the payment authorization request.",
"maxLength": 256,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"message_expiration": {
"description": "Date and time at which the message expires as UTC milliseconds since epoch. Integrators should reject any message that's expired.",
"maxLength": 13,
"minLength": 13,
"pattern": "^\\d{13}$",
"type": "string"
},
"message_id": {
"description": "A unique ID that identifies the message in case it needs to be revoked or located at a later time.",
"maxLength": 250,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"payment_method": {
"description": "The type of the payment credential. Currently, only CARD is supported.",
"enum": [
"CARD"
],
"type": "string"
}
},
"required": [
"authentication_method",
"card",
"payment_method"
],
"title": "google_pay_decrypted_token_data",
"type": "object"
},
"google_pay_experience_context": {
"description": "Customizes the payer experience during the approval process for the payment.",
"properties": {
"cancel_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer is redirected after the customer cancels the payment.",
"format": "uri"
}
]
},
"return_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer is redirected after the customer approves the payment.",
"format": "uri"
}
]
}
},
"required": [
"cancel_url",
"return_url"
],
"title": "google_pay_experience_context",
"type": "object"
},
"google_pay_request": {
"description": "Information needed to pay using Google Pay.",
"properties": {
"assurance_details": {
"allOf": [
{
"$ref": "#/components/schemas/assurance_details"
},
{
"description": "Information about what validation has been performed on the returned payment credentials."
}
]
},
"card": {
"allOf": [
{
"$ref": "#/components/schemas/google_pay_card"
},
{
"description": "The payment card information.",
"not": {
"anyOf": [
{
"required": [
"number"
]
},
{
"required": [
"expiry"
]
},
{
"required": [
"last_digits"
]
}
]
}
}
]
},
"decrypted_token": {
"allOf": [
{
"$ref": "#/components/schemas/google_pay_decrypted_token_data"
},
{
"description": "The decrypted payload details for the Google Pay token."
}
]
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with Google Pay."
}
]
},
"experience_context": {
"$ref": "#/components/schemas/google_pay_experience_context"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "Name on the account holder associated with Google Pay."
}
]
},
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone_with_national_required_and_country_code"
},
{
"description": "The phone number of account holder, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). Supports only the `national_number` property."
}
]
}
},
"title": "google_pay_request",
"type": "object"
},
"guid": {
"description": "A Globally Unique Identifier (GUID) value.",
"maxLength": 68,
"minLength": 1,
"pattern": "^[A-Za-z0-9-{}(),]*$",
"title": "GUID",
"type": "string"
},
"iban_last_chars": {
"description": "The last characters of the IBAN used to pay.",
"maxLength": 34,
"minLength": 4,
"pattern": "^.*[a-zA-Z0-9]{4}.*$",
"title": "iban_last_chars",
"type": "string"
},
"ideal": {
"description": "Information used to pay using iDEAL.",
"properties": {
"bic": {
"allOf": [
{
"$ref": "#/components/schemas/bic"
},
{
"description": "The bank identification code (BIC)."
}
]
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"iban_last_chars": {
"$ref": "#/components/schemas/iban_last_chars"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"title": "ideal",
"type": "object"
},
"ideal_request": {
"description": "Information needed to pay using iDEAL.",
"properties": {
"bic": {
"allOf": [
{
"$ref": "#/components/schemas/bic"
},
{
"description": "The bank identification code (BIC)."
}
]
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"required": [
"country_code",
"name"
],
"title": "ideal_request",
"type": "object"
},
"instrument_id": {
"description": "The identifier of the instrument.",
"maxLength": 256,
"minLength": 1,
"pattern": "^[A-Za-z0-9-_.+=]+$",
"type": "string"
},
"ip_address": {
"description": "An Internet Protocol address (IP address). This address assigns a numerical label to each device that is connected to a computer network through the Internet Protocol. Supports IPv4 and IPv6 addresses.",
"maxLength": 39,
"minLength": 7,
"pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\\-]*[A-Za-z0-9])$|^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$",
"title": "IP Address",
"type": "string"
},
"item": {
"description": "The details for the items to be purchased.",
"properties": {
"billing_plan": {
"$ref": "#/components/schemas/order_billing_plan"
},
"category": {
"description": "The item category type.",
"enum": [
"DIGITAL_GOODS",
"PHYSICAL_GOODS",
"DONATION"
],
"type": "string"
},
"description": {
"description": "The detailed item description.",
"maxLength": 2048,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"image_url": {
"description": "The URL of the item's image. File type and size restrictions apply. An image that violates these restrictions will not be honored.",
"format": "uri",
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"name": {
"description": "The item name or title.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"quantity": {
"description": "The item quantity. Must be a whole number.",
"maxLength": 10,
"minLength": 0,
"pattern": "^[1-9][0-9]{0,9}$",
"type": "string"
},
"sku": {
"description": "The stock keeping unit (SKU) for the item.",
"maxLength": 127,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"tax": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The item tax for each unit. If <code>tax</code> is specified, <code>purchase_units[].amount.breakdown.tax_total</code> is required. Must equal <code>tax * quantity</code> for all items. <code>tax.value</code> can not be a negative number."
}
]
},
"unit_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The item price or rate per unit. If you specify <code>unit_amount</code>, <code>purchase_units[].amount.breakdown.item_total</code> is required. Must equal <code>unit_amount * quantity</code> for all items. <code>unit_amount.value</code> can not be a negative number."
}
]
},
"upc": {
"allOf": [
{
"$ref": "#/components/schemas/universal_product_code"
},
{
"description": "The Universal Product Code of the item."
}
]
},
"url": {
"description": "The URL to the item being purchased. Visible to buyer and used in buyer experiences.",
"format": "uri",
"maxLength": 2048,
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"quantity",
"unit_amount"
],
"title": "item",
"type": "object"
},
"item_request": {
"description": "The details for the items to be purchased.",
"properties": {
"billing_plan": {
"$ref": "#/components/schemas/order_billing_plan"
},
"category": {
"description": "The item category type.",
"enum": [
"DIGITAL_GOODS",
"PHYSICAL_GOODS",
"DONATION"
],
"type": "string"
},
"description": {
"description": "<blockquote>This field supports up to 4000 characters, but <strong>any content beyond 2048 characters (including spaces) will be truncated. The 2048 character limit is reflected in the response</strong> representation of this field</blockquote>.",
"maxLength": 4000,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"image_url": {
"description": "The URL of the item's image. File type and size restrictions apply. An image that violates these restrictions will not be honored.",
"format": "uri",
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"name": {
"description": "The item name or title. <blockquote>This field supports up to 3000 characters, but <strong>any content beyond 127 characters (including spaces) will be truncated. The 127 character limit is reflected in the response</strong> representation of this field</blockquote>.",
"maxLength": 3000,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"quantity": {
"description": "The item quantity. Must be a whole number.",
"maxLength": 10,
"minLength": 0,
"pattern": "^[1-9][0-9]{0,9}$",
"type": "string"
},
"sku": {
"description": "The stock keeping unit (SKU) for the item.",
"maxLength": 127,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"tax": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The item tax for each unit. If <code>tax</code> is specified, <code>purchase_units[].amount.breakdown.tax_total</code> is required. Must equal <code>tax * quantity</code> for all items. <code>tax.value</code> can not be a negative number."
}
]
},
"unit_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The item price or rate per unit. If you specify <code>unit_amount</code>, <code>purchase_units[].amount.breakdown.item_total</code> is required. Must equal <code>unit_amount * quantity</code> for all items. <code>unit_amount.value</code> can not be a negative number."
}
]
},
"upc": {
"allOf": [
{
"$ref": "#/components/schemas/universal_product_code"
},
{
"description": "The Universal Product Code of the item."
}
]
},
"url": {
"description": "The URL to the item being purchased. Visible to buyer and used in buyer experiences.",
"format": "uri",
"maxLength": 2048,
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"quantity",
"unit_amount"
],
"title": "item_request",
"type": "object"
},
"item_without_category_tax_or_amount": {
"description": "The details for the items to be purchased.",
"properties": {
"billing_plan": {
"$ref": "#/components/schemas/order_billing_plan"
},
"description": {
"description": "The detailed item description.",
"maxLength": 2048,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"image_url": {
"description": "The URL of the item's image. File type and size restrictions apply. An image that violates these restrictions will not be honored.",
"format": "uri",
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"name": {
"description": "The item name or title.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"quantity": {
"description": "The item quantity. Must be a whole number.",
"maxLength": 10,
"minLength": 0,
"pattern": "^[1-9][0-9]{0,9}$",
"type": "string"
},
"sku": {
"description": "The stock keeping unit (SKU) for the item.",
"maxLength": 127,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"upc": {
"allOf": [
{
"$ref": "#/components/schemas/universal_product_code"
},
{
"description": "The Universal Product Code of the item."
}
]
},
"url": {
"description": "The URL to the item being purchased. Visible to buyer and used in buyer experiences.",
"format": "uri",
"maxLength": 2048,
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"quantity"
],
"title": "item",
"type": "object"
},
"language": {
"description": "The [language tag](https://tools.ietf.org/html/bcp47#section-2) 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](https://www.loc.gov/standards/iso639-2/php/code_list.php), the optional [ISO-15924 script tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166 alpha-2 country code](/api/rest/reference/country-codes/) or [M49 region code](https://unstats.un.org/unsd/methodology/m49/).",
"maxLength": 10,
"minLength": 2,
"pattern": "^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}|[0-9]{3}))?$",
"type": "string"
},
"level_2_card_processing_data": {
"description": "The level 2 card processing data collections. If your merchant account has been configured for Level 2 processing this field will be passed to the processor on your behalf. Please contact your PayPal Technical Account Manager to define level 2 data for your business.",
"properties": {
"invoice_id": {
"description": "Use this field to pass a purchase identification value of up to 127 ASCII characters. The length of this field will be adjusted to meet network specifications (25chars for Visa and Mastercard, 17chars for Amex), and the original invoice ID will still be displayed in your existing reports.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\w\u2018\\-.,\":;\\!?]*$",
"type": "string"
},
"tax_total": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "Use this field to break down the amount of tax included in the total purchase amount. The value provided here will not add to the total purchase amount. The value can't be negative, and in most cases, it must be greater than zero in order to qualify for lower interchange rates. \n Value, by country, is:\n\n UK. A county.\n US. A state.\n Canada. A province.\n Japan. A prefecture.\n Switzerland. A kanton.\n"
}
]
}
},
"title": "level_2",
"type": "object"
},
"level_3_card_processing_data": {
"description": "The level 3 card processing data collections, If your merchant account has been configured for Level 3 processing this field will be passed to the processor on your behalf. Please contact your PayPal Technical Account Manager to define level 3 data for your business.",
"properties": {
"discount_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "Use this field to break down the discount amount included in the total purchase amount. The value provided here will not add to the total purchase amount. The value cannot be negative."
}
]
},
"duty_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "Use this field to break down the duty amount included in the total purchase amount. The value provided here will not add to the total purchase amount. The value cannot be negative."
}
]
},
"line_items": {
"description": "A list of the items that were purchased with this payment. If your merchant account has been configured for Level 3 processing this field will be passed to the processor on your behalf.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/line_item"
},
{
"title": "line_item"
}
]
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"shipping_address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The address of the person to whom to ship the items. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"shipping_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "Use this field to break down the shipping cost included in the total purchase amount. The value provided here will not add to the total purchase amount. The value cannot be negative."
}
]
},
"ships_from_postal_code": {
"description": "Use this field to specify the postal code of the shipping location.",
"maxLength": 60,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_'.-]*$",
"type": "string"
}
},
"title": "level_3",
"type": "object"
},
"liability_shift": {
"description": "Liability shift indicator. The outcome of the issuer's authentication.",
"enum": [
"NO",
"POSSIBLE",
"UNKNOWN"
],
"title": "liability_shift",
"type": "string"
},
"line_item": {
"allOf": [
{
"$ref": "#/components/schemas/item_without_category_tax_or_amount"
},
{
"properties": {
"commodity_code": {
"description": "Code used to classify items purchased and track the total amount spent across various categories of products and services. Different corporate purchasing organizations may use different standards, but the United Nations Standard Products and Services Code (UNSPSC) is frequently used.",
"maxLength": 12,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_'.-]*$",
"type": "string"
},
"discount_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "Use this field to break down the discount amount included in the total purchase amount. The value provided here will not add to the total purchase amount. The value cannot be negative."
}
]
},
"tax": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The item tax for each unit. Must equal <code>tax * quantity</code> for all items. <code>tax.value</code> can not be a negative number."
}
]
},
"total_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The subtotal for all items. Must equal the sum of (items[].unit_amount * items[].quantity) for all items. item_total.value can not be a negative number."
}
]
},
"unit_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The item price or rate per unit. Must equal <code>unit_amount * quantity</code> for all items. <code>unit_amount.value</code> can not be a negative number."
}
]
},
"unit_of_measure": {
"description": "Unit of measure is a standard used to express the magnitude of a quantity in international trade. Most commonly used (but not limited to) examples are: Acre (ACR), Ampere (AMP), Centigram (CGM), Centimetre (CMT), Cubic inch (INQ), Cubic metre (MTQ), Fluid ounce (OZA), Foot (FOT), Hour (HUR), Item (ITM), Kilogram (KGM), Kilometre (KMT), Kilowatt (KWT), Liquid gallon (GLL), Liter (LTR), Pounds (LBS), Square foot (FTK).",
"maxLength": 12,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_'.-]*$",
"type": "string"
}
},
"type": "object"
}
],
"description": "The line items for this purchase. If your merchant account has been configured for Level 3 processing this field will be passed to the processor on your behalf.",
"title": "line_item",
"type": "object"
},
"link_description": {
"description": "The request-related [HATEOAS link](/api/rest/responses/#hateoas-links) information.",
"properties": {
"encType": {
"default": "application/json",
"description": "The media type in which to submit the request data.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"title": "enc_type",
"type": "string"
},
"href": {
"description": "The complete target URL. To make the related call, combine the method with this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link. For pre-processing, include the `$`, `(`, and `)` characters. The `href` is the key HATEOAS component that links a completed call with a subsequent call.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"mediaType": {
"description": "The media type, as defined by [RFC 2046](https://www.ietf.org/rfc/rfc2046.txt). Describes the link target.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"title": "media_type",
"type": "string"
},
"method": {
"description": "The HTTP method required to make the related call.",
"enum": [
"GET",
"POST",
"PUT",
"DELETE",
"HEAD",
"CONNECT",
"OPTIONS",
"PATCH"
],
"type": "string"
},
"rel": {
"description": "The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which serves as an ID for a link that unambiguously describes the semantics of the link. See [Link Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml).",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/link_schema"
},
{
"description": "The schema that describes the request data."
}
]
},
"targetSchema": {
"allOf": [
{
"$ref": "#/components/schemas/link_schema"
},
{
"description": "The schema that describes the link target.",
"title": "target_schema"
}
]
},
"title": {
"description": "The link title.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"title": "Link Description",
"type": "object"
},
"link_description-2": {
"description": "The request-related [HATEOAS link](/api/rest/responses/#hateoas-links) information.",
"properties": {
"encType": {
"default": "application/json",
"description": "The media type in which to submit the request data.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"title": "enc_type",
"type": "string"
},
"href": {
"description": "The complete target URL. To make the related call, combine the method with this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link. For pre-processing, include the `$`, `(`, and `)` characters. The `href` is the key HATEOAS component that links a completed call with a subsequent call.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"mediaType": {
"description": "The media type, as defined by [RFC 2046](https://www.ietf.org/rfc/rfc2046.txt). Describes the link target.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"title": "media_type",
"type": "string"
},
"method": {
"description": "The HTTP method required to make the related call.",
"enum": [
"GET",
"POST",
"PUT",
"DELETE",
"HEAD",
"CONNECT",
"OPTIONS",
"PATCH"
],
"type": "string"
},
"rel": {
"description": "The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which serves as an ID for a link that unambiguously describes the semantics of the link. See [Link Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml).",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/link_schema-2"
},
{
"description": "The schema that describes the request data."
}
]
},
"targetSchema": {
"allOf": [
{
"$ref": "#/components/schemas/link_schema-2"
},
{
"description": "The schema that describes the link target.",
"title": "target_schema"
}
]
},
"title": {
"description": "The link title.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"title": "Link Description",
"type": "object"
},
"link_schema": {
"description": "The request data or link target.",
"properties": {
"additionalItems": {
"description": "Any additional items.",
"title": "additional_items",
"type": "object"
},
"allOf": {
"description": "An array of sub-schemas. The data must validate against all sub-schemas.",
"items": {
"description": "A sub-schema against which the data must validate.",
"title": "all_of_item",
"type": "object"
},
"maxItems": 32767,
"minItems": 0,
"title": "all_of",
"type": "array"
},
"anyOf": {
"description": "An array of sub-schemas. The data must validate against one or more sub-schemas.",
"items": {
"description": "A sub-schema against which the data must validate.",
"title": "any_of_item",
"type": "object"
},
"maxItems": 32767,
"minItems": 0,
"title": "any_of",
"type": "array"
},
"definitions": {
"description": "Definitions.",
"title": "Definitions",
"type": "object"
},
"dependencies": {
"description": "The dependencies.",
"title": "Dependencies",
"type": "object"
},
"fragmentResolution": {
"description": "The fragment resolution.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"title": "fragment_resolution",
"type": "string"
},
"items": {
"description": "An item.",
"title": "Items",
"type": "object"
},
"links": {
"description": "An array of links.",
"items": {
"description": "A link.",
"readOnly": true,
"title": "link",
"type": "object"
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"media": {
"description": "The media type and context-encoding scheme.",
"properties": {
"binaryEncoding": {
"description": "The content-encoding scheme. See [Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies](https://tools.ietf.org/html/rfc2045).",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"title": "binary_encoding",
"type": "string"
},
"type": {
"description": "The media type. See [Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types](https://tools.ietf.org/html/rfc2046).",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"title": "Media",
"type": "object"
},
"not": {
"description": "Not.",
"title": "Not",
"type": "object"
},
"oneOf": {
"description": "An array of sub-schemas. The data must validate against one sub-schema.",
"items": {
"description": "A sub-schema against which the data must validate.",
"title": "one_of_item",
"type": "object"
},
"maxItems": 32767,
"minItems": 0,
"title": "one_of",
"type": "array"
},
"pathStart": {
"description": "To apply this schema to the instances' URIs, start the URIs with this value.",
"format": "uri",
"maxLength": 2147483647,
"minLength": 0,
"title": "path_start",
"type": "string"
},
"patternProperties": {
"description": "The pattern properties.",
"title": "pattern_properties",
"type": "object"
},
"properties": {
"description": "The properties.",
"title": "Properties",
"type": "object"
}
},
"title": "Link Schema",
"type": "object"
},
"link_schema-2": {
"description": "The request data or link target.",
"properties": {
"additionalItems": {
"description": "Any additional items.",
"title": "additional_items",
"type": "object"
},
"allOf": {
"description": "An array of sub-schemas. The data must validate against all sub-schemas.",
"items": {
"description": "A sub-schema against which the data must validate.",
"title": "all_of_item",
"type": "object"
},
"maxItems": 32767,
"minItems": 0,
"title": "all_of",
"type": "array"
},
"anyOf": {
"description": "An array of sub-schemas. The data must validate against one or more sub-schemas.",
"items": {
"description": "A sub-schema against which the data must validate.",
"title": "any_of_item",
"type": "object"
},
"maxItems": 32767,
"minItems": 0,
"title": "any_of",
"type": "array"
},
"definitions": {
"description": "Definitions.",
"title": "Definitions",
"type": "object"
},
"dependencies": {
"description": "Any Dependencies.",
"title": "Dependencies",
"type": "object"
},
"fragmentResolution": {
"description": "The fragment resolution.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"title": "fragment_resolution",
"type": "string"
},
"items": {
"description": "An item.",
"title": "Items",
"type": "object"
},
"links": {
"description": "An array of links.",
"items": {
"description": "A link.",
"readOnly": true,
"title": "link",
"type": "object"
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"media": {
"description": "The media type and context-encoding scheme.",
"properties": {
"binaryEncoding": {
"description": "The content-encoding scheme. See [Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies](https://tools.ietf.org/html/rfc2045).",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"title": "binary_encoding",
"type": "string"
},
"type": {
"description": "The media type. See [Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types](https://tools.ietf.org/html/rfc2046).",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"title": "Media",
"type": "object"
},
"not": {
"description": "Not.",
"title": "Not",
"type": "object"
},
"oneOf": {
"description": "An array of sub-schemas. The data must validate against one sub-schema.",
"items": {
"description": "A sub-schema against which the data must validate.",
"title": "one_of_item",
"type": "object"
},
"maxItems": 32767,
"minItems": 0,
"title": "one_of",
"type": "array"
},
"pathStart": {
"description": "To apply this schema to the instances' URIs, start the URIs with this value.",
"format": "uri",
"maxLength": 2147483647,
"minLength": 0,
"title": "path_start",
"type": "string"
},
"patternProperties": {
"description": "The pattern properties.",
"title": "pattern_properties",
"type": "object"
},
"properties": {
"description": "Properties.",
"title": "Properties",
"type": "object"
}
},
"title": "Link Schema",
"type": "object"
},
"merchant_partner_customer_id": {
"description": "The unique ID for a customer generated by PayPal.",
"maxLength": 22,
"minLength": 1,
"pattern": "^[0-9a-zA-Z_-]+$",
"title": "merchant_partner_customer_id",
"type": "string"
},
"mobile_web_context": {
"description": "Buyer's mobile web browser context to app switch to the PayPal consumer app.",
"properties": {
"buyer_user_agent": {
"description": "User agent from the request originating from the buyer's device. This will be used to identify the buyer's operating system and browser versions. NOTE: Merchants must not alter or modify the buyer's device user agent.",
"maxLength": 512,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"return_flow": {
"default": "AUTO",
"description": "Merchant preference on how the buyer can navigate back to merchant website post approving the transaction on the PayPal App.",
"enum": [
"AUTO",
"MANUAL"
],
"readOnly": true,
"type": "string"
}
},
"title": "Mobile Web App Switch Context",
"type": "object"
},
"money": {
"description": "The currency and amount for a financial transaction, such as a balance or payment due.",
"properties": {
"currency_code": {
"$ref": "#/components/schemas/currency_code"
},
"value": {
"description": "The value, which might be:<ul><li>An integer for currencies like `JPY` that are not typically fractional.</li><li>A decimal fraction for currencies like `TND` that are subdivided into thousandths.</li></ul>For the required number of decimal places for a currency code, see [Currency Codes](/api/rest/reference/currency-codes/).",
"maxLength": 32,
"minLength": 0,
"pattern": "^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$",
"type": "string"
}
},
"required": [
"currency_code",
"value"
],
"title": "Money",
"type": "object"
},
"mybank": {
"description": "Information used to pay using MyBank.",
"properties": {
"bic": {
"allOf": [
{
"$ref": "#/components/schemas/bic"
},
{
"description": "The bank identification code (BIC)."
}
]
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"iban_last_chars": {
"$ref": "#/components/schemas/iban_last_chars"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"title": "mybank",
"type": "object"
},
"mybank_request": {
"description": "Information needed to pay using MyBank.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"required": [
"country_code",
"name"
],
"title": "mybank_request",
"type": "object"
},
"name": {
"description": "The name of the party.",
"properties": {
"full_name": {
"description": "When the party is a person, the party's full name.",
"maxLength": 300,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"given_name": {
"description": "When the party is a person, the party's given, or first, name.",
"maxLength": 140,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"middle_name": {
"description": "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.",
"maxLength": 140,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"prefix": {
"description": "The prefix, or title, to the party's name.",
"maxLength": 140,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"suffix": {
"description": "The suffix for the party's name.",
"maxLength": 140,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"surname": {
"description": "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.",
"maxLength": 140,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"title": "Name",
"type": "object"
},
"native_app_context": {
"description": "Merchant provided, buyer's native app preferences to app switch to the PayPal consumer app.",
"properties": {
"os_type": {
"description": "Operating System type of the device that the buyer is using.",
"enum": [
"ANDROID",
"IOS",
"OTHER"
],
"readOnly": true,
"type": "string"
},
"os_version": {
"description": "Operating System version of the device that the buyer is using.",
"maxLength": 64,
"minLength": 1,
"pattern": "^.*$",
"readOnly": true,
"type": "string"
}
},
"title": "App Switch Preferences on Native App",
"type": "object"
},
"net_amount_breakdown_item": {
"description": "The net amount. Returned when the currency of the refund is different from the currency of the PayPal account where the merchant holds their funds.",
"properties": {
"converted_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The converted payable amount.",
"readOnly": true
}
]
},
"exchange_rate": {
"allOf": [
{
"$ref": "#/components/schemas/exchange_rate"
},
{
"description": "The exchange rate that determines the amount that was debited from the merchant's PayPal account.",
"readOnly": true
}
]
},
"payable_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The net amount debited from the merchant's PayPal account.",
"readOnly": true
}
]
}
},
"title": "net_amount_breakdown",
"type": "object"
},
"network_token_request": {
"description": "The Third Party Network token used to fund a payment.",
"properties": {
"cryptogram": {
"description": "An Encrypted one-time use value that's sent along with Network Token. This field is not required to be present for recurring transactions.",
"maxLength": 32,
"minLength": 28,
"pattern": "^.*$",
"type": "string"
},
"eci_flag": {
"$ref": "#/components/schemas/eci_flag"
},
"expiry": {
"allOf": [
{
"$ref": "#/components/schemas/date_year_month"
},
{
"description": "The card expiration year and month, in [Internet date format](https://tools.ietf.org/html/rfc3339#section-5.6)."
}
]
},
"number": {
"description": "Third party network token number.",
"maxLength": 19,
"minLength": 13,
"pattern": "^[0-9]{13,19}$",
"type": "string"
},
"token_requestor_id": {
"description": "A TRID, or a Token Requestor ID, is an identifier used by merchants to request network tokens from card networks. A TRID is a precursor to obtaining a network token for a credit card primary account number (PAN), and will aid in enabling secure card on file (COF) payments and reducing fraud.",
"maxLength": 11,
"minLength": 1,
"pattern": "^[0-9A-Z_]+$",
"type": "string"
}
},
"required": [
"expiry",
"number"
],
"title": "network_token",
"type": "object"
},
"network_transaction": {
"description": "Reference values used by the card network to identify a transaction.",
"properties": {
"acquirer_reference_number": {
"description": "Reference ID issued for the card transaction. This ID can be used to track the transaction across processors, card brands and issuing banks.",
"maxLength": 36,
"minLength": 1,
"pattern": "^[a-zA-Z0-9]+$",
"type": "string"
},
"date": {
"description": "The date that the transaction was authorized by the scheme. This field may not be returned for all networks. MasterCard refers to this field as \"BankNet reference date\". For some specific networks, such as MasterCard and Discover, this date field is mandatory when the `previous_network_transaction_reference_id` is passed.",
"maxLength": 4,
"minLength": 4,
"pattern": "^[0-9]+$",
"type": "string"
},
"id": {
"description": "Transaction reference id returned by the scheme. For Visa and Amex, this is the \"Tran id\" field in response. For MasterCard, this is the \"BankNet reference id\" field in response. For Discover, this is the \"NRID\" field in response. The pattern we expect for this field from Visa/Amex/CB/Discover is numeric, Mastercard/BNPP is alphanumeric and Paysecure is alphanumeric with special character -.",
"maxLength": 36,
"minLength": 9,
"pattern": "^[a-zA-Z0-9-_@.:&+=*^'~#!$%()]+$",
"type": "string"
},
"network": {
"allOf": [
{
"$ref": "#/components/schemas/card_brand"
},
{
"description": "Name of the card network through which the transaction was routed."
}
]
}
},
"title": "network_transaction",
"type": "object"
},
"network_transaction_reference": {
"allOf": [
{
"$ref": "#/components/schemas/network_transaction"
}
],
"description": "Reference values used by the card network to identify a transaction.",
"required": [
"id"
],
"title": "network_transaction_reference",
"type": "object"
},
"order": {
"allOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/activity_timestamps"
},
{
"title": "activity_timestamps"
}
]
},
{
"description": "The order details.",
"properties": {
"id": {
"description": "The ID of the order.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"intent": {
"allOf": [
{
"$ref": "#/components/schemas/checkout_payment_intent"
}
]
},
"links": {
"description": "An array of request-related HATEOAS links. To complete payer approval, use the `approve` link to redirect the payer. The API caller has 6 hours (default setting, this which can be changed by your account manager to 24/48/72 hours to accommodate your use case) from the time the order is created, to redirect your payer. Once redirected, the API caller has 6 hours for the payer to approve the order and either authorize or capture the order. If you are not using the PayPal JavaScript SDK to initiate PayPal Checkout (in context) ensure that you include `application_context.return_url` is specified or you will get \"We're sorry, Things don't appear to be working at the moment\" after the payer approves the payment.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description-2"
},
{
"description": "A request-related [HATEOAS link](/api/rest/responses/#hateoas-links). To complete payer approval, use the `approve` link with the `GET` method.",
"title": "link_description"
}
]
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"payer": {
"allOf": [
{
"$ref": "#/components/schemas/payer"
},
{
"deprecated": true,
"description": "DEPRECATED. The customer is also known as the payer. The Payer object was intended to only be used with the `payment_source.paypal` object. In order to make this design more clear, the details in the `payer` object are now available under `payment_source.paypal`. Please use `payment_source.paypal`. <b>DEPRECATED</b><br><table><tr><th>See</th><th>Since Version</th></tr><tr><td>payment_source.paypal</td><td>2.9</td></tr></table>"
}
]
},
"payment_source": {
"allOf": [
{
"$ref": "#/components/schemas/payment_source_response"
}
]
},
"purchase_units": {
"description": "An array of purchase units. Each purchase unit establishes a contract between a customer and merchant. Each purchase unit represents either a full or partial order that the customer intends to purchase from the merchant.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/purchase_unit"
},
{
"description": "A purchase unit. Establishes a contract between a customer and merchant.",
"title": "purchase_unit"
}
]
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/order_status"
},
{
"readOnly": true
}
]
}
},
"title": "Order",
"type": "object"
}
],
"description": "The order details.",
"title": "Order",
"type": "object"
},
"order_application_context": {
"description": "Customizes the payer experience during the approval process for the payment with PayPal.<blockquote><strong>Note:</strong> Partners and Marketplaces might configure <code>brand_name</code> and <code>shipping_preference</code> during partner account setup, which overrides the request values.</blockquote>",
"properties": {
"brand_name": {
"description": "DEPRECATED. The label that overrides the business name in the PayPal account on the PayPal site. The fields in `application_context` are now available in the `experience_context` object under the `payment_source` which supports them (eg. `payment_source.paypal.experience_context.brand_name`). Please specify this field in the `experience_context` object instead of the `application_context` object.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"cancel_url": {
"description": "DEPRECATED. The URL where the customer is redirected after the customer cancels the payment. The fields in `application_context` are now available in the `experience_context` object under the `payment_source` which supports them (eg. `payment_source.paypal.experience_context.cancel_url`). Please specify this field in the `experience_context` object instead of the `application_context` object.",
"format": "uri",
"maxLength": 2147483647,
"minLength": 0,
"type": "string"
},
"landing_page": {
"default": "NO_PREFERENCE",
"deprecated": true,
"description": "DEPRECATED. DEPRECATED. The type of landing page to show on the PayPal site for customer checkout. The fields in `application_context` are now available in the `experience_context` object under the `payment_source` which supports them (eg. `payment_source.paypal.experience_context.landing_page`). Please specify this field in the `experience_context` object instead of the `application_context` object. <b>DEPRECATED</b><br><table><tr><th>See</th><th>Since Version</th></tr><tr><td>payment_source.paypal.experience_context.landing_page</td><td>2.9</td></tr></table>",
"enum": [
"LOGIN",
"BILLING",
"NO_PREFERENCE"
],
"title": "Order Application Context Landing Page",
"type": "string"
},
"locale": {
"allOf": [
{
"$ref": "#/components/schemas/language"
},
{
"description": "DEPRECATED. The BCP 47-formatted locale of pages that the PayPal payment experience shows. PayPal supports a five-character code. For example, `da-DK`, `he-IL`, `id-ID`, `ja-JP`, `no-NO`, `pt-BR`, `ru-RU`, `sv-SE`, `th-TH`, `zh-CN`, `zh-HK`, or `zh-TW`. The fields in `application_context` are now available in the `experience_context` object under the `payment_source` which supports them (eg. `payment_source.paypal.experience_context.locale`). Please specify this field in the `experience_context` object instead of the `application_context` object."
}
]
},
"payment_method": {
"allOf": [
{
"$ref": "#/components/schemas/payment_method"
},
{
"description": "DEPRECATED. The customer and merchant payment preferences. The fields in `application_context` are now available in the `experience_context` object under the `payment_source` which supports them (eg. `payment_source.paypal.experience_context.payment_method_selected`). Please specify this field in the `experience_context` object instead of the `application_context` object.."
}
]
},
"return_url": {
"description": "DEPRECATED. The URL where the customer is redirected after the customer approves the payment. The fields in `application_context` are now available in the `experience_context` object under the `payment_source` which supports them (eg. `payment_source.paypal.experience_context.return_url`). Please specify this field in the `experience_context` object instead of the `application_context` object.",
"format": "uri",
"maxLength": 2147483647,
"minLength": 0,
"type": "string"
},
"shipping_preference": {
"default": "GET_FROM_FILE",
"deprecated": true,
"description": "DEPRECATED. DEPRECATED. The shipping preference:<ul><li>Displays the shipping address to the customer.</li><li>Enables the customer to choose an address on the PayPal site.</li><li>Restricts the customer from changing the address during the payment-approval process.</li></ul>. The fields in `application_context` are now available in the `experience_context` object under the `payment_source` which supports them (eg. `payment_source.paypal.experience_context.shipping_preference`). Please specify this field in the `experience_context` object instead of the `application_context` object. <b>DEPRECATED</b><br><table><tr><th>See</th><th>Since Version</th></tr><tr><td>payment_source.paypal.experience_context.shipping_preference</td><td>2.9</td></tr></table>",
"enum": [
"GET_FROM_FILE",
"NO_SHIPPING",
"SET_PROVIDED_ADDRESS"
],
"title": "Order Application Context Shipping Preference",
"type": "string"
},
"stored_payment_source": {
"allOf": [
{
"$ref": "#/components/schemas/stored_payment_source"
},
{
"deprecated": true,
"description": "DEPRECATED. Provides additional details to process a payment using a `payment_source` that has been stored or is intended to be stored (also referred to as stored_credential or card-on-file).<br/>Parameter compatibility:<br/><ul><li>`payment_type=ONE_TIME` is compatible only with `payment_initiator=CUSTOMER`.</li><li>`usage=FIRST` is compatible only with `payment_initiator=CUSTOMER`.</li><li>`previous_transaction_reference` or `previous_network_transaction_reference` is compatible only with `payment_initiator=MERCHANT`.</li><li>Only one of the parameters - `previous_transaction_reference` and `previous_network_transaction_reference` - can be present in the request.</li></ul>. The fields in `stored_payment_source` are now available in the `stored_credential` object under the `payment_source` which supports them (eg. `payment_source.card.stored_credential.payment_initiator`). Please specify this field in the `payment_source` object instead of the `application_context` object. <b>DEPRECATED</b><br><table><tr><th>See</th><th>Since Version</th></tr><tr><td>payment_source.card.stored_credential</td><td>2.9</td></tr></table>"
}
]
},
"user_action": {
"default": "CONTINUE",
"description": "DEPRECATED. Configures a <strong>Continue</strong> or <strong>Pay Now</strong> checkout flow. The fields in `application_context` are now available in the `experience_context` object under the `payment_source` which supports them (eg. `payment_source.paypal.experience_context.user_action`). Please specify this field in the `experience_context` object instead of the `application_context` object.",
"enum": [
"CONTINUE",
"PAY_NOW"
],
"type": "string"
}
},
"title": "application_context",
"type": "object"
},
"order_authorize_request": {
"description": "The authorization of an order request.",
"properties": {
"payment_source": {
"allOf": [
{
"$ref": "#/components/schemas/payment_source"
},
{
"description": "The source of payment for the order, which can be a token or a card. Use this object only if you have not redirected the user after order creation to approve the payment. In such cases, the user-selected payment method in the PayPal flow is implicitly used."
}
]
}
},
"title": "Order Authorize Request",
"type": "object"
},
"order_authorize_response": {
"allOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/activity_timestamps"
},
{
"title": "activity_timestamps"
}
]
},
{
"description": "The order authorize response.",
"properties": {
"id": {
"description": "The ID of the order.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"intent": {
"allOf": [
{
"$ref": "#/components/schemas/checkout_payment_intent"
}
]
},
"links": {
"description": "An array of request-related HATEOAS links. To complete payer approval, use the `approve` link to redirect the payer. The API caller has 6 hours (default setting, this which can be changed by your account manager to 24/48/72 hours to accommodate your use case) from the time the order is created, to redirect your payer. Once redirected, the API caller has 6 hours for the payer to approve the order and either authorize or capture the order. If you are not using the PayPal JavaScript SDK to initiate PayPal Checkout (in context) ensure that you include `application_context.return_url` is specified or you will get \"We're sorry, Things don't appear to be working at the moment\" after the payer approves the payment.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description-2"
},
{
"description": "A request-related [HATEOAS link](/api/rest/responses/#hateoas-links). To complete payer approval, use the `approve` link with the `GET` method.",
"title": "link_description"
}
]
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"payer": {
"allOf": [
{
"$ref": "#/components/schemas/payer"
}
]
},
"payment_source": {
"allOf": [
{
"$ref": "#/components/schemas/payment_source_response"
},
{
"not": {
"anyOf": [
{
"required": [
"alipay"
]
},
{
"required": [
"bancomatpay"
]
},
{
"required": [
"bancontact"
]
},
{
"required": [
"blik"
]
},
{
"required": [
"boletobancario"
]
},
{
"required": [
"eps"
]
},
{
"required": [
"giropay"
]
},
{
"required": [
"grabpay"
]
},
{
"required": [
"ideal"
]
},
{
"required": [
"mbway"
]
},
{
"required": [
"multibanco"
]
},
{
"required": [
"mybank"
]
},
{
"required": [
"oxxo"
]
},
{
"required": [
"payu"
]
},
{
"required": [
"pay_upon_invoice"
]
},
{
"required": [
"p24"
]
},
{
"required": [
"safetypay"
]
},
{
"required": [
"satispay"
]
},
{
"required": [
"swish"
]
},
{
"required": [
"sofort"
]
},
{
"required": [
"trustly"
]
},
{
"required": [
"verkkopankki"
]
},
{
"required": [
"wechatpay"
]
}
]
}
}
]
},
"purchase_units": {
"description": "An array of purchase units. Each purchase unit establishes a contract between a customer and merchant. Each purchase unit represents either a full or partial order that the customer intends to purchase from the merchant.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/purchase_unit"
},
{
"description": "A purchase unit. Establishes a contract between a customer and merchant.",
"title": "purchase_unit"
}
]
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/order_status"
},
{
"readOnly": true
}
]
}
},
"title": "Order Authorize Response",
"type": "object"
}
],
"description": "The order authorize response.",
"title": "Order Authorize Response",
"type": "object"
},
"order_billing_plan": {
"description": "Metadata for merchant-managed recurring billing plans. Valid only during the saved payment method token or billing agreement creation.",
"properties": {
"billing_cycles": {
"description": "An array of billing cycles for trial billing and regular billing. A plan can have at most two trial cycles and only one regular cycle.",
"items": {
"$ref": "#/components/schemas/billing_cycle"
},
"maxItems": 3,
"minItems": 1,
"type": "array"
},
"name": {
"description": "Name of the recurring plan.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[A-Za-z0-9() +',.:-]+$",
"type": "string"
},
"setup_fee": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The setup fee for the recurring plan. Ensure its part of the item amount."
}
]
}
},
"required": [
"billing_cycles"
],
"title": "order_billing_plan",
"type": "object"
},
"order_capture_request": {
"description": "Completes an capture payment for an order.",
"properties": {
"payment_source": {
"allOf": [
{
"$ref": "#/components/schemas/payment_source"
},
{
"not": {
"anyOf": [
{
"required": [
"afterpay"
]
},
{
"required": [
"bancontact"
]
},
{
"required": [
"blik"
]
},
{
"required": [
"bizum"
]
},
{
"required": [
"blik_pay_later"
]
},
{
"required": [
"crypto"
]
},
{
"required": [
"dragonpay"
]
},
{
"required": [
"eps"
]
},
{
"required": [
"estonia_banks"
]
},
{
"required": [
"fiuu_cash"
]
},
{
"required": [
"floa_pay"
]
},
{
"required": [
"fpx"
]
},
{
"required": [
"giropay"
]
},
{
"required": [
"gopay"
]
},
{
"required": [
"ideal"
]
},
{
"required": [
"klarna"
]
},
{
"required": [
"latvia_banks"
]
},
{
"required": [
"lithuania_banks"
]
},
{
"required": [
"mybank"
]
},
{
"required": [
"paysafecard"
]
},
{
"required": [
"pix_international"
]
},
{
"required": [
"p24"
]
},
{
"required": [
"skrill"
]
},
{
"required": [
"paysera"
]
},
{
"required": [
"scalapay"
]
},
{
"required": [
"sofort"
]
},
{
"required": [
"swish"
]
},
{
"required": [
"thailand_banks"
]
},
{
"required": [
"trustly"
]
},
{
"required": [
"wero"
]
},
{
"required": [
"zip"
]
},
{
"required": [
"doku"
]
},
{
"required": [
"alfamart"
]
},
{
"required": [
"indomaret"
]
},
{
"required": [
"indonesia_banks"
]
},
{
"required": [
"jenius_pay"
]
},
{
"required": [
"kredivo"
]
},
{
"required": [
"linkaja"
]
},
{
"required": [
"ovo"
]
}
]
}
}
]
}
},
"title": "Order Capture Request",
"type": "object"
},
"order_confirm_application_context": {
"description": "Customizes the payer confirmation experience.",
"properties": {
"brand_name": {
"description": "Label to present to your payer as part of the PayPal hosted web experience.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"cancel_url": {
"description": "The URL where the customer is redirected after the customer cancels the payment.",
"format": "uri",
"maxLength": 4000,
"minLength": 10,
"type": "string"
},
"locale": {
"allOf": [
{
"$ref": "#/components/schemas/language"
},
{
"description": "The BCP 47-formatted locale of pages that the PayPal payment experience shows. PayPal supports a five-character code. For example, `da-DK`, `he-IL`, `id-ID`, `ja-JP`, `no-NO`, `pt-BR`, `ru-RU`, `sv-SE`, `th-TH`, `zh-CN`, `zh-HK`, or `zh-TW`."
}
]
},
"return_url": {
"description": "The URL where the customer is redirected after the customer approves the payment.",
"format": "uri",
"maxLength": 4000,
"minLength": 10,
"type": "string"
},
"stored_payment_source": {
"$ref": "#/components/schemas/stored_payment_source"
}
},
"title": "Order Confirm Application Context",
"type": "object"
},
"order_request": {
"description": "The order request details.",
"properties": {
"application_context": {
"allOf": [
{
"$ref": "#/components/schemas/order_application_context"
},
{
"description": "Customize the payer experience during the approval process for the payment with PayPal.",
"title": "application_context"
}
]
},
"intent": {
"$ref": "#/components/schemas/checkout_payment_intent"
},
"payer": {
"allOf": [
{
"$ref": "#/components/schemas/payer"
},
{
"deprecated": true,
"description": "DEPRECATED. The customer is also known as the payer. The Payer object was intended to only be used with the `payment_source.paypal` object. In order to make this design more clear, the details in the `payer` object are now available under `payment_source.paypal`. Please use `payment_source.paypal`. <b>DEPRECATED</b><br><table><tr><th>See</th><th>Since Version</th></tr><tr><td>payment_source.paypal</td><td>2.9</td></tr></table>"
}
]
},
"payment_source": {
"$ref": "#/components/schemas/payment_source"
},
"purchase_units": {
"description": "An array of purchase units. Each purchase unit establishes a contract between a payer and the payee. Each purchase unit represents either a full or partial order that the payer intends to purchase from the payee.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/purchase_unit_request"
},
{
"description": "The purchase unit. Establishes a contract between a payer and the payee.",
"title": "purchase_unit"
}
]
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"intent",
"purchase_units"
],
"title": "Order Request",
"type": "object"
},
"order_status": {
"description": "The order status.",
"enum": [
"CREATED",
"SAVED",
"APPROVED",
"VOIDED",
"COMPLETED",
"PAYER_ACTION_REQUIRED"
],
"title": "Order Status",
"type": "string"
},
"order_tracker_request": {
"allOf": [
{
"$ref": "#/components/schemas/shipment_tracker"
},
{
"description": "The tracking details of an order.",
"properties": {
"capture_id": {
"description": "The PayPal capture ID.",
"maxLength": 50,
"minLength": 1,
"pattern": "^[a-zA-Z0-9]*$",
"type": "string"
},
"items": {
"description": "An array of details of items in the shipment.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/tracker_item"
},
{
"description": "Items in a shipment.",
"title": "tracker_item"
}
]
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
},
"notify_payer": {
"default": false,
"description": "If true, PayPal will send an email notification to the payer of the PayPal transaction. The email contains the tracking details provided through the Orders tracking API request. Independent of any value passed for `notify_payer`, the payer may receive tracking notifications within the PayPal app, based on the user's notification preferences.",
"type": "boolean"
}
},
"required": [
"capture_id"
],
"title": "tracker_request",
"type": "object"
}
],
"description": "The tracking details of an order.",
"title": "tracker_request",
"type": "object"
},
"order_update_callback_error_response": {
"description": "The error details.",
"properties": {
"details": {
"description": "An array of additional details about the error.",
"items": {
"$ref": "#/components/schemas/order_update_callback_error_response_details"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"message": {
"description": "The message that describes the error.",
"maxLength": 2048,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"name": {
"description": "The human-readable, unique name of the error.",
"maxLength": 256,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
}
},
"required": [
"name"
],
"title": "OrderUpdateCallbackErrorResponse",
"type": "object"
},
"order_update_callback_error_response_details": {
"description": "The error details. Required for client-side `4XX` errors.",
"properties": {
"field": {
"description": "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.",
"maxLength": 256,
"minLength": 0,
"pattern": "^.*$",
"type": "string"
},
"issue": {
"description": "The unique, fine-grained application-level error code.",
"maxLength": 256,
"minLength": 0,
"pattern": "^.*$",
"type": "string"
},
"value": {
"description": "The value of the field that caused the error.",
"maxLength": 1024,
"minLength": 0,
"pattern": "^.*$",
"type": "string"
}
},
"required": [
"issue"
],
"title": "OrderUpdateCallbackErrorResponseDetails",
"type": "object"
},
"order_update_callback_request": {
"description": "Shipping Options Callback request. This will be implemented by the merchants.",
"properties": {
"id": {
"description": "The ID of the order.",
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9-]+$",
"readOnly": true,
"type": "string"
},
"purchase_units": {
"description": "An array of purchase units. At present only 1 purchase_unit is supported. Each purchase unit establishes a contract between a payer and the payee. Each purchase unit represents either a full or partial order that the payer intends to purchase from the payee.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/purchase_unit_request"
},
{
"title": "purchase_unit"
}
]
},
"maxItems": 1,
"minItems": 1,
"type": "array"
},
"shipping_address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "Redacted shipping address to be used for shipping options and tax calculations.",
"not": {
"anyOf": [
{
"required": [
"address_line_1"
]
},
{
"required": [
"address_line_2"
]
},
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"shipping_option": {
"allOf": [
{
"$ref": "#/components/schemas/shipping_option"
},
{
"description": "Buyer selected shipping option.",
"not": {
"required": [
"selected"
]
}
}
]
}
},
"required": [
"purchase_units"
],
"title": "OrderUpdateCallbackRequest",
"type": "object"
},
"order_update_callback_response": {
"description": "Returns the updated shipping options for an order.",
"properties": {
"id": {
"description": "The ID of the order.",
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9-]+$",
"readOnly": true,
"type": "string"
}
},
"title": "OrderUpdateCallbackResponse",
"type": "object"
},
"p24": {
"description": "Information used to pay using P24(Przelewy24).",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code.",
"title": "name"
}
]
},
"email": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with this payment method."
}
]
},
"method_description": {
"description": "Friendly name of the payment scheme or bank used for the payment.",
"maxLength": 2000,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"method_id": {
"description": "Numeric identifier of the payment scheme or bank used for the payment.",
"maxLength": 300,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
},
"payment_descriptor": {
"description": "P24 generated payment description.",
"maxLength": 2000,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"title": "p24",
"type": "object"
},
"p24_request": {
"description": "Information needed to pay using P24 (Przelewy24).",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"email": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with this payment method."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"required": [
"country_code",
"email",
"name"
],
"title": "p24_request",
"type": "object"
},
"pares_status": {
"description": "Transactions status result identifier. The outcome of the issuer's authentication.",
"enum": [
"Y",
"N",
"U",
"A",
"C",
"R",
"D",
"I"
],
"type": "string"
},
"participant_metadata": {
"description": "Profile information of the sender or receiver.",
"properties": {
"ip_address": {
"allOf": [
{
"$ref": "#/components/schemas/ip_address"
},
{
"description": "The consumer's IP address, which can be represented in either IPv4 or IPv6 format."
}
]
}
},
"title": "participant_metadata",
"type": "object"
},
"patch": {
"description": "The JSON patch object to apply partial updates to resources.",
"properties": {
"from": {
"description": "The <a href=\"https://tools.ietf.org/html/rfc6901\">JSON Pointer</a> to the target document location from which to move the value. Required for the <code>move</code> operation.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"op": {
"description": "The operation.",
"enum": [
"add",
"remove",
"replace",
"move",
"copy",
"test"
],
"type": "string"
},
"path": {
"description": "The <a href=\"https://tools.ietf.org/html/rfc6901\">JSON Pointer</a> to the target document location at which to complete the operation.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"value": {
"description": "The value to apply. The <code>remove</code>, <code>copy</code>, and <code>move</code> operations do not require a value. Since <a href=\"https://www.rfc-editor.org/rfc/rfc6902\">JSON Patch</a> allows any type for <code>value</code>, the <code>type</code> property is not specified.",
"title": "Patch Value"
}
},
"required": [
"op"
],
"title": "Patch",
"type": "object"
},
"patch_request": {
"description": "An array of JSON patch objects to apply partial updates to resources.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/patch"
},
{
"title": "patch"
}
]
},
"maxItems": 32767,
"minItems": 0,
"title": "Patch Request",
"type": "array"
},
"payee": {
"allOf": [
{
"$ref": "#/components/schemas/payee_base"
},
{
"type": "object"
}
],
"description": "The merchant who receives the funds and fulfills the order. The merchant is also known as the payee.",
"title": "payee",
"type": "object"
},
"payee_base": {
"description": "The details for the merchant who receives the funds and fulfills the order. The merchant is also known as the payee.",
"properties": {
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email"
},
{
"description": "The email address of merchant."
}
]
},
"merchant_id": {
"allOf": [
{
"$ref": "#/components/schemas/account_id"
},
{
"description": "The encrypted PayPal account ID of the merchant."
}
]
}
},
"title": "payee_base",
"type": "object"
},
"payee_payment_method_preference": {
"default": "UNRESTRICTED",
"description": "The merchant-preferred payment methods.",
"enum": [
"UNRESTRICTED",
"IMMEDIATE_PAYMENT_REQUIRED"
],
"title": "payee_payment_method_preference",
"type": "string"
},
"payer": {
"allOf": [
{
"$ref": "#/components/schemas/payer_base"
},
{
"properties": {
"address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The address of the payer. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties. Also referred to as the billing address of the customer.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"birth_date": {
"allOf": [
{
"$ref": "#/components/schemas/date_no_time"
},
{
"description": "The birth date of the payer in `YYYY-MM-DD` format."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/name"
},
{
"description": "The name of the payer. Supports only the `given_name` and `surname` properties.",
"not": {
"anyOf": [
{
"required": [
"prefix"
]
},
{
"required": [
"middle_name"
]
},
{
"required": [
"suffix"
]
},
{
"required": [
"alternate_full_name"
]
},
{
"required": [
"full_name"
]
}
]
}
}
]
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/phone_with_type"
},
{
"description": "The phone number of the customer. Available only when you enable the **Contact Telephone Number** option in the <a href=\"https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-website-payments\">**Profile & Settings**</a> for the merchant's PayPal account. The `phone.phone_number` supports only `national_number`."
}
]
},
"tax_info": {
"allOf": [
{
"$ref": "#/components/schemas/tax_info"
},
{
"description": "The tax information of the payer. Required only for Brazilian payer's. Both `tax_id` and `tax_id_type` are required."
}
]
}
},
"type": "object"
}
],
"description": "The customer who approves and pays for the order. The customer is also known as the payer.",
"title": "payer",
"type": "object"
},
"payer_base": {
"description": "The customer who approves and pays for the order. The customer is also known as the payer.",
"properties": {
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email"
},
{
"description": "The email address of the payer."
}
]
},
"payer_id": {
"allOf": [
{
"$ref": "#/components/schemas/account_id"
},
{
"description": "The PayPal-assigned ID for the payer.",
"readOnly": true
}
]
}
},
"title": "payer_base",
"type": "object"
},
"payment_collection": {
"description": "The collection of payments, or transactions, for a purchase unit in an order. For example, authorized payments, captured payments, and refunds.",
"properties": {
"authorizations": {
"description": "An array of authorized payments for a purchase unit. A purchase unit can have zero or more authorized payments.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/authorization_with_additional_data"
},
{
"description": "The authorized payment for a purchase unit.",
"title": "authorizations"
}
]
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
},
"captures": {
"description": "An array of captured payments for a purchase unit. A purchase unit can have zero or more captured payments.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/capture"
},
{
"description": "The captured payment for a purchase unit.",
"title": "capture"
}
]
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
},
"refunds": {
"description": "An array of refunds for a purchase unit. A purchase unit can have zero or more refunds.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/refund"
},
{
"description": "A refund for a purchase unit.",
"title": "refund"
}
]
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
}
},
"title": "Payment Collection",
"type": "object"
},
"payment_initiator": {
"description": "The person or party who initiated or triggered the payment.",
"enum": [
"CUSTOMER",
"MERCHANT"
],
"title": "payment_initiator",
"type": "string"
},
"payment_instruction": {
"description": "Any additional payment instructions to be consider during payment processing. This processing instruction is applicable for Capturing an order or Authorizing an Order.",
"properties": {
"disbursement_mode": {
"allOf": [
{
"$ref": "#/components/schemas/disbursement_mode"
},
{
"description": "The funds that are held payee by the marketplace/platform. This field is only applicable to merchants that been enabled for PayPal Complete Payments Platform for Marketplaces and Platforms capability."
}
]
},
"payee_pricing_tier_id": {
"description": "This field is only enabled for selected merchants/partners to use and provides the ability to trigger a specific pricing rate/plan for a payment transaction. The list of eligible 'payee_pricing_tier_id' would be provided to you by your Account Manager. Specifying values other than the one provided to you by your account manager would result in an error.",
"maxLength": 20,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"payee_receivable_fx_rate_id": {
"description": "FX identifier generated returned by PayPal to be used for payment processing in order to honor FX rate (for eligible integrations) to be used when amount is settled/received into the payee account.",
"maxLength": 4000,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"platform_fees": {
"description": "An array of various fees, commissions, tips, or donations. This field is only applicable to merchants that been enabled for PayPal Complete Payments Platform for Marketplaces and Platforms capability.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/platform_fee"
},
{
"title": "platform_fee"
}
]
},
"maxItems": 1,
"minItems": 0,
"type": "array"
}
},
"title": "payment_instruction",
"type": "object"
},
"payment_method": {
"description": "The customer and merchant payment preferences.",
"properties": {
"payee_preferred": {
"$ref": "#/components/schemas/payee_payment_method_preference"
},
"standard_entry_class_code": {
"default": "WEB",
"description": "NACHA (the regulatory body governing the ACH network) requires that API callers (merchants, partners) obtain the consumer\u2019s explicit authorization before initiating a transaction. To stay compliant, you\u2019ll need to make sure that you retain a compliant authorization for each transaction that you originate to the ACH Network using this API. ACH transactions are categorized (using SEC codes) by how you capture authorization from the Receiver (the person whose bank account is being debited or credited). PayPal supports the following SEC codes.",
"enum": [
"TEL",
"WEB",
"CCD",
"PPD"
],
"type": "string"
}
},
"title": "payment_method",
"type": "object"
},
"payment_source": {
"description": "The payment source definition.",
"properties": {
"apple_pay": {
"allOf": [
{
"$ref": "#/components/schemas/apple_pay_request"
},
{
"description": "ApplePay payment source, allows buyer to pay using ApplePay, both on Web as well as on Native.",
"title": "applepay"
}
]
},
"bancontact": {
"allOf": [
{
"$ref": "#/components/schemas/bancontact_request"
},
{
"description": "Bancontact is the most popular online payment in Belgium. [More Details](https://www.bancontact.com/).",
"title": "bancontact"
}
]
},
"blik": {
"allOf": [
{
"$ref": "#/components/schemas/blik_request"
},
{
"description": "BLIK is a mobile payment system, created by Polish Payment Standard in order to allow millions of users to pay in shops, payout cash in ATMs and make online purchases and payments. [More Details](https://blikmobile.pl/).",
"title": "blik"
}
]
},
"card": {
"$ref": "#/components/schemas/card_request"
},
"crypto": {
"allOf": [
{
"$ref": "#/components/schemas/crypto_request"
},
{
"description": "Indicates that Crypto Wallet is the payment source.",
"title": "crypto"
}
]
},
"eps": {
"allOf": [
{
"$ref": "#/components/schemas/eps_request"
},
{
"description": "The eps transfer is an online payment method developed by many Austrian banks. [More Details](https://www.eps-ueberweisung.at/).",
"title": "eps"
}
]
},
"giropay": {
"allOf": [
{
"$ref": "#/components/schemas/giropay_request"
},
{
"description": "Giropay is an Internet payment System in Germany, based on online banking. [More Details](https://giropay.de/).",
"title": "giropay"
}
]
},
"google_pay": {
"allOf": [
{
"$ref": "#/components/schemas/google_pay_request"
},
{
"description": "Google Pay payment source, allows buyer to pay using Google Pay.",
"title": "googlepay"
}
]
},
"ideal": {
"allOf": [
{
"$ref": "#/components/schemas/ideal_request"
},
{
"description": "The Dutch payment method iDEAL is an online payment method that enables consumers to pay online through their own bank. [More Details](https://www.ideal.nl/).",
"title": "ideal"
}
]
},
"mybank": {
"allOf": [
{
"$ref": "#/components/schemas/mybank_request"
},
{
"description": "MyBank is an e-authorisation solution which enables safe digital payments and identity authentication through a consumer\u2019s own online banking portal or mobile application. [More Details](https://www.mybank.eu/).",
"title": "mybank"
}
]
},
"p24": {
"allOf": [
{
"$ref": "#/components/schemas/p24_request"
},
{
"description": "P24 (Przelewy24) is a secure and fast online bank transfer service linked to all the major banks in Poland. [More Details](https://www.przelewy24.pl/).",
"title": "p24"
}
]
},
"paypal": {
"allOf": [
{
"$ref": "#/components/schemas/paypal_wallet"
},
{
"description": "Indicates that PayPal Wallet is the payment source. Main use of this selection is to provide additional instructions associated with this choice like vaulting."
}
]
},
"sofort": {
"allOf": [
{
"$ref": "#/components/schemas/sofort_request"
},
{
"description": "SOFORT Banking is a real-time bank transfer payment method that buyers use to transfer funds directly to merchants from their bank accounts. [More Details](https://www.klarna.com/sofort/).",
"title": "sofort"
}
]
},
"token": {
"$ref": "#/components/schemas/token"
},
"trustly": {
"allOf": [
{
"$ref": "#/components/schemas/trustly_request"
},
{
"description": "Trustly is a payment method that allows customers to shop and pay from their bank account. [More Details](https://www.trustly.net/).",
"title": "trustly"
}
]
},
"venmo": {
"allOf": [
{
"$ref": "#/components/schemas/venmo_wallet_request"
},
{
"description": "Information needed to indicate that Venmo is being used to fund the payment.",
"title": "venmo"
}
]
}
},
"title": "payment_source",
"type": "object"
},
"payment_source_response": {
"description": "The payment source used to fund the payment.",
"properties": {
"apple_pay": {
"$ref": "#/components/schemas/apple_pay"
},
"bancontact": {
"$ref": "#/components/schemas/bancontact"
},
"blik": {
"$ref": "#/components/schemas/blik"
},
"card": {
"$ref": "#/components/schemas/card_response"
},
"crypto": {
"$ref": "#/components/schemas/crypto"
},
"eps": {
"$ref": "#/components/schemas/eps"
},
"giropay": {
"$ref": "#/components/schemas/giropay"
},
"google_pay": {
"$ref": "#/components/schemas/google_pay"
},
"ideal": {
"$ref": "#/components/schemas/ideal"
},
"mybank": {
"$ref": "#/components/schemas/mybank"
},
"p24": {
"$ref": "#/components/schemas/p24"
},
"paypal": {
"$ref": "#/components/schemas/paypal_wallet_response"
},
"sofort": {
"$ref": "#/components/schemas/sofort"
},
"trustly": {
"$ref": "#/components/schemas/trustly"
},
"venmo": {
"$ref": "#/components/schemas/venmo_wallet_response"
}
},
"title": "payment_source_response",
"type": "object"
},
"paypal_wallet": {
"description": "A resource that identifies a PayPal Wallet is used for payment.",
"properties": {
"address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The address of the PayPal account holder. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties. Also referred to as the billing address of the customer.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"attributes": {
"allOf": [
{
"$ref": "#/components/schemas/paypal_wallet_attributes"
},
{
"description": "Additional attributes associated with the use of this wallet.",
"title": "paypal_wallet_attributes"
}
]
},
"billing_agreement_id": {
"$ref": "#/components/schemas/billing_agreement_id"
},
"birth_date": {
"allOf": [
{
"$ref": "#/components/schemas/date_no_time"
},
{
"description": "The birth date of the PayPal account holder in `YYYY-MM-DD` format."
}
]
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email"
},
{
"description": "The email address of the PayPal account holder."
}
]
},
"experience_context": {
"$ref": "#/components/schemas/paypal_wallet_experience_context"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/name"
},
{
"description": "The name of the PayPal account holder. Supports only the `given_name` and `surname` properties.",
"not": {
"anyOf": [
{
"required": [
"prefix"
]
},
{
"required": [
"middle_name"
]
},
{
"required": [
"suffix"
]
},
{
"required": [
"alternate_full_name"
]
},
{
"required": [
"full_name"
]
}
]
}
}
]
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/phone_with_type"
},
{
"description": "The phone number of the customer. Available only when you enable the **Contact Telephone Number** option in the <a href=\"https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-website-payments\">**Profile & Settings**</a> for the merchant's PayPal account. The `phone.phone_number` supports only `national_number`."
}
]
},
"stored_credential": {
"$ref": "#/components/schemas/paypal_wallet_stored_credential"
},
"tax_info": {
"allOf": [
{
"$ref": "#/components/schemas/tax_info"
},
{
"description": "The tax information of the PayPal account holder. Required only for Brazilian PayPal account holder's. Both `tax_id` and `tax_id_type` are required."
}
]
},
"vault_id": {
"allOf": [
{
"$ref": "#/components/schemas/vault_id"
},
{
"description": "The PayPal-generated ID for the payment_source stored within the Vault."
}
]
}
},
"title": "paypal_wallet",
"type": "object"
},
"paypal_wallet_attributes": {
"description": "Additional attributes associated with the use of this PayPal Wallet.",
"properties": {
"customer": {
"$ref": "#/components/schemas/paypal_wallet_customer"
},
"vault": {
"allOf": [
{
"$ref": "#/components/schemas/vault_paypal_wallet_base"
},
{
"description": "Attributes used to provide the instructions during vaulting of the PayPal Wallet.",
"not": {
"required": [
"shipping"
]
}
}
]
}
},
"title": "paypal_wallet_attributes",
"type": "object"
},
"paypal_wallet_attributes_response": {
"description": "Additional attributes associated with the use of a PayPal Wallet.",
"properties": {
"cobranded_cards": {
"description": "An array of merchant cobranded cards used by buyer to complete an order. This array will be present if a merchant has onboarded their cobranded card with PayPal and provided corresponding label(s).",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/cobranded_card"
},
{
"title": "cobranded_card"
}
]
},
"maxItems": 25,
"minItems": 0,
"type": "array"
},
"vault": {
"$ref": "#/components/schemas/paypal_wallet_vault_response"
}
},
"title": "paypal_wallet_attributes_response",
"type": "object"
},
"paypal_wallet_customer": {
"allOf": [
{
"$ref": "#/components/schemas/customer"
},
{
"properties": {
"merchant_customer_id": {
"description": "Merchants and partners may already have a data-store where their customer information is persisted. Use merchant_customer_id to associate the PayPal-generated customer.id to your representation of a customer.",
"maxLength": 64,
"minLength": 1,
"pattern": "^[0-9a-zA-Z-_.^*$@#]+$",
"type": "string"
}
},
"type": "object"
}
],
"description": "The details about a customer in PayPal's system of record.",
"title": "paypal_wallet_customer",
"type": "object"
},
"paypal_wallet_experience_context": {
"description": "Customizes the payer experience during the approval process for payment with PayPal.<blockquote><strong>Note:</strong> Partners and Marketplaces might configure <code>brand_name</code> and <code>shipping_preference</code> during partner account setup, which overrides the request values.</blockquote>",
"properties": {
"app_switch_context": {
"allOf": [
{
"$ref": "#/components/schemas/app_switch_context"
},
{
"description": "Merchants can use this to switch buyers from their website/application to the PayPal consumer app to review and approve the transaction."
}
]
},
"brand_name": {
"description": "The label that overrides the business name in the PayPal account on the PayPal site. The pattern is defined by an external party and supports Unicode.",
"maxLength": 127,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"cancel_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer will be redirected upon cancelling the payment approval.",
"format": "uri"
}
]
},
"contact_preference": {
"default": "NO_CONTACT_INFO",
"description": "The preference to display the contact information (buyer\u2019s shipping email & phone number) on PayPal's checkout for easy merchant-buyer communication.",
"enum": [
"NO_CONTACT_INFO",
"UPDATE_CONTACT_INFO",
"RETAIN_CONTACT_INFO"
],
"type": "string"
},
"landing_page": {
"default": "NO_PREFERENCE",
"description": "The type of landing page to show on the PayPal site for customer checkout.",
"enum": [
"LOGIN",
"GUEST_CHECKOUT",
"NO_PREFERENCE",
"BILLING"
],
"type": "string"
},
"locale": {
"allOf": [
{
"$ref": "#/components/schemas/language"
},
{
"description": "The BCP 47-formatted locale of pages that the PayPal payment experience shows. PayPal supports a five-character code. For example, `da-DK`, `he-IL`, `id-ID`, `ja-JP`, `no-NO`, `pt-BR`, `ru-RU`, `sv-SE`, `th-TH`, `zh-CN`, `zh-HK`, or `zh-TW`."
}
]
},
"order_update_callback_config": {
"allOf": [
{
"$ref": "#/components/schemas/callback_configuration"
},
{
"description": "Merchant provided Order Update callback configuration for PayPal Wallet.PayPal will call back merchant when the specified event occurs.we recommend merchants to pass both the shipping_options and shipping_address callback events. Not supported when `shipping.type` is specified or when 'application_context.shipping_preference' is set as 'NO_SHIPPING' or 'SET_PROVIDED_ADDRESS'."
}
]
},
"payment_method_preference": {
"default": "UNRESTRICTED",
"description": "The merchant-preferred payment methods.",
"enum": [
"UNRESTRICTED",
"IMMEDIATE_PAYMENT_REQUIRED"
],
"type": "string"
},
"return_url": {
"allOf": [
{
"$ref": "#/components/schemas/url"
},
{
"description": "The URL where the customer will be redirected upon approving a payment.",
"format": "uri"
}
]
},
"shipping_preference": {
"default": "GET_FROM_FILE",
"description": "The location from which the shipping address is derived.",
"enum": [
"GET_FROM_FILE",
"NO_SHIPPING",
"SET_PROVIDED_ADDRESS"
],
"type": "string"
},
"user_action": {
"default": "CONTINUE",
"description": "Configures a <strong>Continue</strong> or <strong>Pay Now</strong> checkout flow.",
"enum": [
"CONTINUE",
"PAY_NOW"
],
"type": "string"
}
},
"title": "paypal_wallet_experience_context",
"type": "object"
},
"paypal_wallet_response": {
"description": "The PayPal Wallet response.",
"properties": {
"account_id": {
"allOf": [
{
"$ref": "#/components/schemas/account_id-2"
},
{
"description": "The PayPal-assigned ID for the PayPal account holder.",
"readOnly": true
}
]
},
"account_status": {
"description": "The account status indicates whether the buyer has verified the financial details associated with their PayPal account.",
"enum": [
"VERIFIED",
"UNVERIFIED"
],
"readOnly": true,
"type": "string"
},
"address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The address of the PayPal account holder. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties. Also referred to as the billing address of the customer.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"attributes": {
"$ref": "#/components/schemas/paypal_wallet_attributes_response"
},
"birth_date": {
"allOf": [
{
"$ref": "#/components/schemas/date_no_time"
},
{
"description": "The birth date of the PayPal account holder in `YYYY-MM-DD` format."
}
]
},
"business_name": {
"description": "The business name of the PayPal account holder (populated for business accounts only)",
"maxLength": 300,
"minLength": 0,
"pattern": "^.*$",
"type": "string"
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email"
},
{
"description": "The email address of the PayPal account holder."
}
]
},
"experience_status": {
"description": "This field indicates the status of PayPal's Checkout experience throughout the order lifecycle. The values reflect the current stage of the checkout process.",
"enum": [
"NOT_STARTED",
"IN_PROGRESS",
"CANCELED",
"APPROVED"
],
"readOnly": true,
"type": "string"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/name"
},
{
"description": "The name of the PayPal account holder. Supports only the `given_name` and `surname` properties.",
"not": {
"anyOf": [
{
"required": [
"prefix"
]
},
{
"required": [
"middle_name"
]
},
{
"required": [
"suffix"
]
},
{
"required": [
"alternate_full_name"
]
},
{
"required": [
"full_name"
]
}
]
}
}
]
},
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone-3"
},
{
"description": "The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). Available only when you enable the **Contact Telephone Number** option in the <a href=\"https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-website-payments\">**Profile & Settings**</a> for the merchant's PayPal account. Supports only the `national_number` property."
}
]
},
"phone_type": {
"$ref": "#/components/schemas/phone_type"
},
"stored_credential": {
"$ref": "#/components/schemas/paypal_wallet_stored_credential"
},
"tax_info": {
"allOf": [
{
"$ref": "#/components/schemas/tax_info"
},
{
"description": "The tax information of the PayPal account holder. Required only for Brazilian PayPal account holder's. Both `tax_id` and `tax_id_type` are required."
}
]
}
},
"title": "paypal_wallet_response",
"type": "object"
},
"paypal_wallet_stored_credential": {
"description": "Provides additional details to process a payment using the PayPal wallet billing agreement or a vaulted payment method that has been stored or is intended to be stored.",
"properties": {
"charge_pattern": {
"allOf": [
{
"$ref": "#/components/schemas/charge_pattern"
},
{
"deprecated": true,
"description": "DEPRECATED. Expected business/pricing model for the billing agreement, Please use usage_pattern instead. <b>DEPRECATED</b><br><table><tr><th>See</th></tr><tr><td>usage_pattern</td></tr></table>"
}
]
},
"payment_initiator": {
"$ref": "#/components/schemas/payment_initiator"
},
"usage": {
"$ref": "#/components/schemas/stored_payment_source_usage_type"
},
"usage_pattern": {
"$ref": "#/components/schemas/charge_pattern"
}
},
"required": [
"payment_initiator"
],
"title": "paypal_wallet_stored_credential",
"type": "object"
},
"paypal_wallet_vault_response": {
"allOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/vault_response"
},
{
"not": {
"required": [
"customer"
]
}
}
]
},
{
"properties": {
"customer": {
"$ref": "#/components/schemas/paypal_wallet_customer"
}
},
"type": "object"
}
],
"description": "The details about a saved PayPal Wallet payment source.",
"title": "paypal_wallet_vault_response",
"type": "object"
},
"phone": {
"description": "The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en).",
"properties": {
"country_code": {
"description": "The country calling code (CC), in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the CC and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).",
"maxLength": 3,
"minLength": 1,
"pattern": "^[0-9]{1,3}?$",
"title": "country_calling_code",
"type": "string"
},
"extension_number": {
"description": "The extension number.",
"maxLength": 15,
"minLength": 1,
"pattern": "^[0-9]{1,15}?$",
"type": "string"
},
"national_number": {
"description": "The national number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).",
"maxLength": 14,
"minLength": 1,
"pattern": "^[0-9]{1,14}?$",
"type": "string"
}
},
"required": [
"country_code",
"national_number"
],
"title": "Phone",
"type": "object"
},
"phone-3": {
"description": "The phone number in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en).",
"properties": {
"national_number": {
"description": "The national number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).",
"maxLength": 14,
"minLength": 1,
"pattern": "^[0-9]{1,14}?$",
"type": "string"
}
},
"required": [
"national_number"
],
"title": "Phone Number",
"type": "object"
},
"phone_number_without_country_code": {
"description": "A structured representation of a phone number conforming to the international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en),requiring only the national_number field.",
"properties": {
"national_number": {
"description": "The national number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).",
"maxLength": 14,
"minLength": 1,
"pattern": "^[0-9]{1,14}?$",
"type": "string"
}
},
"required": [
"national_number"
],
"title": "Phone Number Format Requiring National Number Excluding Country Code",
"type": "object"
},
"phone_type": {
"description": "The phone type.",
"enum": [
"FAX",
"HOME",
"MOBILE",
"OTHER",
"PAGER"
],
"title": "Phone Type",
"type": "string"
},
"phone_with_national_required_and_country_code": {
"description": "A structured representation of a phone number conforming to the international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en),requiring the national_number field and optionally supporting the country_code.",
"properties": {
"country_code": {
"description": "The country calling code (CC), in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the CC and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).",
"maxLength": 3,
"minLength": 1,
"pattern": "^[0-9]{1,3}?$",
"title": "country_calling_code",
"type": "string"
},
"national_number": {
"description": "The national number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).",
"maxLength": 14,
"minLength": 1,
"pattern": "^[0-9]{1,14}?$",
"type": "string"
}
},
"required": [
"national_number"
],
"title": "Phone Number Schema with Required National Number and Optional Country Code",
"type": "object"
},
"phone_with_type": {
"description": "The phone information.",
"properties": {
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone_number_without_country_code"
},
{
"description": "The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). Supports only the `national_number` property."
}
]
},
"phone_type": {
"$ref": "#/components/schemas/phone_type"
}
},
"required": [
"phone_number"
],
"title": "phone_with_type",
"type": "object"
},
"platform_fee": {
"description": "The platform or partner fee, commission, or brokerage fee that is associated with the transaction. Not a separate or isolated transaction leg from the external perspective. The platform fee is limited in scope and is always associated with the original payment for the purchase unit.",
"properties": {
"amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The fee for this transaction.",
"title": "amount"
}
]
},
"payee": {
"allOf": [
{
"$ref": "#/components/schemas/payee_base"
},
{
"description": "The recipient of the fee for this transaction.",
"title": "payee"
}
]
}
},
"required": [
"amount"
],
"title": "platform_fee",
"type": "object"
},
"pricing_scheme": {
"description": "The pricing scheme details.",
"properties": {
"price": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The price the customer will be charged based on the pricing model"
}
]
},
"pricing_model": {
"description": "The pricing model for the billing cycle.",
"enum": [
"FIXED",
"VARIABLE",
"AUTO_RELOAD"
],
"type": "string"
},
"reload_threshold_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The threshold amount on which the reload charge would be triggered. This will be associated with the account-balance where if the account-balance goes below this amount then customer would incur reload charge."
}
]
}
},
"required": [
"pricing_model"
],
"title": "pricing_scheme",
"type": "object"
},
"processor_response": {
"description": "The processor response information for payment requests, such as direct credit card transactions.",
"properties": {
"avs_code": {
"description": "The address verification code for Visa, Discover, Mastercard, or American Express transactions.",
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"I",
"M",
"N",
"P",
"R",
"S",
"U",
"W",
"X",
"Y",
"Z",
"Null",
"0",
"1",
"2",
"3",
"4"
],
"readOnly": true,
"type": "string"
},
"cvv_code": {
"description": "The card verification value code for for Visa, Discover, Mastercard, or American Express.",
"enum": [
"E",
"I",
"M",
"N",
"P",
"S",
"U",
"X",
"All others",
"0",
"1",
"2",
"3",
"4"
],
"readOnly": true,
"type": "string"
},
"payment_advice_code": {
"description": "The declined payment transactions might have payment advice codes. The card networks, like Visa and Mastercard, return payment advice codes.",
"enum": [
"01",
"02",
"03",
"04",
"21",
"22",
"24",
"25",
"26",
"27",
"28",
"29",
"30",
"40",
"43"
],
"readOnly": true,
"type": "string"
},
"response_code": {
"description": "Processor response code for the non-PayPal payment processor errors.",
"enum": [
"0000",
"00N7",
"0100",
"0390",
"0500",
"0580",
"0800",
"0880",
"0890",
"0960",
"0R00",
"1000",
"10BR",
"1300",
"1310",
"1312",
"1317",
"1320",
"1330",
"1335",
"1340",
"1350",
"1352",
"1360",
"1370",
"1380",
"1382",
"1384",
"1390",
"1393",
"5100",
"5110",
"5120",
"5130",
"5135",
"5140",
"5150",
"5160",
"5170",
"5180",
"5190",
"5200",
"5210",
"5400",
"5500",
"5650",
"5700",
"5710",
"5800",
"5900",
"5910",
"5920",
"5930",
"5950",
"6300",
"7600",
"7700",
"7710",
"7800",
"7900",
"8000",
"8010",
"8020",
"8030",
"8100",
"8110",
"8220",
"9100",
"9500",
"9510",
"9520",
"9530",
"9540",
"9600",
"PCNR",
"PCVV",
"PP06",
"PPRN",
"PPAD",
"PPAB",
"PPAE",
"PPAG",
"PPAI",
"PPAR",
"PPAU",
"PPAV",
"PPAX",
"PPBG",
"PPC2",
"PPCE",
"PPCO",
"PPCR",
"PPCT",
"PPCU",
"PPD3",
"PPDC",
"PPDI",
"PPDV",
"PPDT",
"PPEF",
"PPEL",
"PPER",
"PPEX",
"PPFE",
"PPFI",
"PPFR",
"PPFV",
"PPGR",
"PPH1",
"PPIF",
"PPII",
"PPIM",
"PPIT",
"PPLR",
"PPLS",
"PPMB",
"PPMC",
"PPMD",
"PPNC",
"PPNL",
"PPNM",
"PPNT",
"PPPH",
"PPPI",
"PPPM",
"PPQC",
"PPRE",
"PPRF",
"PPRR",
"PPS0",
"PPS1",
"PPS2",
"PPS3",
"PPS4",
"PPS5",
"PPS6",
"PPSC",
"PPSD",
"PPSE",
"PPTE",
"PPTF",
"PPTI",
"PPTR",
"PPTT",
"PPTV",
"PPUA",
"PPUC",
"PPUE",
"PPUI",
"PPUP",
"PPUR",
"PPVC",
"PPVE",
"PPVT"
],
"readOnly": true,
"type": "string"
}
},
"title": "processor_response",
"type": "object"
},
"purchase_unit": {
"description": "The purchase unit details. Used to capture required information for the payment contract.",
"properties": {
"amount": {
"$ref": "#/components/schemas/amount_with_breakdown"
},
"custom_id": {
"description": "The API caller-provided external ID. Used to reconcile API caller-initiated transactions with PayPal transactions. Appears in transaction and settlement reports.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"description": {
"description": "The purchase description.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"id": {
"description": "The PayPal-generated ID for the purchase unit. This ID appears in both the payer's transaction history and the emails that the payer receives. In addition, this ID is available in transaction and settlement reports that merchants and API callers can use to reconcile transactions. This ID is only available when an order is saved by calling <code>v2/checkout/orders/id/save</code>.",
"maxLength": 19,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"invoice_id": {
"description": "The API caller-provided external invoice ID for this order.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"items": {
"description": "An array of items that the customer purchases from the merchant.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/item"
},
{
"description": "An item.",
"title": "item"
}
]
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
},
"payee": {
"allOf": [
{
"$ref": "#/components/schemas/payee"
},
{
"description": "The merchant who receives payment for this transaction."
}
]
},
"payment_instruction": {
"$ref": "#/components/schemas/payment_instruction"
},
"payments": {
"allOf": [
{
"$ref": "#/components/schemas/payment_collection"
},
{
"description": "The comprehensive history of payments for the purchase unit.",
"readOnly": true
}
]
},
"reference_id": {
"description": "The API caller-provided external ID for the purchase unit. Required for multiple purchase units when you must update the order through `PATCH`. If you omit this value and the order contains only one purchase unit, PayPal sets this value to `default`. <blockquote><strong>Note:</strong> If there are multiple purchase units, <code>reference_id</code> is required for each purchase unit.</blockquote>",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"shipping": {
"allOf": [
{
"$ref": "#/components/schemas/shipping_with_tracking_details"
},
{
"description": "The shipping address and method."
}
]
},
"soft_descriptor": {
"description": "The payment descriptor on account transactions on the customer's credit card statement, that PayPal sends to processors. The maximum length of the soft descriptor information that you can pass in the API field is 22 characters, in the following format:<code>22 - len(PAYPAL * (8)) - len(<var>Descriptor in Payment Receiving Preferences of Merchant account</var> + 1)</code>The PAYPAL prefix uses 8 characters.<br/><br/>The soft descriptor supports the following ASCII characters:<ul><li>Alphanumeric characters</li><li>Dashes</li><li>Asterisks</li><li>Periods (.)</li><li>Spaces</li></ul>For Wallet payments marketplace integrations:<ul><li>The merchant descriptor in the Payment Receiving Preferences must be the marketplace name.</li><li>You can't use the remaining space to show the customer service number.</li><li>The remaining spaces can be a combination of seller name and country.</li></ul><br/>For unbranded payments (Direct Card) marketplace integrations, use a combination of the seller name and phone number.",
"maxLength": 22,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"supplementary_data": {
"allOf": [
{
"$ref": "#/components/schemas/supplementary_data"
},
{
"description": "Supplementary data about this payment. Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href=\"https://developer.paypal.com/docs/checkout/advanced/processing/\">checkout</a> or <a href=\"https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/\">multiparty checkout</a>."
}
]
}
},
"title": "Purchase Unit",
"type": "object"
},
"purchase_unit_request": {
"description": "The purchase unit request. Includes required information for the payment contract.",
"properties": {
"amount": {
"allOf": [
{
"$ref": "#/components/schemas/amount_with_breakdown"
},
{
"description": "The total order amount with an optional breakdown that provides details, such as the total item amount, total tax amount, shipping, handling, insurance, and discounts, if any.<br/>If you specify `amount.breakdown`, the amount equals `item_total` plus `tax_total` plus `shipping` plus `handling` plus `insurance` minus `shipping_discount` minus discount.<br/>The amount must be a positive number. The `amount.value` field supports up to 15 digits preceding the decimal. For a list of supported currencies, decimal precision, and maximum charge amount, see the PayPal REST APIs <a href=\"https://developer.paypal.com/api/rest/reference/currency-codes/\">Currency Codes</a>."
}
]
},
"custom_id": {
"description": "The API caller-provided external ID. Used to reconcile client transactions with PayPal transactions. Appears in transaction and settlement reports but is not visible to the payer.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"description": {
"description": "<blockquote>This field supports up to 3,000 characters, but <strong>any content beyond 127 characters (including spaces) will be truncated. The 127 character limit is reflected in the response</strong> representation of this field.</blockquote>The purchase description. The maximum length of the character is dependent on the type of characters used. The character length is specified assuming a US ASCII character. Depending on type of character; (e.g. accented character, Japanese characters) the number of characters that that can be specified as input might not equal the permissible max length.",
"maxLength": 3000,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"invoice_id": {
"description": "The API caller-provided external invoice number for this order. Appears in both the payer's transaction history and the emails that the payer receives. invoice_id values are required to be unique within each merchant account by default. Although the uniqueness validation is configurable, disabling this behavior will remove the account's ability to use invoice_id in other APIs as an identifier. It is highly recommended to keep a unique invoice_id for each Order.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"items": {
"description": "An array of items that the customer purchases from the merchant.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/item_request"
},
{
"description": "The item.",
"title": "item"
}
]
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
},
"payee": {
"allOf": [
{
"$ref": "#/components/schemas/payee"
},
{
"description": "The merchant who receives payment for this transaction."
}
]
},
"payment_instruction": {
"$ref": "#/components/schemas/payment_instruction"
},
"reference_id": {
"description": "The API caller-provided external ID for the purchase unit. Required for multiple purchase units when you must update the order through `PATCH`. If you omit this value and the order contains only one purchase unit, PayPal sets this value to `default`.",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"shipping": {
"allOf": [
{
"$ref": "#/components/schemas/shipping_detail"
},
{
"description": "The name and address of the person to whom to ship the items."
}
]
},
"soft_descriptor": {
"description": "<blockquote>This field supports up to 127 characters, but <strong>any content beyond 22 characters (including spaces) will be truncated. The 22 character limit is reflected in the response</strong> representation of this field.</blockquote>The soft descriptor is the dynamic text used to construct the statement descriptor that appears on a payer's card statement.<br><br>If an Order is paid using the \"PayPal Wallet\", the statement descriptor will appear in following format on the payer's card statement: <code><var>PAYPAL_prefix</var>+(space)+<var>merchant_descriptor</var>+(space)+ <var>soft_descriptor</var></code><blockquote><strong>Note:</strong> The merchant descriptor is the descriptor of the merchant\u2019s payment receiving preferences which can be seen by logging into the merchant account https://www.sandbox.paypal.com/businessprofile/settings/info/edit</blockquote>The <code>PAYPAL</code> prefix uses 8 characters. Only the first 22 characters will be displayed in the statement. <br>For example, if:<ul><li>The PayPal prefix toggle is <code>PAYPAL *</code>.</li><li>The merchant descriptor in the profile is <code>Janes Gift</code>.</li><li>The soft descriptor is <code>800-123-1234</code>.</li></ul>Then, the statement descriptor on the card is <code>PAYPAL * Janes Gift 80</code>.",
"maxLength": 1000,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"supplementary_data": {
"allOf": [
{
"$ref": "#/components/schemas/supplementary_data"
},
{
"description": "Contains Supplementary Data."
}
]
}
},
"required": [
"amount"
],
"title": "Purchase Unit Request",
"type": "object"
},
"refund": {
"allOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/refund_status"
}
]
},
{
"description": "The detailed properties of the refund transaction, including identifiers, amounts, breakdowns, and associated metadata.",
"properties": {
"acquirer_reference_number": {
"description": "Reference ID issued for the card transaction. This ID can be used to track the transaction across processors, card brands and issuing banks.",
"maxLength": 36,
"minLength": 1,
"pattern": "^[a-zA-Z0-9]+$",
"type": "string"
},
"amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The amount that the payee refunded to the payer.",
"readOnly": true
}
]
},
"custom_id": {
"description": "The API caller-provided external ID. Used to reconcile API caller-initiated transactions with PayPal transactions. Appears in transaction and settlement reports.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[A-Za-z0-9-_.,]*$",
"type": "string"
},
"id": {
"description": "The PayPal-generated ID for the refund.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"invoice_id": {
"description": "The API caller-provided external invoice number for this order. Appears in both the payer's transaction history and the emails that the payer receives.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"links": {
"description": "An array of related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links).",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description-2"
},
{
"title": "link_description"
}
]
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"note_to_payer": {
"description": "The reason for the refund. Appears in both the payer's transaction history and the emails that the payer receives.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"payer": {
"allOf": [
{
"$ref": "#/components/schemas/payee_base"
},
{
"description": "The details associated with the merchant for this transaction.",
"readOnly": true
}
]
},
"seller_payable_breakdown": {
"description": "The breakdown of the refund.",
"properties": {
"gross_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The amount that the payee refunded to the payer.",
"readOnly": true
}
]
},
"net_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The net amount that the payee's account is debited in the transaction currency. The net amount is calculated as <code>gross_amount</code> minus <code>paypal_fee</code> minus <code>platform_fees</code>.",
"readOnly": true
}
]
},
"net_amount_breakdown": {
"description": "An array of breakdown values for the net amount. Returned when the currency of the refund is different from the currency of the PayPal account where the payee holds their funds.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/net_amount_breakdown_item"
},
{
"title": "net_amount_breakdown_item"
}
]
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"net_amount_in_receivable_currency": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The net amount that the payee's account is debited in the receivable currency. Returned only in cases when the receivable currency is different from transaction currency. Example 'CNY'.",
"readOnly": true
}
]
},
"paypal_fee": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The PayPal fee that was refunded to the payer in the currency of the transaction. This fee might not match the PayPal fee that the payee paid when the payment was captured.",
"readOnly": true
}
]
},
"paypal_fee_in_receivable_currency": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The PayPal fee that was refunded to the payer in the receivable currency. Returned only in cases when the receivable currency is different from transaction currency. Example 'CNY'.",
"readOnly": true
}
]
},
"platform_fees": {
"description": "An array of platform or partner fees, commissions, or brokerage fees for the refund.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/platform_fee"
},
{
"title": "platform_fee"
}
]
},
"maxItems": 1,
"minItems": 0,
"type": "array"
},
"total_refunded_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The total amount refunded from the original capture to date. For example, if a payer makes a $100 purchase and was refunded $20 a week ago and was refunded $30 in this refund, the `gross_amount` is $30 for this refund and the `total_refunded_amount` is $50."
}
]
}
},
"readOnly": true,
"title": "Seller Payable Breakdown",
"type": "object"
}
},
"title": "Refund Properties",
"type": "object"
},
{
"allOf": [
{
"$ref": "#/components/schemas/activity_timestamps"
}
]
}
],
"description": "The refund information.",
"title": "refund",
"type": "object"
},
"refund_status": {
"description": "The refund status with details.",
"properties": {
"status": {
"description": "The status of the refund.",
"enum": [
"CANCELLED",
"FAILED",
"PENDING",
"COMPLETED"
],
"readOnly": true,
"title": "Refund Status With Details",
"type": "string"
},
"status_details": {
"allOf": [
{
"$ref": "#/components/schemas/refund_status_details"
},
{
"description": "The details of the refund status.",
"readOnly": true
}
]
}
},
"title": "refund_status",
"type": "object"
},
"refund_status_details": {
"description": "The details of the refund status.",
"properties": {
"reason": {
"description": "The reason why the refund has the `PENDING` or `FAILED` status.",
"enum": [
"ECHECK"
],
"title": "Refund Incomplete Reason",
"type": "string"
}
},
"title": "refund_status_details",
"type": "object"
},
"risk_supplementary_data": {
"description": "Additional information necessary to evaluate the risk profile of a transaction.",
"properties": {
"customer": {
"$ref": "#/components/schemas/participant_metadata"
}
},
"title": "risk_supplementary_data",
"type": "object"
},
"seller_protection": {
"description": "The level of protection offered as defined by [PayPal Seller Protection for Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection).",
"properties": {
"dispute_categories": {
"description": "An array of conditions that are covered for the transaction.",
"items": {
"description": "The condition that is covered for the transaction.",
"enum": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"title": "dispute_category",
"type": "string"
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"status": {
"description": "Indicates whether the transaction is eligible for seller protection. For information, see [PayPal Seller Protection for Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection).",
"enum": [
"ELIGIBLE",
"PARTIALLY_ELIGIBLE",
"NOT_ELIGIBLE"
],
"readOnly": true,
"title": "Seller Protection Status",
"type": "string"
}
},
"title": "seller_protection",
"type": "object"
},
"seller_receivable_breakdown": {
"description": "The detailed breakdown of the capture activity. This is not available for transactions that are in pending state.",
"properties": {
"exchange_rate": {
"allOf": [
{
"$ref": "#/components/schemas/exchange_rate"
},
{
"description": "The exchange rate that determines the amount that is credited to the payee's PayPal account. Returned when the currency of the captured payment is different from the currency of the PayPal account where the payee wants to credit the funds."
}
]
},
"gross_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The amount for this captured payment in the currency of the transaction."
}
]
},
"net_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The net amount that the payee receives for this captured payment in their PayPal account. The net amount is computed as <code>gross_amount</code> minus the <code>paypal_fee</code> minus the <code>platform_fees</code>."
}
]
},
"paypal_fee": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The applicable fee for this captured payment in the currency of the transaction."
}
]
},
"paypal_fee_in_receivable_currency": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The applicable fee for this captured payment in the receivable currency. Returned only in cases the fee is charged in the receivable currency. Example 'CNY'."
}
]
},
"platform_fees": {
"description": "An array of platform or partner fees, commissions, or brokerage fees that associated with the captured payment.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/platform_fee"
},
{
"title": "platform_fee"
}
]
},
"maxItems": 1,
"minItems": 0,
"type": "array"
},
"receivable_amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The net amount that is credited to the payee's PayPal account. Returned only when the currency of the captured payment is different from the currency of the PayPal account where the payee wants to credit the funds. The amount is computed as <code>net_amount</code> times <code>exchange_rate</code>."
}
]
}
},
"required": [
"gross_amount"
],
"title": "Seller Receivable Breakdown",
"type": "object"
},
"shipment_carrier": {
"description": "The carrier for the shipment. Some carriers have a global version as well as local subsidiaries. The subsidiaries are repeated over many countries and might also have an entry in the global list. Choose the carrier for your country. If the carrier is not available for your country, choose the global version of the carrier. If your carrier name is not in the list, set `carrier` to `OTHER` and set carrier name in `carrier_name_other`. For allowed values, see <a href=\"/docs/tracking/reference/carriers/\">Carriers</a>.",
"enum": [
"DPD_RU",
"BG_BULGARIAN_POST",
"KR_KOREA_POST",
"ZA_COURIERIT",
"FR_EXAPAQ",
"ARE_EMIRATES_POST",
"GAC",
"GEIS",
"SF_EX",
"PAGO",
"MYHERMES",
"DIAMOND_EUROGISTICS",
"CORPORATECOURIERS_WEBHOOK",
"BOND",
"OMNIPARCEL",
"SK_POSTA",
"PUROLATOR",
"FETCHR_WEBHOOK",
"THEDELIVERYGROUP",
"CELLO_SQUARE",
"TARRIVE",
"COLLIVERY",
"MAINFREIGHT",
"IND_FIRSTFLIGHT",
"ACSWORLDWIDE",
"AMSTAN",
"OKAYPARCEL",
"ENVIALIA_REFERENCE",
"SEUR_ES",
"CONTINENTAL",
"FDSEXPRESS",
"AMAZON_FBA_SWISHIP",
"WYNGS",
"DHL_ACTIVE_TRACING",
"ZYLLEM",
"RUSTON",
"XPOST",
"CORREOS_ES",
"DHL_FR",
"PAN_ASIA",
"BRT_IT",
"SRE_KOREA",
"SPEEDEE",
"TNT_UK",
"VENIPAK",
"SHREENANDANCOURIER",
"CROSHOT",
"NIPOST_NG",
"EPST_GLBL",
"NEWGISTICS",
"POST_SLOVENIA",
"JERSEY_POST",
"BOMBINOEXP",
"WMG",
"XQ_EXPRESS",
"FURDECO",
"LHT_EXPRESS",
"SOUTH_AFRICAN_POST_OFFICE",
"SPOTON",
"DIMERCO",
"CYPRUS_POST_CYP",
"ABCUSTOM",
"IND_DELIVREE",
"CN_BESTEXPRESS",
"DX_SFTP",
"PICKUPP_MYS",
"FMX",
"HELLMANN",
"SHIP_IT_ASIA",
"KERRY_ECOMMERCE",
"FRETERAPIDO",
"PITNEY_BOWES",
"XPRESSEN_DK",
"SEUR_SP_API",
"DELIVERYONTIME",
"JINSUNG",
"TRANS_KARGO",
"SWISHIP_DE",
"IVOY_WEBHOOK",
"AIRMEE_WEBHOOK",
"DHL_BENELUX",
"FIRSTMILE",
"FASTWAY_IR",
"HH_EXP",
"MYS_MYPOST_ONLINE",
"TNT_NL",
"TIPSA",
"TAQBIN_MY",
"KGMHUB",
"INTEXPRESS",
"OVERSE_EXP",
"ONECLICK",
"ROADRUNNER_FREIGHT",
"GLS_CROTIA",
"MRW_FTP",
"BLUEX",
"DYLT",
"DPD_IR",
"SIN_GLBL",
"TUFFNELLS_REFERENCE",
"CJPACKET",
"MILKMAN",
"ASIGNA",
"ONEWORLDEXPRESS",
"ROYAL_MAIL",
"VIA_EXPRESS",
"TIGFREIGHT",
"ZTO_EXPRESS",
"TWO_GO",
"IML",
"INTEL_VALLEY",
"EFS",
"UK_UK_MAIL",
"RAM",
"ALLIEDEXPRESS",
"APC_OVERNIGHT",
"SHIPPIT",
"TFM",
"M_XPRESS",
"HDB_BOX",
"CLEVY_LINKS",
"IBEONE",
"FIEGE_NL",
"KWE_GLOBAL",
"CTC_EXPRESS",
"AMAZON",
"MORE_LINK",
"JX",
"EASY_MAIL",
"ADUIEPYLE",
"GB_PANTHER",
"EXPRESSSALE",
"SG_DETRACK",
"TRUNKRS_WEBHOOK",
"MATDESPATCH",
"DICOM",
"MBW",
"KHM_CAMBODIA_POST",
"SINOTRANS",
"BRT_IT_PARCELID",
"DHL_SUPPLY_CHAIN",
"DHL_PL",
"TOPYOU",
"PALEXPRESS",
"DHL_SG",
"CN_WEDO",
"FULFILLME",
"DPD_DELISTRACK",
"UPS_REFERENCE",
"CARIBOU",
"LOCUS_WEBHOOK",
"DSV",
"P2P_TRC",
"DIRECTPARCELS",
"NOVA_POSHTA_INT",
"FEDEX_POLAND",
"CN_JCEX",
"FAR_INTERNATIONAL",
"IDEXPRESS",
"GANGBAO",
"NEWAY",
"POSTNL_INT_3_S",
"RPX_ID",
"DESIGNERTRANSPORT_WEBHOOK",
"GLS_SLOVEN",
"PARCELLED_IN",
"GSI_EXPRESS",
"CON_WAY",
"BROUWER_TRANSPORT",
"CPEX",
"ISRAEL_POST",
"DTDC_IN",
"PTT_POST",
"XDE_WEBHOOK",
"TOLOS",
"GIAO_HANG",
"GEODIS_ESPACE",
"MAGYAR_HU",
"DOORDASH_WEBHOOK",
"TIKI_ID",
"CJ_HK_INTERNATIONAL",
"STAR_TRACK_EXPRESS",
"HELTHJEM",
"SFB2C",
"FREIGHTQUOTE",
"LANDMARK_GLOBAL_REFERENCE",
"PARCEL2GO",
"DELNEXT",
"RCL",
"CGS_EXPRESS",
"HK_POST",
"SAP_EXPRESS",
"PARCELPOST_SG",
"HERMES",
"IND_SAFEEXPRESS",
"TOPHATTEREXPRESS",
"MGLOBAL",
"AVERITT",
"LEADER",
"_2EBOX",
"SG_SPEEDPOST",
"DBSCHENKER_SE",
"ISR_POST_DOMESTIC",
"BESTWAYPARCEL",
"ASENDIA_DE",
"NIGHTLINE_UK",
"TAQBIN_SG",
"TCK_EXPRESS",
"ENDEAVOUR_DELIVERY",
"NANJINGWOYUAN",
"HEPPNER_FR",
"EMPS_CN",
"FONSEN",
"PICKRR",
"APC_OVERNIGHT_CONNUM",
"STAR_TRACK_NEXT_FLIGHT",
"DAJIN",
"UPS_FREIGHT",
"POSTA_PLUS",
"CEVA",
"ANSERX",
"JS_EXPRESS",
"PADTF",
"UPS_MAIL_INNOVATIONS",
"SYPOST",
"AMAZON_SHIP_MCF",
"YUSEN",
"BRING",
"SDA_IT",
"GBA",
"NEWEGGEXPRESS",
"SPEEDCOURIERS_GR",
"FORRUN",
"PICKUP",
"ECMS",
"INTELIPOST",
"FLASHEXPRESS",
"CN_STO",
"SEKO_SFTP",
"HOME_DELIVERY_SOLUTIONS",
"DPD_HGRY",
"KERRYTTC_VN",
"JOYING_BOX",
"TOTAL_EXPRESS",
"ZJS_EXPRESS",
"STARKEN",
"DEMANDSHIP",
"CN_DPEX",
"AUPOST_CN",
"LOGISTERS",
"GOGLOBALPOST",
"GLS_CZ",
"PAACK_WEBHOOK",
"GRAB_WEBHOOK",
"PARCELPOINT",
"ICUMULUS",
"DAIGLOBALTRACK",
"GLOBAL_IPARCEL",
"YURTICI_KARGO",
"CN_PAYPAL_PACKAGE",
"PARCEL_2_POST",
"GLS_IT",
"PIL_LOGISTICS",
"HEPPNER",
"GENERAL_OVERNIGHT",
"HAPPY2POINT",
"CHITCHATS",
"SMOOTH",
"CLE_LOGISTICS",
"FIEGE",
"MX_CARGO",
"ZIINGFINALMILE",
"DAYTON_FREIGHT",
"TCS",
"AEX",
"HERMES_DE",
"ROUTIFIC_WEBHOOK",
"GLOBAVEND",
"CJ_LOGISTICS",
"PALLET_NETWORK",
"RAF_PH",
"UK_XDP",
"PAPER_EXPRESS",
"LA_POSTE_SUIVI",
"PAQUETEXPRESS",
"LIEFERY",
"STRECK_TRANSPORT",
"PONY_EXPRESS",
"ALWAYS_EXPRESS",
"GBS_BROKER",
"CITYLINK_MY",
"ALLJOY",
"YODEL",
"YODEL_DIR",
"STONE3PL",
"PARCELPAL_WEBHOOK",
"DHL_ECOMERCE_ASA",
"SIMPLYPOST",
"KY_EXPRESS",
"SHENZHEN",
"US_LASERSHIP",
"UC_EXPRE",
"DIDADI",
"CJ_KR",
"DBSCHENKER_B2B",
"MXE",
"CAE_DELIVERS",
"PFCEXPRESS",
"WHISTL",
"WEPOST",
"DHL_PARCEL_ES",
"DDEXPRESS",
"ARAMEX_AU",
"BNEED",
"HK_TGX",
"LATVIJAS_PASTS",
"VIAEUROPE",
"CORREO_UY",
"CHRONOPOST_FR",
"J_NET",
"_6LS",
"BLR_BELPOST",
"BIRDSYSTEM",
"DOBROPOST",
"WAHANA_ID",
"WEASHIP",
"SONICTL",
"KWT",
"AFLLOG_FTP",
"SKYNET_WORLDWIDE",
"NOVA_POSHTA",
"SEINO",
"SZENDEX",
"BPOST_INT",
"DBSCHENKER_SV",
"AO_DEUTSCHLAND",
"EU_FLEET_SOLUTIONS",
"PCFCORP",
"LINKBRIDGE",
"PRIMAMULTICIPTA",
"COUREX",
"ZAJIL_EXPRESS",
"COLLECTCO",
"JTEXPRESS",
"FEDEX_UK",
"USHIP",
"PIXSELL",
"SHIPTOR",
"CDEK",
"VNM_VIETTELPOST",
"CJ_CENTURY",
"GSO",
"VIWO",
"SKYBOX",
"KERRYTJ",
"NTLOGISTICS_VN",
"SDH_SCM",
"ZINC",
"DPE_SOUTH_AFRC",
"CESKA_CZ",
"ACS_GR",
"DEALERSEND",
"JOCOM",
"CSE",
"TFORCE_FINALMILE",
"SHIP_GATE",
"SHIPTER",
"NATIONAL_SAMEDAY",
"YUNEXPRESS",
"CAINIAO",
"DMS_MATRIX",
"DIRECTLOG",
"ASENDIA_US",
"_3JMSLOGISTICS",
"LICCARDI_EXPRESS",
"SKY_POSTAL",
"CNWANGTONG",
"POSTNORD_LOGISTICS_DK",
"LOGISTIKA",
"CELERITAS",
"PRESSIODE",
"SHREE_MARUTI",
"LOGISTICSWORLDWIDE_HK",
"EFEX",
"LOTTE",
"LONESTAR",
"APRISAEXPRESS",
"BEL_RS",
"OSM_WORLDWIDE",
"WESTGATE_GL",
"FASTRACK",
"DTD_EXPR",
"ALFATREX",
"PROMEDDELIVERY",
"THABIT_LOGISTICS",
"HCT_LOGISTICS",
"CARRY_FLAP",
"US_OLD_DOMINION",
"ANICAM_BOX",
"WANBEXPRESS",
"AN_POST",
"DPD_LOCAL",
"STALLIONEXPRESS",
"RAIDEREX",
"SHOPFANS",
"KYUNGDONG_PARCEL",
"CHAMPION_LOGISTICS",
"PICKUPP_SGP",
"MORNING_EXPRESS",
"NACEX",
"THENILE_WEBHOOK",
"HOLISOL",
"LBCEXPRESS_FTP",
"KURASI",
"USF_REDDAWAY",
"APG",
"CN_BOXC",
"ECOSCOOTING",
"MAINWAY",
"PAPERFLY",
"HOUNDEXPRESS",
"BOX_BERRY",
"EP_BOX",
"PLUS_LOG_UK",
"FULFILLA",
"ASE",
"MAIL_PLUS",
"XPO_LOGISTICS",
"WNDIRECT",
"CLOUDWISH_ASIA",
"ZELERIS",
"GIO_EXPRESS",
"OCS_WORLDWIDE",
"ARK_LOGISTICS",
"AQUILINE",
"PILOT_FREIGHT",
"QWINTRY",
"DANSKE_FRAGT",
"CARRIERS",
"AIR_CANADA_GLOBAL",
"PRESIDENT_TRANS",
"STEPFORWARDFS",
"SKYNET_UK",
"PITTOHIO",
"CORREOS_EXPRESS",
"RL_US",
"DESTINY",
"UK_YODEL",
"COMET_TECH",
"DHL_PARCEL_RU",
"TNT_REFR",
"SHREE_ANJANI_COURIER",
"MIKROPAKKET_BE",
"ETS_EXPRESS",
"COLIS_PRIVE",
"CN_YUNDA",
"AAA_COOPER",
"ROCKET_PARCEL",
"_360LION",
"PANDU",
"PROFESSIONAL_COURIERS",
"FLYTEXPRESS",
"LOGISTICSWORLDWIDE_MY",
"CORREOS_DE_ESPANA",
"IMX",
"FOUR_PX_EXPRESS",
"XPRESSBEES",
"PICKUPP_VNM",
"STARTRACK_EXPRESS",
"FR_COLISSIMO",
"NACEX_SPAIN_REFERENCE",
"DHL_SUPPLY_CHAIN_AU",
"ESHIPPING",
"SHREETIRUPATI",
"HX_EXPRESS",
"INDOPAKET",
"CN_17POST",
"K1_EXPRESS",
"CJ_GLS",
"MYS_GDEX",
"NATIONEX",
"ANJUN",
"FARGOOD",
"SMG_EXPRESS",
"RZYEXPRESS",
"SEFL",
"TNT_CLICK_IT",
"HDB",
"HIPSHIPPER",
"RPXLOGISTICS",
"KUEHNE",
"IT_NEXIVE",
"PTS",
"SWISS_POST_FTP",
"FASTRK_SERV",
"_4_72",
"US_YRC",
"POSTNL_INTL_3S",
"ELIAN_POST",
"CUBYN",
"SAU_SAUDI_POST",
"ABXEXPRESS_MY",
"HUAHAN_EXPRESS",
"ZES_EXPRESS",
"ZEPTO_EXPRESS",
"SKYNET_ZA",
"ZEEK_2_DOOR",
"BLINKLASTMILE",
"POSTA_UKR",
"CHROBINSON",
"CN_POST56",
"COURANT_PLUS",
"SCUDEX_EXPRESS",
"SHIPENTEGRA",
"B_TWO_C_EUROPE",
"COPE",
"IND_GATI",
"CN_WISHPOST",
"NACEX_ES",
"TAQBIN_HK",
"GLOBALTRANZ",
"HKD",
"BJSHOMEDELIVERY",
"OMNIVA",
"SUTTON",
"PANTHER_REFERENCE",
"SFCSERVICE",
"LTL",
"PARKNPARCEL",
"SPRING_GDS",
"ECEXPRESS",
"INTERPARCEL_AU",
"AGILITY",
"XL_EXPRESS",
"ADERONLINE",
"DIRECTCOURIERS",
"PLANZER",
"SENDING",
"NINJAVAN_WB",
"NATIONWIDE_MY",
"SENDIT",
"GB_ARROW",
"IND_GOJAVAS",
"KPOST",
"DHL_FREIGHT",
"BLUECARE",
"JINDOUYUN",
"TRACKON",
"GB_TUFFNELLS",
"TRUMPCARD",
"ETOTAL",
"SFPLUS_WEBHOOK",
"SEKOLOGISTICS",
"HERMES_2MANN_HANDLING",
"DPD_LOCAL_REF",
"UDS",
"ZA_SPECIALISED_FREIGHT",
"THA_KERRY",
"PRT_INT_SEUR",
"BRA_CORREIOS",
"NZ_NZ_POST",
"CN_EQUICK",
"MYS_EMS",
"GB_NORSK",
"ESP_MRW",
"ESP_PACKLINK",
"KANGAROO_MY",
"RPX",
"XDP_UK_REFERENCE",
"NINJAVAN_MY",
"ADICIONAL",
"ROADBULL",
"YAKIT",
"MAILAMERICAS",
"MIKROPAKKET",
"DYNALOGIC",
"DHL_ES",
"DHL_PARCEL_NL",
"DHL_GLOBAL_MAIL_ASIA",
"DAWN_WING",
"GENIKI_GR",
"HERMESWORLD_UK",
"ALPHAFAST",
"BUYLOGIC",
"EKART",
"MEX_SENDA",
"SFC_LOGISTICS",
"POST_SERBIA",
"IND_DELHIVERY",
"DE_DPD_DELISTRACK",
"RPD2MAN",
"CN_SF_EXPRESS",
"YANWEN",
"MYS_SKYNET",
"CORREOS_DE_MEXICO",
"CBL_LOGISTICA",
"MEX_ESTAFETA",
"AU_AUSTRIAN_POST",
"RINCOS",
"NLD_DHL",
"RUSSIAN_POST",
"COURIERS_PLEASE",
"POSTNORD_LOGISTICS",
"FEDEX",
"DPE_EXPRESS",
"DPD",
"ADSONE",
"IDN_JNE",
"THECOURIERGUY",
"CNEXPS",
"PRT_CHRONOPOST",
"LANDMARK_GLOBAL",
"IT_DHL_ECOMMERCE",
"ESP_NACEX",
"PRT_CTT",
"BE_KIALA",
"ASENDIA_UK",
"GLOBAL_TNT",
"POSTUR_IS",
"EPARCEL_KR",
"INPOST_PACZKOMATY",
"IT_POSTE_ITALIA",
"BE_BPOST",
"PL_POCZTA_POLSKA",
"MYS_MYS_POST",
"SG_SG_POST",
"THA_THAILAND_POST",
"LEXSHIP",
"FASTWAY_NZ",
"DHL_AU",
"COSTMETICSNOW",
"PFLOGISTICS",
"LOOMIS_EXPRESS",
"GLS_ITALY",
"LINE",
"GEL_EXPRESS",
"HUODULL",
"NINJAVAN_SG",
"JANIO",
"AO_COURIER",
"BRT_IT_SENDER_REF",
"SAILPOST",
"LALAMOVE",
"NEWZEALAND_COURIERS",
"ETOMARS",
"VIRTRANSPORT",
"WIZMO",
"PALLETWAYS",
"I_DIKA",
"CFL_LOGISTICS",
"GEMWORLDWIDE",
"GLOBAL_EXPRESS",
"LOGISTYX_TRANSGROUP",
"WESTBANK_COURIER",
"ARCO_SPEDIZIONI",
"YDH_EXPRESS",
"PARCELINKLOGISTICS",
"CNDEXPRESS",
"NOX_NIGHT_TIME_EXPRESS",
"AERONET",
"LTIANEXP",
"INTEGRA2_FTP",
"PARCELONE",
"NOX_NACHTEXPRESS",
"CN_CHINA_POST_EMS",
"CHUKOU1",
"GLS_SLOV",
"ORANGE_DS",
"JOOM_LOGIS",
"AUS_STARTRACK",
"DHL",
"GB_APC",
"BONDSCOURIERS",
"JPN_JAPAN_POST",
"USPS",
"WINIT",
"ARG_OCA",
"TW_TAIWAN_POST",
"DMM_NETWORK",
"TNT",
"BH_POSTA",
"SWE_POSTNORD",
"CA_CANADA_POST",
"WISELOADS",
"ASENDIA_HK",
"NLD_GLS",
"MEX_REDPACK",
"JET_SHIP",
"DE_DHL_EXPRESS",
"NINJAVAN_THAI",
"RABEN_GROUP",
"ESP_ASM",
"HRV_HRVATSKA",
"GLOBAL_ESTES",
"LTU_LIETUVOS",
"BEL_DHL",
"AU_AU_POST",
"SPEEDEXCOURIER",
"FR_COLIS",
"ARAMEX",
"DPEX",
"MYS_AIRPAK",
"CUCKOOEXPRESS",
"DPD_POLAND",
"NLD_POSTNL",
"NIM_EXPRESS",
"QUANTIUM",
"SENDLE",
"ESP_REDUR",
"MATKAHUOLTO",
"CPACKET",
"POSTI",
"HUNTER_EXPRESS",
"CHOIR_EXP",
"LEGION_EXPRESS",
"AUSTRIAN_POST_EXPRESS",
"GRUPO",
"POSTA_RO",
"INTERPARCEL_UK",
"GLOBAL_ABF",
"POSTEN_NORGE",
"XPERT_DELIVERY",
"DHL_REFR",
"DHL_HK",
"SKYNET_UAE",
"GOJEK",
"YODEL_INTNL",
"JANCO",
"YTO",
"WISE_EXPRESS",
"JTEXPRESS_VN",
"FEDEX_INTL_MLSERV",
"VAMOX",
"AMS_GRP",
"DHL_JP",
"HRPARCEL",
"GESWL",
"BLUESTAR",
"CDEK_TR",
"DESCARTES",
"DELTEC_UK",
"DTDC_EXPRESS",
"TOURLINE",
"BH_WORLDWIDE",
"OCS",
"YINGNUO_LOGISTICS",
"UPS",
"TOLL",
"PRT_SEUR",
"DTDC_AU",
"THA_DYNAMIC_LOGISTICS",
"UBI_LOGISTICS",
"FEDEX_CROSSBORDER",
"A1POST",
"TAZMANIAN_FREIGHT",
"CJ_INT_MY",
"SAIA_FREIGHT",
"SG_QXPRESS",
"NHANS_SOLUTIONS",
"DPD_FR",
"COORDINADORA",
"ANDREANI",
"DOORA",
"INTERPARCEL_NZ",
"PHL_JAMEXPRESS",
"BEL_BELGIUM_POST",
"US_APC",
"IDN_POS",
"FR_MONDIAL",
"DE_DHL",
"HK_RPX",
"DHL_PIECEID",
"VNPOST_EMS",
"RRDONNELLEY",
"DPD_DE",
"DELCART_IN",
"IMEXGLOBALSOLUTIONS",
"ACOMMERCE",
"EURODIS",
"CANPAR",
"GLS",
"IND_ECOM",
"ESP_ENVIALIA",
"DHL_UK",
"SMSA_EXPRESS",
"TNT_FR",
"DEX_I",
"BUDBEE_WEBHOOK",
"COPA_COURIER",
"VNM_VIETNAM_POST",
"DPD_HK",
"TOLL_NZ",
"ECHO",
"FEDEX_FR",
"BORDEREXPRESS",
"MAILPLUS_JPN",
"TNT_UK_REFR",
"KEC",
"DPD_RO",
"TNT_JP",
"TH_CJ",
"EC_CN",
"FASTWAY_UK",
"FASTWAY_US",
"GLS_DE",
"GLS_ES",
"GLS_FR",
"MONDIAL_BE",
"SGT_IT",
"TNT_CN",
"TNT_DE",
"TNT_ES",
"TNT_PL",
"PARCELFORCE",
"SWISS_POST",
"TOLL_IPEC",
"AIR_21",
"AIRSPEED",
"BERT",
"BLUEDART",
"COLLECTPLUS",
"COURIERPLUS",
"COURIER_POST",
"DHL_GLOBAL_MAIL",
"DPD_UK",
"DELTEC_DE",
"DEUTSCHE_DE",
"DOTZOT",
"ELTA_GR",
"EMS_CN",
"ECARGO",
"ENSENDA",
"FERCAM_IT",
"FASTWAY_ZA",
"FASTWAY_AU",
"FIRST_LOGISITCS",
"GEODIS",
"GLOBEGISTICS",
"GREYHOUND",
"JETSHIP_MY",
"LION_PARCEL",
"AEROFLASH",
"ONTRAC",
"SAGAWA",
"SIODEMKA",
"STARTRACK",
"TNT_AU",
"TNT_IT",
"TRANSMISSION",
"YAMATO",
"DHL_IT",
"DHL_AT",
"LOGISTICSWORLDWIDE_KR",
"GLS_SPAIN",
"AMAZON_UK_API",
"DPD_FR_REFERENCE",
"DHLPARCEL_UK",
"MEGASAVE",
"QUALITYPOST",
"IDS_LOGISTICS",
"JOYINGBOX",
"PANTHER_ORDER_NUMBER",
"WATKINS_SHEPARD",
"FASTTRACK",
"UP_EXPRESS",
"ELOGISTICA",
"ECOURIER",
"CJ_PHILIPPINES",
"SPEEDEX",
"ORANGECONNEX",
"TECOR",
"SAEE",
"GLS_ITALY_FTP",
"DELIVERE",
"YYCOM",
"ADICIONAL_PT",
"DKSH",
"NIPPON_EXPRESS_FTP",
"GOLS",
"FUJEXP",
"QTRACK",
"OMLOGISTICS_API",
"GDPHARM",
"MISUMI_CN",
"AIR_CANADA",
"CITY56_WEBHOOK",
"SAGAWA_API",
"KEDAEX",
"PGEON_API",
"WEWORLDEXPRESS",
"JT_LOGISTICS",
"TRUSK",
"VIAXPRESS",
"DHL_SUPPLYCHAIN_ID",
"ZUELLIGPHARMA_SFTP",
"MEEST",
"TOLL_PRIORITY",
"MOTHERSHIP_API",
"CAPITAL",
"EUROPAKET_API",
"HFD",
"TOURLINE_REFERENCE",
"GIO_ECOURIER",
"CN_LOGISTICS",
"PANDION",
"BPOST_API",
"PASSPORTSHIPPING",
"PAKAJO",
"DACHSER",
"YUSEN_SFTP",
"SHYPLITE",
"XYY",
"MWD",
"FAXECARGO",
"MAZET",
"FIRST_LOGISTICS_API",
"SPRINT_PACK",
"HERMES_DE_FTP",
"CONCISE",
"KERRY_EXPRESS_TW_API",
"EWE",
"FASTDESPATCH",
"ABCUSTOM_SFTP",
"CHAZKI",
"SHIPPIE",
"GEODIS_API",
"NAQEL_EXPRESS",
"PAPA_WEBHOOK",
"FORWARDAIR",
"DIALOGO_LOGISTICA_API",
"LALAMOVE_API",
"TOMYDOOR",
"KRONOS_WEBHOOK",
"JTCARGO",
"T_CAT",
"CONCISE_WEBHOOK",
"TELEPORT_WEBHOOK",
"CUSTOMCO_API",
"SPX_TH",
"BOLLORE_LOGISTICS",
"CLICKLINK_SFTP",
"M3LOGISTICS",
"VNPOST_API",
"AXLEHIRE_FTP",
"SHADOWFAX",
"MYHERMES_UK_API",
"DAIICHI",
"MENSAJEROSURBANOS_API",
"POLARSPEED",
"IDEXPRESS_ID",
"PAYO",
"WHISTL_SFTP",
"INTEX_DE",
"TRANS2U",
"PRODUCTCAREGROUP_SFTP",
"BIGSMART",
"EXPEDITORS_API_REF",
"AITWORLDWIDE_API",
"WORLDCOURIER",
"QUIQUP",
"AGEDISS_SFTP",
"ANDREANI_API",
"CRLEXPRESS",
"SMARTCAT",
"CROSSFLIGHT",
"PROCARRIER",
"DHL_REFERENCE_API",
"SEINO_API",
"WSPEXPRESS",
"KRONOS",
"TOTAL_EXPRESS_API",
"PARCLL",
"XPEDIGO",
"STAR_TRACK_WEBHOOK",
"GPOST",
"UCS",
"DMFGROUP",
"COORDINADORA_API",
"MARKEN",
"NTL",
"REDJEPAKKETJE",
"ALLIED_EXPRESS_FTP",
"MONDIALRELAY_ES",
"NAEKO_FTP",
"MHI",
"SHIPPIFY",
"MALCA_AMIT_API",
"JTEXPRESS_SG_API",
"DACHSER_WEB",
"FLIGHTLG",
"CAGO",
"COM1EXPRESS",
"TONAMI_FTP",
"PACKFLEET",
"PUROLATOR_INTERNATIONAL",
"WINESHIPPING_WEBHOOK",
"DHL_ES_SFTP",
"PCHOME_API",
"CESKAPOSTA_API",
"GORUSH",
"HOMERUNNER",
"AMAZON_ORDER",
"EFWNOW_API",
"CBL_LOGISTICA_API",
"NIMBUSPOST",
"LOGWIN_LOGISTICS",
"NOWLOG_API",
"DPD_NL",
"GODEPENDABLE",
"ESDEX",
"LOGISYSTEMS_SFTP",
"EXPEDITORS",
"SNTGLOBAL_API",
"SHIPX",
"QINTL_API",
"PACKS",
"POSTNL_INTERNATIONAL",
"AMAZON_EMAIL_PUSH",
"DHL_API",
"SPX",
"AXLEHIRE",
"ICSCOURIER",
"DIALOGO_LOGISTICA",
"SHUNBANG_EXPRESS",
"TCS_API",
"SF_EXPRESS_CN",
"PACKETA",
"SIC_TELIWAY",
"MONDIALRELAY_FR",
"INTIME_FTP",
"JD_EXPRESS",
"FASTBOX",
"PATHEON",
"INDIA_POST",
"TIPSA_REF",
"ECOFREIGHT",
"VOX",
"DIRECTFREIGHT_AU_REF",
"BESTTRANSPORT_SFTP",
"AUSTRALIA_POST_API",
"FRAGILEPAK_SFTP",
"FLIPXP",
"VALUE_WEBHOOK",
"DAESHIN",
"SHERPA",
"MWD_API",
"SMARTKARGO",
"DNJ_EXPRESS",
"GOPEOPLE",
"MYSENDLE_API",
"ARAMEX_API",
"PIDGE",
"THAIPARCELS",
"PANTHER_REFERENCE_API",
"POSTAPLUS",
"BUFFALO",
"U_ENVIOS",
"ELITE_CO",
"ROCHE_INTERNAL_SFTP",
"DBSCHENKER_ICELAND",
"TNT_FR_REFERENCE",
"NEWGISTICSAPI",
"GLOVO",
"GWLOGIS_API",
"SPREETAIL_API",
"MOOVA",
"PLYCONGROUP",
"USPS_WEBHOOK",
"REIMAGINEDELIVERY",
"EDF_FTP",
"DAO365",
"BIOCAIR_FTP",
"RANSA_WEBHOOK",
"SHIPXPRES",
"COURANT_PLUS_API",
"SHIPA",
"HOMELOGISTICS",
"DX",
"POSTE_ITALIANE_PACCOCELERE",
"TOLL_WEBHOOK",
"LCTBR_API",
"DX_FREIGHT",
"DHL_SFTP",
"SHIPROCKET",
"UBER_WEBHOOK",
"STATOVERNIGHT",
"BURD",
"FASTSHIP",
"IBVENTURE_WEBHOOK",
"GATI_KWE_API",
"CRYOPDP_FTP",
"HUBBED",
"TIPSA_API",
"ARASKARGO",
"THIJS_NL",
"ATSHEALTHCARE_REFERENCE",
"99MINUTOS",
"HELLENIC_POST",
"HSM_GLOBAL",
"MNX",
"NMTRANSFER",
"LOGYSTO",
"INDIA_POST_INT",
"AMAZON_FBA_SWISHIP_IN",
"SRT_TRANSPORT",
"BOMI",
"DELIVERR_SFTP",
"HSDEXPRESS",
"SIMPLETIRE_WEBHOOK",
"HUNTER_EXPRESS_SFTP",
"UPS_API",
"WOOYOUNG_LOGISTICS_SFTP",
"PHSE_API",
"WISH_EMAIL_PUSH",
"NORTHLINE",
"MEDAFRICA",
"DPD_AT_SFTP",
"ANTERAJA",
"DHL_GLOBAL_FORWARDING_API",
"LBCEXPRESS_API",
"SIMSGLOBAL",
"CDLDELIVERS",
"TYP",
"TESTING_COURIER_WEBHOOK",
"PANDAGO_API",
"ROYAL_MAIL_FTP",
"THUNDEREXPRESS",
"SECRETLAB_WEBHOOK",
"SETEL",
"JD_WORLDWIDE",
"DPD_RU_API",
"ARGENTS_WEBHOOK",
"POSTONE",
"TUSKLOGISTICS",
"RHENUS_UK_API",
"TAQBIN_SG_API",
"INNTRALOG_SFTP",
"DAYROSS",
"CORREOSEXPRESS_API",
"INTERNATIONAL_SEUR_API",
"YODEL_API",
"HEROEXPRESS",
"DHL_SUPPLYCHAIN_IN",
"URGENT_CARGUS",
"FRONTDOORCORP",
"JTEXPRESS_PH",
"PARCELSTARS_WEBHOOK",
"DPD_SK_SFTP",
"MOVIANTO",
"OZEPARTS_SHIPPING",
"KARGOMKOLAY",
"TRUNKRS",
"OMNIRPS_WEBHOOK",
"CHILEXPRESS",
"TESTING_COURIER",
"JNE_API",
"BJSHOMEDELIVERY_FTP",
"DEXPRESS_WEBHOOK",
"USPS_API",
"TRANSVIRTUAL",
"SOLISTICA_API",
"CHIENVENTURE_WEBHOOK",
"DPD_UK_SFTP",
"INPOST_UK",
"JAVIT",
"ZTO_DOMESTIC",
"DHL_GT_API",
"CEVA_TRACKING",
"KOMON_EXPRESS",
"EASTWESTCOURIER_FTP",
"DANNIAO",
"SPECTRAN",
"DELIVER_IT",
"RELAISCOLIS",
"GLS_SPAIN_API",
"POSTPLUS",
"AIRTERRA",
"GIO_ECOURIER_API",
"DPD_CH_SFTP",
"FEDEX_API",
"INTERSMARTTRANS",
"HERMES_UK_SFTP",
"EXELOT_FTP",
"DHL_PA_API",
"VIRTRANSPORT_SFTP",
"WORLDNET",
"INSTABOX_WEBHOOK",
"KNG",
"FLASHEXPRESS_WEBHOOK",
"MAGYAR_POSTA_API",
"WESHIP_API",
"OHI_WEBHOOK",
"MUDITA",
"BLUEDART_API",
"T_CAT_API",
"ADS",
"HERMES_IT",
"FITZMARK_API",
"POSTI_API",
"SMSA_EXPRESS_WEBHOOK",
"TAMERGROUP_WEBHOOK",
"LIVRAPIDE",
"NIPPON_EXPRESS",
"BETTERTRUCKS",
"FAN",
"PB_USPSFLATS_FTP",
"PARCELRIGHT",
"ITHINKLOGISTICS",
"KERRY_EXPRESS_TH_WEBHOOK",
"ECOUTIER",
"SHOWL",
"BRT_IT_API",
"RIXONHK_API",
"DBSCHENKER_API",
"ILYANGLOGIS",
"MAIL_BOX_ETC",
"WESHIP",
"DHL_GLOBAL_MAIL_API",
"ACTIVOS24_API",
"ATSHEALTHCARE",
"LUWJISTIK",
"GW_WORLD",
"FAIRSENDEN_API",
"SERVIP_WEBHOOK",
"SWISHIP",
"TANET",
"HOTSIN_CARGO",
"DIREX",
"HUANTONG",
"IMILE_API",
"AUEXPRESS",
"NYTLOGISTICS",
"DSV_REFERENCE",
"NOVOFARMA_WEBHOOK",
"AITWORLDWIDE_SFTP",
"SHOPOLIVE",
"FNF_ZA",
"DHL_ECOMMERCE_GC",
"FETCHR",
"STARLINKS_API",
"YYEXPRESS",
"SERVIENTREGA",
"HANJIN",
"SPANISH_SEUR_FTP",
"DX_B2B_CONNUM",
"HELTHJEM_API",
"INEXPOST",
"A2B_BA",
"RHENUS_GROUP",
"SBERLOGISTICS_RU",
"MALCA_AMIT",
"PPL",
"OSM_WORLDWIDE_SFTP",
"ACILOGISTIX",
"OPTIMACOURIER",
"NOVA_POSHTA_API",
"LOGGI",
"YIFAN",
"MYDYNALOGIC",
"MORNINGLOBAL",
"CONCISE_API",
"FXTRAN",
"DELIVERYOURPARCEL_ZA",
"UPARCEL",
"MOBI_BR",
"LOGINEXT_WEBHOOK",
"EMS",
"SPEEDY",
"ZOOM_RED",
"NAVLUNGO",
"CASTLEPARCELS",
"WEEE",
"PACKALY",
"YUNHUIPOST",
"YOUPARCEL",
"LEMAN",
"MOOVIN",
"URB_IT",
"MULTIENTREGAPANAMA",
"JUSDASR",
"DISCOUNTPOST",
"RHENUS_UK",
"SWISHIP_JP",
"GLS_US",
"SMTL",
"EMEGA",
"EXPRESSONE_SV",
"HEPSIJET",
"WELIVERY",
"BRINGER",
"EASYROUTES",
"MRW",
"RPM",
"DPD_PRT",
"GLS_ROMANIA",
"LMPARCEL",
"GTAGSM",
"DOMINO",
"ESHIPPER",
"TRANSPAK",
"XINDUS",
"AOYUE",
"EASYPARCEL",
"EXPRESSONE",
"SENDEO_KARGO",
"SPEEDAF",
"ETOWER",
"GCX",
"NINJAVAN_VN",
"ALLEGRO",
"JUMPPOINT",
"SHIPGLOBAL_US",
"KINISI",
"OAKH",
"AWEST",
"BARSAN",
"ENERGOLOGISTIC",
"MADROOEX",
"GOBOLT",
"SWISS_UNIVERSAL_EXPRESS",
"IORDIRECT",
"XMSZM",
"GLS_HUN",
"SENDY",
"BRAUNSEXPRESS",
"GRANDSLAMEXPRESS",
"XGS",
"OTSCHILE",
"PACK_UP",
"PARCELSTARS",
"TEAMEXPRESSLLC",
"ASYADEXPRESS",
"TDN",
"EARLYBIRD",
"CACESA",
"PARCELJET",
"MNG_KARGO",
"SUPERPACKLINE",
"SPEEDX",
"VESYL",
"SKYKING",
"DIRMENSAJERIA",
"NETLOGIXGROUP",
"ZYOU",
"JAWAR",
"AGSYSTEMS",
"GPS",
"PTT_KARGO",
"MAERGO",
"ARIHANTCOURIER",
"VTFE",
"YUNANT",
"URBIFY",
"PACK_MAN",
"LIEFERGRUN",
"OBIBOX",
"PAIKEDA",
"SCOTTY",
"INTELCOM_CA",
"SWE",
"ASENDIA",
"DPD_AT",
"RELAY",
"ATA",
"SKYEXPRESS_INTERNATIONAL",
"SURAT_KARGO",
"SGLINK",
"FLEETOPTICSINC",
"SHOPLINE",
"PIGGYSHIP",
"LOGOIX",
"KOLAY_GELSIN",
"ASSOCIATED_COURIERS",
"UPS_CHECKER",
"WINESHIPPING",
"SPEDISCI",
"FOURKITES",
"ETONAS",
"FINMILE",
"UNIUNI",
"RODONAVES",
"INPOST_IT",
"TFORCE_FREIGHT",
"RICHMOM",
"FRANCO",
"ECPARCEL",
"FEDEX_CHINA",
"GOFO_EXPRESS",
"SHIPBOB",
"JERSEYPOST_ATLAS",
"CORETRAILS",
"RHENUS_ITALY",
"JADLOG",
"JITSU",
"YANWEN_EXPRESS",
"DASHLINK",
"SEINO_SUPER_EXPRESS",
"FLOSHIP",
"METROSCG",
"SENDPARCEL",
"P2P",
"CN_EXPRESS",
"CIRROTRACK",
"LAND_LOGISTICS",
"VEHO",
"MEDLINE",
"VDTRACK",
"SINO_SCM",
"3PE_EXPRESS",
"SWIFTX",
"SFYDEXPRESS",
"TOPTRANS",
"OTHER"
],
"title": "carrier",
"type": "string"
},
"shipment_tracker": {
"description": "The tracking information for a shipment.",
"properties": {
"carrier": {
"$ref": "#/components/schemas/shipment_carrier"
},
"carrier_name_other": {
"description": "The name of the carrier for the shipment. Provide this value only if the carrier parameter is OTHER. This property supports Unicode.",
"maxLength": 64,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"tracking_number": {
"description": "The tracking number for the shipment. This property supports Unicode.",
"maxLength": 64,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
"required": [
"tracking_number",
"carrier"
],
"title": "tracker",
"type": "object"
},
"shipping_detail": {
"description": "The shipping details.",
"properties": {
"address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The address of the person to whom to ship the items. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties. `admin_area_1` is required for addresses located in Argentina, Brazil, China, Canada, India, Indonesia, Japan, Mexico, Thailand, and the United States.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the recipient of the shipped items, which may belong to either the payer, or an alternate contact, for delivery."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/name"
},
{
"description": "The name of the person to whom to ship the items. Supports only the `full_name` property.",
"not": {
"anyOf": [
{
"required": [
"prefix"
]
},
{
"required": [
"given_name"
]
},
{
"required": [
"surname"
]
},
{
"required": [
"middle_name"
]
},
{
"required": [
"suffix"
]
},
{
"required": [
"alternate_full_name"
]
}
]
}
}
]
},
"options": {
"description": "An array of shipping options that the payee or merchant offers to the payer to ship or pick up their items.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/shipping_option"
},
{
"description": "The option that the payee or merchant offers to the payer to ship or pick up their items.",
"title": "shipping_option"
}
]
},
"maxItems": 30,
"minItems": 0,
"type": "array"
},
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone"
},
{
"description": "The phone number of the recipient of the shipped items, which may belong to either the payer, or an alternate contact, for delivery. [Format - canonical international [E.164 numbering plan](https://www.itu.int/rec/T-REC-E.164/en)]",
"not": {
"required": [
"extension_number"
]
}
}
]
},
"type": {
"default": "SHIPPING",
"description": "A classification for the method of purchase fulfillment (e.g shipping, in-store pickup, etc). Either `type` or `options` may be present, but not both.",
"enum": [
"SHIPPING",
"PICKUP_IN_PERSON",
"PICKUP_IN_STORE",
"PICKUP_FROM_PERSON"
],
"title": "Fulfillment Type",
"type": "string"
}
},
"title": "shipping_detail",
"type": "object"
},
"shipping_option": {
"description": "The options that the payee or merchant offers to the payer to ship or pick up their items.",
"properties": {
"amount": {
"allOf": [
{
"$ref": "#/components/schemas/money"
},
{
"description": "The shipping cost for the selected option."
}
]
},
"id": {
"description": "A unique ID that identifies a payer-selected shipping option.",
"maxLength": 127,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"label": {
"description": "A description that the payer sees, which helps them choose an appropriate shipping option. For example, `Free Shipping`, `USPS Priority Shipping`, `Exp\u00e9dition prioritaire USPS`, or `USPS y\u014duxi\u0101n f\u0101 hu\u00f2`. Localize this description to the payer's locale.",
"maxLength": 127,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"selected": {
"description": "If the API request sets `selected = true`, it represents the shipping option that the payee or merchant expects to be pre-selected for the payer when they first view the `shipping.options` in the PayPal Checkout experience. As part of the response if a `shipping.option` contains `selected=true`, it represents the shipping option that the payer selected during the course of checkout with PayPal. Only one `shipping.option` can be set to `selected=true`.",
"type": "boolean"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/shipping_type"
},
{
"description": "A classification for the method of purchase fulfillment."
}
]
}
},
"required": [
"id",
"label",
"selected"
],
"title": "shipping_option",
"type": "object"
},
"shipping_type": {
"default": "SHIPPING",
"description": "A classification for the method of purchase fulfillment.",
"enum": [
"SHIPPING",
"PICKUP",
"PICKUP_IN_STORE",
"PICKUP_FROM_PERSON"
],
"title": "shipping_type",
"type": "string"
},
"shipping_with_tracking_details": {
"allOf": [
{
"$ref": "#/components/schemas/shipping_detail"
},
{
"properties": {
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone_with_national_required_and_country_code"
},
{
"description": "The phone number of the recipient of the shipped items, which may belong to either the payer, or an alternate contact, for delivery."
}
]
},
"trackers": {
"description": "An array of trackers for a transaction.",
"items": {
"$ref": "#/components/schemas/tracker"
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
}
},
"type": "object"
}
],
"description": "The order shipping details.",
"title": "shipping_with_tracking_details",
"type": "object"
},
"single_use_token": {
"description": "The PayPal-generated, short-lived, one-time-use token, used to communicate payment information to PayPal for transaction processing.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[0-9a-zA-Z_-]+$",
"title": "single_use_token",
"type": "string"
},
"sofort": {
"description": "Information used to pay using Sofort.",
"properties": {
"bic": {
"allOf": [
{
"$ref": "#/components/schemas/bic"
},
{
"description": "The bank identification code (BIC)."
}
]
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"iban_last_chars": {
"$ref": "#/components/schemas/iban_last_chars"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"title": "sofort",
"type": "object"
},
"sofort_request": {
"description": "Information needed to pay using Sofort.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"required": [
"country_code",
"name"
],
"title": "sofort_request",
"type": "object"
},
"standard_header_schema": {
"description": "Standard headers are generally less restrictive in structure due to historical precedent across browsers, etc. This is a common schema for use in defining most standard headers.",
"maxLength": 16000,
"minLength": 1,
"pattern": "^.*$",
"title": "Schema Object for standard headers",
"type": "string"
},
"store_in_vault_instruction": {
"description": "Defines how and when the payment source gets vaulted.",
"enum": [
"ON_SUCCESS"
],
"title": "store_in_vault_instruction",
"type": "string"
},
"stored_payment_source": {
"description": "Provides additional details to process a payment using a `payment_source` that has been stored or is intended to be stored (also referred to as stored_credential or card-on-file).<br/>Parameter compatibility:<br/><ul><li>`payment_type=ONE_TIME` is compatible only with `payment_initiator=CUSTOMER`.</li><li>`usage=FIRST` is compatible only with `payment_initiator=CUSTOMER`.</li><li>`previous_transaction_reference` or `previous_network_transaction_reference` is compatible only with `payment_initiator=MERCHANT`.</li><li>Only one of the parameters - `previous_transaction_reference` and `previous_network_transaction_reference` - can be present in the request.</li></ul>",
"properties": {
"payment_initiator": {
"$ref": "#/components/schemas/payment_initiator"
},
"payment_type": {
"$ref": "#/components/schemas/stored_payment_source_payment_type"
},
"previous_network_transaction_reference": {
"$ref": "#/components/schemas/network_transaction_reference"
},
"usage": {
"$ref": "#/components/schemas/stored_payment_source_usage_type"
}
},
"required": [
"payment_initiator",
"payment_type"
],
"title": "stored_payment_source",
"type": "object"
},
"stored_payment_source_payment_type": {
"description": "Indicates the type of the stored payment_source payment.",
"enum": [
"ONE_TIME",
"RECURRING",
"UNSCHEDULED"
],
"title": "stored_payment_source_payment_type",
"type": "string"
},
"stored_payment_source_usage_type": {
"default": "DERIVED",
"description": "Indicates if this is a `first` or `subsequent` payment using a stored payment source (also referred to as stored credential or card on file).",
"enum": [
"FIRST",
"SUBSEQUENT",
"DERIVED"
],
"title": "stored_payment_source_usage_type",
"type": "string"
},
"supplementary_data": {
"description": "Supplementary data about a payment. This object passes information that can be used to improve risk assessments and processing costs, for example, by providing Level 2 and Level 3 payment data.",
"properties": {
"card": {
"allOf": [
{
"$ref": "#/components/schemas/card_supplementary_data"
},
{
"description": "Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href=\"https://developer.paypal.com/docs/checkout/advanced/processing/\">checkout</a> or <a href=\"https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/\">multiparty checkout</a>."
}
]
},
"risk": {
"allOf": [
{
"$ref": "#/components/schemas/risk_supplementary_data"
},
{
"description": "Merchants and partners can add additional customer parameters that can help with better fraud protection and reduced risk for unbranded card payments."
}
]
}
},
"title": "supplementary_data",
"type": "object"
},
"tax_info": {
"description": "The tax ID of the customer. The customer is also known as the payer. Both `tax_id` and `tax_id_type` are required.",
"properties": {
"tax_id": {
"description": "The customer's tax ID value.",
"maxLength": 14,
"minLength": 1,
"pattern": "^.*([a-zA-Z0-9]).*$",
"type": "string"
},
"tax_id_type": {
"description": "The customer's tax ID type.",
"enum": [
"BR_CPF",
"BR_CNPJ"
],
"type": "string"
}
},
"required": [
"tax_id",
"tax_id_type"
],
"title": "tax_info",
"type": "object"
},
"three_d_secure_authentication_response": {
"description": "Results of 3D Secure Authentication.",
"properties": {
"authentication_status": {
"allOf": [
{
"$ref": "#/components/schemas/pares_status"
},
{
"description": "The outcome of the issuer's authentication."
}
]
},
"enrollment_status": {
"allOf": [
{
"$ref": "#/components/schemas/enrolled"
},
{
"description": "Status of authentication eligibility."
}
]
}
},
"title": "three_d_secure_authentication_response",
"type": "object"
},
"token": {
"description": "The tokenized payment source to fund a payment.",
"properties": {
"id": {
"description": "The PayPal-generated ID for the token.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[0-9a-zA-Z_-]+$",
"type": "string"
},
"type": {
"description": "The tokenization method that generated the ID.",
"enum": [
"BILLING_AGREEMENT"
],
"type": "string"
}
},
"required": [
"id",
"type"
],
"title": "token",
"type": "object"
},
"tracker": {
"allOf": [
{
"properties": {
"id": {
"description": "The tracker id.",
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[\\S\\s]*$",
"readOnly": true,
"type": "string"
},
"items": {
"description": "An array of details of items in the shipment.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/tracker_item"
},
{
"description": "Items in a shipment.",
"title": "tracker_item"
}
]
},
"maxItems": 32767,
"minItems": 0,
"type": "array"
},
"links": {
"description": "An array of request-related HATEOAS links.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description-2"
},
{
"description": "A request-related [HATEOAS link](/api/rest/responses/#hateoas-links).",
"title": "link_description"
}
]
},
"maxItems": 32767,
"minItems": 0,
"readOnly": true,
"type": "array"
},
"status": {
"$ref": "#/components/schemas/tracker_status"
}
},
"type": "object"
},
{
"$ref": "#/components/schemas/activity_timestamps"
}
],
"description": "The tracking response on creation of tracker.",
"title": "tracker",
"type": "object"
},
"tracker_item": {
"description": "The details of the items in the shipment.",
"properties": {
"image_url": {
"description": "The URL of the item's image. File type and size restrictions apply. An image that violates these restrictions will not be honored.",
"format": "uri",
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"name": {
"description": "The item name or title.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"quantity": {
"description": "The item quantity. Must be a whole number.",
"maxLength": 10,
"minLength": 1,
"pattern": "^[1-9][0-9]{0,9}$",
"type": "string"
},
"sku": {
"description": "The stock keeping unit (SKU) for the item. This can contain unicode characters.",
"maxLength": 127,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"upc": {
"allOf": [
{
"$ref": "#/components/schemas/universal_product_code"
},
{
"description": "The Universal Product Code of the item."
}
]
},
"url": {
"description": "The URL to the item being purchased. Visible to buyer and used in buyer experiences.",
"format": "uri",
"maxLength": 2048,
"minLength": 1,
"type": "string"
}
},
"title": "tracker_item",
"type": "object"
},
"tracker_status": {
"description": "The status of the item shipment.",
"enum": [
"CANCELLED",
"SHIPPED"
],
"title": "Tracker Status",
"type": "string"
},
"trustly": {
"description": "Information needed to pay using Trustly.",
"properties": {
"bic": {
"allOf": [
{
"$ref": "#/components/schemas/bic"
},
{
"description": "The bank identification code (BIC)."
}
]
},
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"email": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with this payment method."
}
]
},
"iban_last_chars": {
"$ref": "#/components/schemas/iban_last_chars"
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"title": "trustly",
"type": "object"
},
"trustly_request": {
"description": "Information needed to pay using Trustly.",
"properties": {
"country_code": {
"allOf": [
{
"$ref": "#/components/schemas/country_code-2"
},
{
"description": "The two-character ISO 3166-1 country code."
}
]
},
"email": {
"allOf": [
{
"$ref": "#/components/schemas/email_address"
},
{
"description": "The email address of the account holder associated with this payment method."
}
]
},
"experience_context": {
"allOf": [
{
"$ref": "#/components/schemas/experience_context_base"
},
{
"description": "Customizes the payer experience during the approval process for the payment."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/full_name"
},
{
"description": "The name of the account holder associated with this payment method.",
"title": "name"
}
]
}
},
"required": [
"country_code",
"email",
"name"
],
"title": "trustly_request",
"type": "object"
},
"universal_product_code": {
"description": "The Universal Product Code of the item.",
"properties": {
"code": {
"description": "The UPC product code of the item.",
"maxLength": 17,
"minLength": 6,
"pattern": "^[0-9]{0,17}$",
"type": "string"
},
"type": {
"description": "The Universal Product Code type.",
"enum": [
"UPC-A",
"UPC-B",
"UPC-C",
"UPC-D",
"UPC-E",
"UPC-2",
"UPC-5"
],
"title": "Universal Product Code Type",
"type": "string"
}
},
"required": [
"code",
"type"
],
"title": "universal_product_code",
"type": "object"
},
"url": {
"description": "Describes the URL.",
"format": "uri",
"maxLength": 2147483647,
"minLength": 0,
"type": "string"
},
"v3_vault_instruction_base": {
"description": "Base vaulting specification. The object can be extended for specific use cases within each payment_source that supports vaulting.",
"properties": {
"store_in_vault": {
"$ref": "#/components/schemas/store_in_vault_instruction"
}
},
"required": [
"store_in_vault"
],
"title": "v3_vault_instruction_base",
"type": "object"
},
"vault_id": {
"description": "The PayPal-generated ID for the vaulted payment source. This ID should be stored on the merchant's server so the saved payment source can be used for future transactions.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[0-9a-zA-Z_-]+$",
"title": "vault_id",
"type": "string"
},
"vault_instruction_base": {
"description": "Basic vault instruction specification that can be extended by specific payment sources that supports vaulting.",
"properties": {
"store_in_vault": {
"$ref": "#/components/schemas/store_in_vault_instruction"
}
},
"title": "vault_instruction_base",
"type": "object"
},
"vault_paypal_wallet_base": {
"allOf": [
{
"$ref": "#/components/schemas/vault_instruction_base"
},
{
"properties": {
"customer_type": {
"default": "CONSUMER",
"description": "The customer type associated with the PayPal payment token. This is to indicate whether the customer acting on the merchant / platform is either a business or a consumer.",
"enum": [
"CONSUMER",
"BUSINESS"
],
"title": "PayPal Payment Token Customer Type",
"type": "string"
},
"description": {
"description": "The description displayed to PayPal consumer on the approval flow for PayPal, as well as on the PayPal payment token management experience on PayPal.com.",
"maxLength": 128,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"permit_multiple_payment_tokens": {
"default": false,
"description": "Create multiple payment tokens for the same payer, merchant/platform combination. Use this when the customer has not logged in at merchant/platform. The payment token thus generated, can then also be used to create the customer account at merchant/platform. Use this also when multiple payment tokens are required for the same payer, different customer at merchant/platform. This helps to identify customers distinctly even though they may share the same PayPal account. This only applies to PayPal payment source.",
"type": "boolean"
},
"shipping": {
"allOf": [
{
"$ref": "#/components/schemas/shipping_detail"
},
{
"description": "The shipping address for the Payer.",
"not": {
"required": [
"options"
]
}
}
]
},
"usage_pattern": {
"description": "Expected business/pricing model for the billing agreement.",
"enum": [
"IMMEDIATE",
"DEFERRED",
"RECURRING_PREPAID",
"RECURRING_POSTPAID",
"THRESHOLD_PREPAID",
"THRESHOLD_POSTPAID",
"SUBSCRIPTION_PREPAID",
"SUBSCRIPTION_POSTPAID",
"UNSCHEDULED_PREPAID",
"UNSCHEDULED_POSTPAID",
"INSTALLMENT_PREPAID",
"INSTALLMENT_POSTPAID"
],
"title": "PayPal Payment Token Usage Pattern",
"type": "string"
},
"usage_type": {
"description": "The usage type associated with the PayPal payment token.",
"enum": [
"MERCHANT",
"PLATFORM"
],
"title": "PayPal Payment Token Usage Type",
"type": "string"
}
},
"type": "object"
}
],
"description": "Resource consolidating common request and response attributes for vaulting PayPal Wallet.",
"required": [
"usage_type"
],
"title": "vault_paypal_wallet_base",
"type": "object"
},
"vault_response": {
"description": "The details about a saved payment source.",
"properties": {
"customer": {
"allOf": [
{
"$ref": "#/components/schemas/customer"
},
{
"not": {
"anyOf": [
{
"required": [
"email_address"
]
},
{
"required": [
"phone"
]
}
]
}
}
]
},
"id": {
"description": "The PayPal-generated ID for the saved payment source.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
},
"links": {
"description": "An array of request-related HATEOAS links.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/link_description"
},
{
"description": "A request-related [HATEOAS link](/docs/api/reference/api-responses/#hateoas-links).",
"title": "link_description"
}
]
},
"maxItems": 10,
"minItems": 1,
"readOnly": true,
"type": "array"
},
"status": {
"description": "The vault status.",
"enum": [
"VAULTED",
"CREATED",
"APPROVED"
],
"title": "Vault Status",
"type": "string"
}
},
"title": "vault_response",
"type": "object"
},
"vault_venmo_wallet_base": {
"allOf": [
{
"$ref": "#/components/schemas/v3_vault_instruction_base"
},
{
"properties": {
"customer_type": {
"default": "CONSUMER",
"description": "The customer type associated with the Venmo payment token. This is to indicate whether the customer acting on the merchant / platform is either a business or a consumer.",
"enum": [
"CONSUMER",
"BUSINESS"
],
"title": "Venmo Payment Token Customer Type",
"type": "string"
},
"description": {
"description": "The description displayed to Venmo consumer on the approval flow for Venmo, as well as on the Venmo payment token management experience on Venmo.com.",
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_'\\-., :;\\!?\"]*$",
"type": "string"
},
"permit_multiple_payment_tokens": {
"default": false,
"description": "Create multiple payment tokens for the same payer, merchant/platform combination. Use this when the customer has not logged in at merchant/platform. The payment token thus generated, can then also be used to create the customer account at merchant/platform. Use this also when multiple payment tokens are required for the same payer, different customer at merchant/platform. This helps to identify customers distinctly even though they may share the same Venmo account.",
"type": "boolean"
},
"usage_pattern": {
"description": "Expected business/pricing model for the billing agreement.",
"enum": [
"IMMEDIATE",
"DEFERRED",
"RECURRING_PREPAID",
"RECURRING_POSTPAID",
"THRESHOLD_PREPAID",
"THRESHOLD_POSTPAID"
],
"title": "Venmo Payment Token Usage Pattern",
"type": "string"
},
"usage_type": {
"description": "The usage type associated with the Venmo payment token.",
"enum": [
"MERCHANT",
"PLATFORM"
],
"title": "Venmo Payment Token Usage Type",
"type": "string"
}
},
"type": "object"
}
],
"description": "Resource consolidating common request and response attirbutes for vaulting Venmo Wallet.",
"required": [
"usage_type"
],
"title": "vault_Venmo_wallet_base",
"type": "object"
},
"venmo_vault_response": {
"allOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/vault_response"
},
{
"not": {
"required": [
"customer"
]
}
}
]
},
{
"properties": {
"customer": {
"allOf": [
{
"$ref": "#/components/schemas/venmo_wallet_customer"
}
]
}
},
"type": "object"
}
],
"description": "The details about a saved venmo payment source.",
"title": "venmo_vault_response",
"type": "object"
},
"venmo_wallet_attributes": {
"description": "Additional attributes associated with the use of this Venmo Wallet.",
"properties": {
"customer": {
"$ref": "#/components/schemas/venmo_wallet_customer"
},
"vault": {
"allOf": [
{
"$ref": "#/components/schemas/vault_venmo_wallet_base"
},
{
"description": "Attributes used to provide the instructions during vaulting of the Venmo Wallet."
}
]
}
},
"title": "venmo_wallet_attributes",
"type": "object"
},
"venmo_wallet_attributes_response": {
"description": "Additional attributes associated with the use of a Venmo Wallet.",
"properties": {
"vault": {
"$ref": "#/components/schemas/venmo_vault_response"
}
},
"title": "venmo_wallet_attributes_response",
"type": "object"
},
"venmo_wallet_customer": {
"allOf": [
{
"$ref": "#/components/schemas/customer"
},
{
"type": "object"
}
],
"description": "This object represents a merchant\u2019s customer, allowing them to store contact details, and track all payments associated with the same customer.",
"title": "venmo_wallet_customer",
"type": "object"
},
"venmo_wallet_experience_context": {
"description": "Customizes the buyer experience during the approval process for payment with Venmo.<blockquote><strong>Note:</strong> Partners and Marketplaces might configure <code>shipping_preference</code> during partner account setup, which overrides the request values.</blockquote>",
"properties": {
"brand_name": {
"description": "The business name of the merchant. The pattern is defined by an external party and supports Unicode.",
"maxLength": 127,
"minLength": 1,
"pattern": "^.*$",
"type": "string"
},
"order_update_callback_config": {
"allOf": [
{
"$ref": "#/components/schemas/callback_configuration"
},
{
"description": "Merchant provided Order Update callback configuration for Venmo Wallet.Venmo will call back merchant when the specified event occurs.we recommend merchants to pass both the shipping_options and shipping_address callback events. Not supported when `shipping.type` is specified or when 'application_context.shipping_preference' is set as 'NO_SHIPPING' or 'SET_PROVIDED_ADDRESS'."
}
]
},
"shipping_preference": {
"default": "GET_FROM_FILE",
"description": "The location from which the shipping address is derived.",
"enum": [
"GET_FROM_FILE",
"NO_SHIPPING",
"SET_PROVIDED_ADDRESS"
],
"type": "string"
},
"user_action": {
"default": "CONTINUE",
"description": "Configures a <strong>Continue</strong> or <strong>Pay Now</strong> checkout flow.",
"enum": [
"CONTINUE",
"PAY_NOW"
],
"type": "string"
}
},
"title": "venmo_wallet_experience_context",
"type": "object"
},
"venmo_wallet_request": {
"description": "Information needed to pay using Venmo.",
"properties": {
"attributes": {
"allOf": [
{
"$ref": "#/components/schemas/venmo_wallet_attributes"
},
{
"description": "Additional attributes associated with the use of this wallet."
}
]
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email"
},
{
"description": "The email address of the payer."
}
]
},
"experience_context": {
"$ref": "#/components/schemas/venmo_wallet_experience_context"
},
"vault_id": {
"allOf": [
{
"$ref": "#/components/schemas/vault_id"
},
{
"description": "The PayPal-generated ID for the saved Venmo wallet payment_source. This ID should be stored on the merchant's server so the saved payment source can be used for future transactions."
}
]
}
},
"title": "venmo_wallet_request",
"type": "object"
},
"venmo_wallet_response": {
"description": "Venmo wallet response.",
"properties": {
"account_id": {
"allOf": [
{
"$ref": "#/components/schemas/account_id-2"
},
{
"description": "This is an immutable system-generated id for a user's Venmo account.",
"readOnly": true
}
]
},
"address": {
"allOf": [
{
"$ref": "#/components/schemas/address_portable"
},
{
"description": "The address of the payer. Supports only the `address_line_1`, `address_line_2`, `admin_area_1`, `admin_area_2`, `postal_code`, and `country_code` properties. Also referred to as the billing address of the customer.",
"not": {
"anyOf": [
{
"required": [
"address_line_3"
]
},
{
"required": [
"admin_area_3"
]
},
{
"required": [
"admin_area_4"
]
},
{
"required": [
"address_details"
]
}
]
}
}
]
},
"attributes": {
"$ref": "#/components/schemas/venmo_wallet_attributes_response"
},
"email_address": {
"allOf": [
{
"$ref": "#/components/schemas/email"
},
{
"description": "The email address of the payer."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/name"
},
{
"description": "The name associated with the Venmo account. Supports only the `given_name` and `surname` properties.",
"not": {
"anyOf": [
{
"required": [
"prefix"
]
},
{
"required": [
"middle_name"
]
},
{
"required": [
"suffix"
]
},
{
"required": [
"alternate_full_name"
]
},
{
"required": [
"full_name"
]
}
]
}
}
]
},
"phone_number": {
"allOf": [
{
"$ref": "#/components/schemas/phone-3"
},
{
"description": "The phone number associated with the Venmo account, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). Supports only the `national_number` property."
}
]
},
"return_flow": {
"default": "AUTO",
"description": "Merchant preference on how the buyer can navigate back to merchant website post approving the transaction on the Venmo App.",
"enum": [
"AUTO",
"MANUAL"
],
"readOnly": true,
"type": "string"
},
"user_name": {
"description": "The Venmo user name chosen by the user, also know as a Venmo handle.",
"maxLength": 50,
"minLength": 1,
"pattern": "^[-a-zA-Z0-9_]*$",
"type": "string"
}
},
"title": "venmo_wallet_response",
"type": "object"
}
},
"securitySchemes": {
"Oauth2": {
"description": "Oauth 2.0 authentication",
"flows": {
"clientCredentials": {
"scopes": {
"https://uri.paypal.com/services/payments/initiatepayment": "Initiates payments and checkout workflows.",
"https://uri.paypal.com/services/payments/orders/client_sdk_orders_api": "Enables secure client-side integration on confirm payment source endpoint",
"https://uri.paypal.com/services/payments/orders/deprecating-jssdk-migration-for-limited-merchants": "Allows client-side integration on Create, Get, Patch, Authorize & Capture Order endpoints.",
"https://uri.paypal.com/services/payments/orders/provision-card": "Manage card provisioning merchants.",
"https://uri.paypal.com/services/payments/payment": "Manage payments and checkout workflow.",
"https://uri.paypal.com/services/payments/payment/reference-transaction": "Permission to initiate reference transaction"
},
"tokenUrl": "https://api-m.paypal.com/v1/oauth2/token"
}
},
"type": "oauth2"
}
}
},
"externalDocs": {
"url": "../doc/USERGUIDE.md"
},
"info": {
"description": "An order represents a payment between two or more parties. Use the Orders API to create, update, retrieve, authorize, and capture orders.",
"title": "Orders",
"version": "2.32"
},
"openapi": "3.0.4",
"paths": {
"/v2/checkout/orders": {
"post": {
"description": "Creates an order. Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href=\"https://developer.paypal.com/docs/checkout/advanced/processing/\">checkout</a> or <a href=\"https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/\">multiparty checkout</a>.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href=\"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#create-order\">Orders v2 errors</a>.</blockquote>",
"operationId": "orders.create",
"parameters": [
{
"description": "The server stores keys for 6 hours. The API callers can request the times to up to 72 hours by speaking to their Account Manager. It is mandatory for all single-step create order calls (E.g. Create Order Request with payment source information like Card, PayPal.vault_id, PayPal.billing_agreement_id, etc).",
"examples": {
"00_orders_create": {
"description": "Creates a new order. API caller receives payer-action link.",
"summary": "Create Order - PayPal Wallet as Payment Source, Resulting in PAYER_ACTION_REQUIRED Response",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"orders_create_authorize_single_step_paypal_with_vault_id_and_stored_credentials_usage_pattern": {
"description": "Creates an order and authorizes payment with a PayPal wallet vault id as the payment source and a usage pattern (billing indicator) RECURRING_PREPAID passed using stored credentials.",
"summary": "Create and authorize an order for a PayPal wallet vaulted account holder passing a usage pattern indicator using stored credentials (Single Shot).",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
}
},
"in": "header",
"name": "PayPal-Request-Id",
"required": false,
"schema": {
"maxLength": 108,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
{
"description": "PayPal Partner can send a PayPal-Partner-Attribution-Id request header with the value that they have been assigned by the PayPal Partner program. This value is known as a BN Code. In order to reward such partners (through partner programs), all the activities (including API calls) that they are doing on behalf of the merchants need to be tracked.",
"in": "header",
"name": "PayPal-Partner-Attribution-Id",
"required": false,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/paypal_client_metadata_id"
},
{
"description": "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>",
"examples": {
"orders_create_create_orders_with_shipping_type_pickup_in_store": {
"description": "Creates an order with minimal parameters and contains the Buy Online Pickup in Store-related fields.",
"summary": "Create Order - Buy Online Pickup In Store Shipping Type",
"value": "return=representation"
}
},
"in": "header",
"name": "Prefer",
"required": false,
"schema": {
"default": "return=minimal",
"maxLength": 25,
"minLength": 1,
"pattern": "^[a-zA-Z=,-]*$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/paypal_auth_assertion"
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"00_orders_create": {
"description": "Creates a new order. API caller receives payer-action link.",
"summary": "Create Order - PayPal Wallet as Payment Source, Resulting in PAYER_ACTION_REQUIRED Response",
"value": {
"payment_source": {
"paypal": {
"experience_context": {
"cancel_url": "https://example.com/cancelUrl",
"landing_page": "LOGIN",
"payment_method_preference": "IMMEDIATE_PAYMENT_REQUIRED",
"return_url": "https://example.com/returnUrl",
"shipping_preference": "GET_FROM_FILE",
"user_action": "PAY_NOW"
}
}
},
"purchase_units": [
{
"amount": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "220.00"
},
"shipping": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "230.00"
},
"invoice_id": "90210",
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Super Fresh Shirt",
"image_url": "https://example.com/static/images/items/1/tshirt_green.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"unit_amount": {
"currency_code": "USD",
"value": "20.00"
},
"upc": {
"code": "123456789012",
"type": "UPC-A"
},
"url": "https://example.com/url-to-the-item-being-purchased-1"
},
{
"category": "PHYSICAL_GOODS",
"description": "Running, Size 10.5",
"image_url": "https://example.com/static/images/items/1/shoes_running.jpg",
"name": "Shoes",
"quantity": "2",
"sku": "sku02",
"unit_amount": {
"currency_code": "USD",
"value": "100.00"
},
"upc": {
"code": "987654321012",
"type": "UPC-A"
},
"url": "https://example.com/url-to-the-item-being-purchased-2"
}
]
}
]
}
},
"create_422_unprocessable_entity_missing_pickup_address": {
"description": "This code sample attempts to create an order but the shipping address is required and `shipping.type` is set to PICKUP_FROM_PERSON ",
"summary": "Create Order - 422 Unprocessable Entity Error - Missing Pickup Address",
"value": {
"payment_source": {
"paypal": {
"experience_context": {
"cancel_url": "https://www.example.com/cancelURL",
"return_url": "https://www.example.com/returnURL",
"shipping_preference": "SET_PROVIDED_ADDRESS"
}
}
},
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"reference_id": "PUHF",
"shipping": {
"type": "PICKUP_FROM_PERSON"
}
}
]
}
},
"orders_create_authorize_single_step_paypal_with_vault_id_and_stored_credentials_usage_pattern": {
"description": "Creates an order and authorizes payment with a PayPal wallet vault id as the payment source and a usage pattern (billing indicator) RECURRING_PREPAID passed using stored credentials.",
"summary": "Create and authorize an order for a PayPal wallet vaulted account holder passing a usage pattern indicator using stored credentials (Single Shot).",
"value": {
"payment_source": {
"paypal": {
"vault_id": "2w915838hr181240m"
}
},
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
}
}
]
}
},
"orders_create_create_orders_with_shipping_type_pickup_in_store": {
"description": "Creates an order with minimal parameters and contains the Buy Online Pickup in Store-related fields.",
"summary": "Create Order - Buy Online Pickup In Store Shipping Type",
"value": {
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "50.00"
},
"payee": {
"email_address": "merchant@example.com"
},
"reference_id": "PUHF",
"shipping": {
"address": {
"address_line_1": "123 Townsend St",
"address_line_2": "Floor 6",
"admin_area_1": "CA",
"admin_area_2": "San Francisco",
"country_code": "US",
"postal_code": "94107"
},
"type": "PICKUP_IN_STORE"
}
}
]
}
},
"orders_create_simple": {
"description": "Creates an order with only required parameters. By default, uses the minimal representation.",
"summary": "Create Order - Minimal Request and Response",
"value": {
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
}
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order_request"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"00_orders_create": {
"description": "Creates a new order. API caller receives payer-action link.",
"summary": "Create Order - PayPal Wallet as Payment Source, Resulting in PAYER_ACTION_REQUIRED Response",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "payer-action"
}
],
"payment_source": {
"paypal": {}
}
}
}
},
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "A successful response to an idempotent request returns the HTTP `200 OK` status code with a JSON response body that shows order details."
},
"201": {
"content": {
"application/json": {
"examples": {
"orders_create_authorize_single_step_paypal_with_vault_id_and_stored_credentials_usage_pattern": {
"description": "Creates an order and authorizes payment with a PayPal wallet vault id as the payment source and a usage pattern (billing indicator) RECURRING_PREPAID passed using stored credentials.",
"summary": "Create and authorize an order for a PayPal wallet vaulted account holder passing a usage pattern indicator using stored credentials (Single Shot).",
"value": {
"create_time": "2024-05-07T18:46:15Z",
"id": "8K832279M55989614",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/8K832279M55989614",
"method": "GET",
"rel": "self"
}
],
"payer": {
"address": {
"country_code": "US"
},
"email_address": "buyer@paypal.com",
"name": {
"given_name": "Tom",
"surname": "Business"
},
"payer_id": "XQHSN372NGSP2",
"phone": {
"phone_number": {
"national_number": "8127081430"
}
}
},
"payment_source": {
"paypal": {
"account_id": "XQHSN372NGSP2",
"account_status": "UNVERIFIED",
"address": {
"country_code": "US"
},
"email_address": "buyer@paypal.com",
"name": {
"given_name": "Tom",
"surname": "Business"
},
"phone_number": {
"national_number": "8127081430"
}
}
},
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"payee": {
"email_address": "seller@paypal.com",
"merchant_id": "Q7C9N6S4YRQXG"
},
"payments": {
"authorizations": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2024-05-07T18:46:54Z",
"expiration_time": "2024-06-05T18:46:54Z",
"id": "7X550106NA4440028",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/7X550106NA4440028",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/7X550106NA4440028/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/7X550106NA4440028/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/8K832279M55989614",
"method": "GET",
"rel": "up"
}
],
"seller_protection": {
"dispute_categories": [
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"status": "CREATED",
"update_time": "2024-05-07T18:46:54Z"
}
]
},
"reference_id": "default",
"shipping": {
"address": {
"address_line_1": "123 Fake St.",
"admin_area_1": "LA",
"admin_area_2": "Baton Rouge",
"country_code": "US",
"postal_code": "70802"
},
"name": {
"full_name": "Tom Business"
}
}
}
],
"update_time": "2024-05-07T18:46:54Z"
}
},
"orders_create_create_orders_with_shipping_type_pickup_in_store": {
"description": "Creates an order with minimal parameters and contains the Buy Online Pickup in Store-related fields.",
"summary": "Create Order - Buy Online Pickup In Store Shipping Type",
"value": {
"id": "4SP74185RW2405200",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/4SP74185RW2405200",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=4SP74185RW2405200",
"method": "GET",
"rel": "approve"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/4SP74185RW2405200",
"method": "PATCH",
"rel": "edit"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/4SP74185RW2405200/authorize",
"method": "POST",
"rel": "authorize"
}
],
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "50.00"
},
"payee": {
"email_address": "merchant@example.com"
},
"reference_id": "PUHF",
"shipping": {
"address": {
"address_line_1": "123 Townsend St",
"address_line_2": "Floor 6",
"admin_area_1": "CA",
"admin_area_2": "San Francisco",
"country_code": "US",
"postal_code": "94107"
},
"type": "PICKUP_IN_STORE"
}
}
]
}
},
"orders_create_simple": {
"description": "Creates an order with only required parameters. By default, uses the minimal representation.",
"summary": "Create Order - Minimal Request and Response",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "approve"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "PATCH",
"rel": "edit"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T/capture",
"method": "POST",
"rel": "capture"
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "A successful request returns the HTTP `201 Created` status code and a JSON response body that includes by default a minimal response with the ID, status, and HATEOAS links. If you require the complete order resource representation, you must pass the <a href=\"https://developer.paypal.com/docs/api/orders/v2/#orders-create-header-parameters\"><code>Prefer: return=representation</code> request header</a>. This header value is not the default."
},
"202": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "The request has been accepted for processing, but the processing has not been completed yet. The server returns the HTTP `202 Accepted` status code to indicate that the request is valid and will be handled asynchronously."
},
"400": {
"content": {
"application/json": {
"examples": {
"create_400_bad_request": {
"description": "This code sample attempts to create an order with empty purchase units. The request fails.",
"summary": "Create Order - 400 Bad Request Error - Purchase Unit is Empty",
"value": {
"debug_id": "10398537340c8",
"details": [
{
"description": "The number of items in an array parameter is too small.",
"field": "/purchase_units",
"issue": "INVALID_ARRAY_MIN_ITEMS",
"location": "body",
"value": "[]"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-INVALID_ARRAY_MIN_ITEMS",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Request is not well-formed, syntactically incorrect, or violates schema."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"422": {
"content": {
"application/json": {
"examples": {
"create_422_unprocessable_entity_missing_pickup_address": {
"description": "This code sample attempts to create an order but the shipping address is required and `shipping.type` is set to PICKUP_FROM_PERSON ",
"summary": "Create Order - 422 Unprocessable Entity Error - Missing Pickup Address",
"value": {
"debug_id": "f200264a4e02a",
"details": [
{
"description": "The shipping address is required when `shipping_preference=SET_PROVIDED_ADDRESS`.",
"field": "/purchase_units/@reference_id=='PUHF'/shipping/address",
"issue": "MISSING_SHIPPING_ADDRESS"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/rest/reference/orders/v2/errors/#MISSING_SHIPPING_ADDRESS",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The requested action could not be performed, semantically incorrect, or failed business validation."
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment",
"https://uri.paypal.com/services/payments/orders/deprecating-jssdk-migration-for-limited-merchants"
]
}
],
"summary": "Create order",
"tags": [
"orders"
],
"x-exampleFlows": [
{
"description": "Creates a new order. API caller receives payer-action link.",
"parameter_examples": [
"parameters/@name=='PayPal-Request-Id'/examples/00_orders_create",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/00_orders_create",
"response_example": "responses/200/content/application~1json/examples/00_orders_create",
"title": "Create Order - PayPal Wallet as Payment Source, Resulting in PAYER_ACTION_REQUIRED Response"
},
{
"description": "Creates an order and authorizes payment with a PayPal wallet vault id as the payment source and a usage pattern (billing indicator) RECURRING_PREPAID passed using stored credentials.",
"parameter_examples": [
"parameters/@name=='PayPal-Request-Id'/examples/orders_create_authorize_single_step_paypal_with_vault_id_and_stored_credentials_usage_pattern",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_create_authorize_single_step_paypal_with_vault_id_and_stored_credentials_usage_pattern",
"response_example": "responses/201/content/application~1json/examples/orders_create_authorize_single_step_paypal_with_vault_id_and_stored_credentials_usage_pattern",
"title": "Create and authorize an order for a PayPal wallet vaulted account holder passing a usage pattern indicator using stored credentials (Single Shot)."
},
{
"description": "Creates an order with only required parameters. By default, uses the minimal representation.",
"parameter_examples": [
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_create_simple",
"response_example": "responses/201/content/application~1json/examples/orders_create_simple",
"title": "Create Order - Minimal Request and Response"
},
{
"description": "Creates an order with minimal parameters and contains the Buy Online Pickup in Store-related fields.",
"parameter_examples": [
"parameters/@name=='Authorization'/examples/bearer",
"parameters/@name=='Prefer'/examples/orders_create_create_orders_with_shipping_type_pickup_in_store"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_create_create_orders_with_shipping_type_pickup_in_store",
"response_example": "responses/201/content/application~1json/examples/orders_create_create_orders_with_shipping_type_pickup_in_store",
"title": "Create Order - Buy Online Pickup In Store Shipping Type"
},
{
"description": "This code sample attempts to create an order with empty purchase units. The request fails.",
"parameter_examples": [
"parameters/@name=='Authorization'/examples/bearer",
"parameters/@name=='Prefer'/examples/orders_create_create_order_mixed_cart_with_shipping_options_bwp_unknown_status"
],
"response_example": "responses/400/content/application~1json/examples/create_400_bad_request",
"title": "Create Order - 400 Bad Request Error - Purchase Unit is Empty"
},
{
"description": "This code sample attempts to create an order but the shipping address is required and `shipping.type` is set to PICKUP_FROM_PERSON ",
"parameter_examples": [
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/create_422_unprocessable_entity_missing_pickup_address",
"response_example": "responses/422/content/application~1json/examples/create_422_unprocessable_entity_missing_pickup_address",
"title": "Create Order - 422 Unprocessable Entity Error - Missing Pickup Address"
}
]
}
},
"/v2/checkout/orders/order-update-callback": {
"post": {
"description": "The documentation for this 'endpoint' is different from the other endpoints under v2 Orders. For this endpoint the role of client and server is reversed. The client sending the request is PayPal, and the server sending the response is the merchant. In the request, PayPal will send the buyer's redacted shipping address and selected shipping option to the callback URL defined the create order request. The response from the merchant will update the Orders resource.",
"operationId": "server.callback",
"parameters": [
{
"$ref": "#/components/parameters/authorization"
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"orders_shippingOptionsExternalCallback_discount_code_callback_add_code": {
"description": "The PayPal callback server sends a request with the discount code provided by the buyer, along with the buyer's address and purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer applies a discount code. The merchant responds with the updated order details, reflecting the discount applied successfully.",
"summary": "Discount Code Callback Request - Adding a Discount Code",
"value": {
"id": "5O190127TN364715T",
"purchase_units": [
{
"amount": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "100.00"
},
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
],
"shipping_address": {
"admin_area_1": "TX",
"admin_area_2": "Dallas",
"country_code": "US",
"postal_code": "75001"
}
}
},
"orders_shippingOptionsExternalCallback_discount_code_callback_add_code_no_address": {
"description": "The PayPal callback server sends a request with the discount code provided by the buyer, along with the purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer applies a discount code to an order that does not require shipping. The merchant responds with the updated order details, reflecting the discount applied successfully.",
"summary": "Discount Code Callback Request - Adding a Discount Code - No Address",
"value": {
"id": "5O190127TN364715T",
"purchase_units": [
{
"amount": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "100.00"
},
"items": [
{
"category": "DIGITAL_GOODS",
"description": "Digital E-book",
"name": "E-book",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
]
}
},
"orders_shippingOptionsExternalCallback_discount_code_callback_remove_code": {
"description": "The PayPal callback server sends a request with the discount code the buyer wants to remove, along with the buyer's address and purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer removes a discount code. The merchant responds with the updated order details, reflecting the discount removal.",
"summary": "Discount Code Callback Request - Removing a Discount Code",
"value": {
"id": "5O190127TN364715T",
"purchase_units": [
{
"amount": {
"breakdown": {
"discount": {
"currency_code": "USD",
"value": "10.00"
},
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "90.00"
},
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
],
"shipping_address": {
"admin_area_1": "TX",
"admin_area_2": "Dallas",
"country_code": "US",
"postal_code": "75001"
}
}
},
"orders_shippingOptionsExternalCallback_shipping_address_callback_address_alone": {
"description": "The PayPal callback server sends request with a buyer's shipping address, and the purchase_units of the order, to the merchant listener URL. The request payload is an example of the event that will be sent as soon as the buyer is presented with the \"PayPal Buyer Approval\" page. The merchant responds with a the appropriate tax calculation for the shipping address, and a list of available shipping options.",
"summary": "Shipping Options Callback Request - Shipping Address Only Event",
"value": {
"id": "8HFTASDATTV",
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
],
"shipping_address": {
"admin_area_1": "TX",
"admin_area_2": "Dallas",
"country_code": "US",
"postal_code": "75001"
}
}
},
"orders_shippingOptionsExternalCallback_shipping_address_callback_with_address_and_options": {
"description": "The PayPal callback server sends request with a buyer's shipping address, the shipping option the buyer selected, and the purchase_units of the order, to the merchant listener URL. The merchant responds with a the appropriate tax calculation and breakdown for the given address and shipping option combination.",
"summary": "Shipping Options Callback Request - Shipping Address and Shipping Options Event",
"value": {
"id": "5O190127TN364715T",
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
],
"shipping_address": {
"admin_area_1": "TX",
"admin_area_2": "Dallas",
"country_code": "US",
"postal_code": "75001"
}
}
}
},
"schema": {
"$ref": "#/components/schemas/order_update_callback_request"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"orders_shippingOptionsExternalCallback_discount_code_callback_add_code": {
"description": "The PayPal callback server sends a request with the discount code provided by the buyer, along with the buyer's address and purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer applies a discount code. The merchant responds with the updated order details, reflecting the discount applied successfully.",
"summary": "Discount Code Callback Request - Adding a Discount Code",
"value": {
"id": "5O190127TN364715T",
"purchase_units": {
"amount": {
"breakdown": {
"discount": {
"breakdown": [
{
"currency_code": "USD",
"description": "$10 off for summer sale",
"discount_code": "SUMMER_SALE",
"value": "10.00"
}
],
"currency_code": "USD",
"value": "10.00"
},
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "90.00"
},
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"options": [
{
"amount": {
"currency_code": "USD",
"value": "0.00"
},
"id": "FEDEX",
"label": "Free Shipping",
"selected": true,
"type": "SHIPPING"
}
]
}
}
}
},
"orders_shippingOptionsExternalCallback_discount_code_callback_add_code_no_address": {
"description": "The PayPal callback server sends a request with the discount code provided by the buyer, along with the purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer applies a discount code to an order that does not require shipping. The merchant responds with the updated order details, reflecting the discount applied successfully.",
"summary": "Discount Code Callback Request - Adding a Discount Code - No Address",
"value": {
"id": "5O190127TN364715T"
}
},
"orders_shippingOptionsExternalCallback_discount_code_callback_remove_code": {
"description": "The PayPal callback server sends a request with the discount code the buyer wants to remove, along with the buyer's address and purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer removes a discount code. The merchant responds with the updated order details, reflecting the discount removal.",
"summary": "Discount Code Callback Request - Removing a Discount Code",
"value": {
"id": "5O190127TN364715T",
"purchase_units": {
"amount": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "100.00"
},
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"options": [
{
"amount": {
"currency_code": "USD",
"value": "0.00"
},
"id": "FEDEX",
"label": "Free Shipping",
"selected": true,
"type": "SHIPPING"
}
]
}
}
}
},
"orders_shippingOptionsExternalCallback_shipping_address_callback_address_alone": {
"description": "The PayPal callback server sends request with a buyer's shipping address, and the purchase_units of the order, to the merchant listener URL. The request payload is an example of the event that will be sent as soon as the buyer is presented with the \"PayPal Buyer Approval\" page. The merchant responds with a the appropriate tax calculation for the shipping address, and a list of available shipping options.",
"summary": "Shipping Options Callback Request - Shipping Address Only Event",
"value": {
"id": "8HFTASDATTV"
}
},
"orders_shippingOptionsExternalCallback_shipping_address_callback_with_address_and_options": {
"description": "The PayPal callback server sends request with a buyer's shipping address, the shipping option the buyer selected, and the purchase_units of the order, to the merchant listener URL. The merchant responds with a the appropriate tax calculation and breakdown for the given address and shipping option combination.",
"summary": "Shipping Options Callback Request - Shipping Address and Shipping Options Event",
"value": {
"id": "8HFTASDATTV"
}
}
},
"schema": {
"$ref": "#/components/schemas/order_update_callback_response"
}
}
},
"description": "The callback to merchant was successful."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/order_update_callback_error_response"
}
}
},
"description": "The request is not well-formed, is syntactically incorrect, or violates the schema."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/order_update_callback_error_response"
}
}
},
"description": "The requested action could not be completed, was semantically incorrect, or failed business validation."
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment"
]
}
],
"summary": "Receive updated order information via callback URL",
"tags": [
"externalcallback"
],
"x-exampleFlows": [
{
"description": "The PayPal callback server sends a request with the discount code provided by the buyer, along with the buyer's address and purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer applies a discount code. The merchant responds with the updated order details, reflecting the discount applied successfully.",
"request_body_example": "requestBody/content/application~1json/examples/orders_shippingOptionsExternalCallback_discount_code_callback_add_code",
"response_example": "responses/200/content/application~1json/examples/orders_shippingOptionsExternalCallback_discount_code_callback_add_code",
"title": "Discount Code Callback Request - Adding a Discount Code"
},
{
"description": "The PayPal callback server sends a request with the discount code provided by the buyer, along with the purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer applies a discount code to an order that does not require shipping. The merchant responds with the updated order details, reflecting the discount applied successfully.",
"request_body_example": "requestBody/content/application~1json/examples/orders_shippingOptionsExternalCallback_discount_code_callback_add_code_no_address",
"response_example": "responses/200/content/application~1json/examples/orders_shippingOptionsExternalCallback_discount_code_callback_add_code_no_address",
"title": "Discount Code Callback Request - Adding a Discount Code - No Address"
},
{
"description": "The PayPal callback server sends a request with the discount code the buyer wants to remove, along with the buyer's address and purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer removes a discount code. The merchant responds with the updated order details, reflecting the discount removal.",
"request_body_example": "requestBody/content/application~1json/examples/orders_shippingOptionsExternalCallback_discount_code_callback_remove_code",
"response_example": "responses/200/content/application~1json/examples/orders_shippingOptionsExternalCallback_discount_code_callback_remove_code",
"title": "Discount Code Callback Request - Removing a Discount Code"
},
{
"description": "The PayPal callback server sends request with a buyer's shipping address, and the purchase_units of the order, to the merchant listener URL. The request payload is an example of the event that will be sent as soon as the buyer is presented with the \"PayPal Buyer Approval\" page. The merchant responds with a the appropriate tax calculation for the shipping address, and a list of available shipping options.",
"request_body_example": "requestBody/content/application~1json/examples/orders_shippingOptionsExternalCallback_shipping_address_callback_address_alone",
"response_example": "responses/200/content/application~1json/examples/orders_shippingOptionsExternalCallback_shipping_address_callback_address_alone",
"title": "Shipping Options Callback Request - Shipping Address Only Event"
},
{
"description": "The PayPal callback server sends request with a buyer's shipping address, the shipping option the buyer selected, and the purchase_units of the order, to the merchant listener URL. The merchant responds with a the appropriate tax calculation and breakdown for the given address and shipping option combination.",
"request_body_example": "requestBody/content/application~1json/examples/orders_shippingOptionsExternalCallback_shipping_address_callback_with_address_and_options",
"response_example": "responses/200/content/application~1json/examples/orders_shippingOptionsExternalCallback_shipping_address_callback_with_address_and_options",
"title": "Shipping Options Callback Request - Shipping Address and Shipping Options Event"
}
]
}
},
"/v2/checkout/orders/{id}": {
"get": {
"description": "Shows details for an order, by ID.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href=\"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#get-order\">Orders v2 errors</a>.</blockquote>",
"operationId": "orders.get",
"parameters": [
{
"description": "The ID of the order for which to show details.",
"examples": {
"00_orders_get": {
"description": "Shows order details immediately after customer approval.",
"summary": "Get Order - Show Order Details After Customer Approval",
"value": "5O190127TN364715T"
}
},
"in": "path",
"name": "id",
"required": true,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9]+$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/paypal_auth_assertion"
},
{
"description": "A comma-separated list of fields that should be returned for the order. Valid filter field is `payment_source`.",
"in": "query",
"name": "fields",
"required": false,
"schema": {
"maxLength": 2147483647,
"minLength": 0,
"pattern": "^[a-z_]*$",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"00_orders_get": {
"description": "Shows order details immediately after customer approval.",
"summary": "Get Order - Show Order Details After Customer Approval",
"value": {
"create_time": "2018-04-01T21:18:49Z",
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "approve"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "PATCH",
"rel": "edit"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T/capture",
"method": "POST",
"rel": "capture"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "A successful request returns the HTTP `200 OK` status code and a JSON response body that shows order details."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"404": {
"$ref": "#/components/responses/404_error_response"
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment",
"https://uri.paypal.com/services/payments/orders/deprecating-jssdk-migration-for-limited-merchants"
]
}
],
"summary": "Show order details",
"tags": [
"orders"
],
"x-exampleFlows": [
{
"description": "Shows order details immediately after customer approval.",
"parameter_examples": [
"parameters/@name=='id'/examples/00_orders_get",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/200/content/application~1json/examples/00_orders_get",
"title": "Get Order - Show Order Details After Customer Approval"
},
{
"description": "This code sample attempts to show details for an order, by ID, but the request fails because the order is not found.",
"parameter_examples": [
"parameters/@name=='id'/examples/00_orders_get"
],
"response_example": "responses/404/content/application~1json/examples/generic",
"title": "Get Order - 404 Not Found Error - Order Not Found"
}
]
},
"patch": {
"description": "Updates an order with a `CREATED` or `APPROVED` status. You cannot update an order with the `COMPLETED` status.<br/><br/>To make an update, you must provide a `reference_id`. If you omit this value with an order that contains only one purchase unit, PayPal sets the value to `default` which enables you to use the path: <code>\\\"/purchase_units/@reference_id=='default'/{attribute-or-object}\\\"</code>. Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href=\"https://developer.paypal.com/docs/checkout/advanced/processing/\">checkout</a> or <a href=\"https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/\">multiparty checkout</a>.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href=\"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#patch-order\">Orders v2 errors</a>.</blockquote>Patchable attributes or objects:<br/><br/><table><thead><th>Attribute</th><th>Op</th><th>Notes</th></thead><tbody><tr><td><code>intent</code></td><td>replace</td><td></td></tr><tr><td><code>payer</code></td><td>replace, add</td><td>Using replace op for <code>payer</code> will replace the whole <code>payer</code> object with the value sent in request.</td></tr><tr><td><code>purchase_units</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].custom_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].description</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payee.email</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].shipping.name</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.email_address</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.phone_number</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.options</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.address</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.type</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].soft_descriptor</code></td><td>replace, remove</td><td></td></tr><tr><td><code>purchase_units[].amount</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].items</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].invoice_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction.disbursement_mode</code></td><td>replace</td><td>By default, <code>disbursement_mode</code> is <code>INSTANT</code>.</td></tr><tr><td><code>purchase_units[].payment_instruction.payee_receivable_fx_rate_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction.platform_fees</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].supplementary_data.airline</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].supplementary_data.card</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>application_context.client_configuration</code></td><td>replace, add</td><td></td></tr></tbody></table>",
"operationId": "orders.patch",
"parameters": [
{
"description": "The ID of the order to update.",
"examples": {
"00_orders_patch": {
"description": "Updates an order to add shipping address to purchase unit.",
"summary": "Patch Order - Add Shipping Address",
"value": "5O190127TN364715T"
},
"orders_patch_add_items_and_replace_amount": {
"description": "Updates an order to add items to and replace the amount within a purchase unit. The amount breakdown with an item total is added to reflect the newly added items. Whenever the quantity or price of items is modified in an order with a PATCH, the purchase_units.amount must also be updated.",
"summary": "Patch Order - Add Items and Replace Amount",
"value": "5O190127TN364715T"
},
"orders_patch_replace_amount": {
"description": "Updates an order to revise the amount, adding the cost of shipping, to a purchase unit.",
"summary": "Patch Order - Replace Amount",
"value": "5O190127TN364715T"
},
"patch_422_payer_patch_not_allowed": {
"description": "This code sample attempts to update an order with a payer object. The request fails since buyer has already approved.",
"summary": "Patch Order - 422 Unprocessable Entity Error - Payer Patch Not Allowed",
"value": "5O190127TN364715T"
}
},
"in": "path",
"name": "id",
"required": true,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9]+$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/paypal_auth_assertion"
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"00_orders_patch": {
"description": "Updates an order to add shipping address to purchase unit.",
"summary": "Patch Order - Add Shipping Address",
"value": [
{
"op": "replace",
"path": "/purchase_units/@reference_id=='PUHF'/shipping/address",
"value": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
]
},
"orders_patch_add_items_and_replace_amount": {
"description": "Updates an order to add items to and replace the amount within a purchase unit. The amount breakdown with an item total is added to reflect the newly added items. Whenever the quantity or price of items is modified in an order with a PATCH, the purchase_units.amount must also be updated.",
"summary": "Patch Order - Add Items and Replace Amount",
"value": [
{
"op": "add",
"path": "/purchase_units/@reference_id=='PUHF'/items",
"value": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
},
{
"category": "PHYSICAL_GOODS",
"description": "Running, Size 10.5",
"name": "Shoes",
"quantity": "2",
"sku": "sku02",
"tax": {
"currency_code": "USD",
"value": "5.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "45.00"
}
}
]
},
{
"op": "replace",
"path": "/purchase_units/@reference_id=='PUHF'/amount",
"value": {
"breakdown": {
"handling": {
"currency_code": "USD",
"value": "0.00"
},
"item_total": {
"currency_code": "USD",
"value": "180.00"
},
"shipping": {
"currency_code": "USD",
"value": "5.00"
},
"shipping_discount": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "20.00"
}
},
"currency_code": "USD",
"value": "205.00"
}
}
]
},
"orders_patch_replace_amount": {
"description": "Updates an order to revise the amount, adding the cost of shipping, to a purchase unit.",
"summary": "Patch Order - Replace Amount",
"value": [
{
"op": "replace",
"path": "/purchase_units/@reference_id=='PUHF'/amount",
"value": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "180.00"
},
"shipping": {
"currency_code": "USD",
"value": "20.00"
}
},
"currency_code": "USD",
"value": "200.00"
}
}
]
},
"patch_422_payer_patch_not_allowed": {
"description": "This code sample attempts to update an order with a payer object. The request fails since buyer has already approved.",
"summary": "Patch Order - 422 Unprocessable Entity Error - Payer Patch Not Allowed",
"value": [
{
"op": "add",
"path": "/payer",
"value": {
"address": {
"address_line_1": "2211 North First Street",
"address_line_2": "Floor 6",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95126"
},
"email_address": "payee@example.com",
"name": {
"given_name": "TestFirst",
"surname": "TestLast"
},
"phone": {
"phone_number": {
"national_number": "19876543210"
}
}
}
}
]
}
},
"schema": {
"$ref": "#/components/schemas/patch_request"
}
}
},
"required": false
},
"responses": {
"204": {
"$ref": "#/components/responses/204_response"
},
"400": {
"content": {
"application/json": {
"examples": {
"patch_400_invalid_shipping_address": {
"description": "This code sample attempts to update an the shipping address with an invalid value. The request fails.",
"summary": "Patch Order - 400 Bad Request Error - Shipping Address Invalid",
"value": {
"debug_id": "f087ef02ffdb6",
"details": [
{
"description": "The value of a field does not conform to the expected format.",
"field": "/purchase_units/@reference_id=='Reference ID 2'/shipping/address",
"issue": "INVALID_PARAMETER_SYNTAX",
"location": "body",
"value": "x"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-INVALID_PARAMETER_SYNTAX",
"method": "GET",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Request is not well-formed, syntactically incorrect, or violates schema."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"404": {
"$ref": "#/components/responses/404_error_response"
},
"422": {
"content": {
"application/json": {
"examples": {
"patch_422_payer_patch_not_allowed": {
"description": "This code sample attempts to update an order with a payer object. The request fails since buyer has already approved.",
"summary": "Patch Order - 422 Unprocessable Entity Error - Payer Patch Not Allowed",
"value": {
"debug_id": "90957fca61718",
"details": [
{
"description": "Payer path patch is not allowed after payer has approved the order.",
"field": "/payer",
"issue": "PAYER_PATCH_NOT_ALLOWED",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-PAYER_PATCH_NOT_ALLOWED",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The requested action could not be performed, semantically incorrect, or failed business validation."
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment",
"https://uri.paypal.com/services/payments/orders/deprecating-jssdk-migration-for-limited-merchants"
]
}
],
"summary": "Update order",
"tags": [
"orders"
],
"x-exampleFlows": [
{
"description": "Updates an order to add shipping address to purchase unit.",
"parameter_examples": [
"parameters/@name=='id'/examples/00_orders_patch",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/00_orders_patch",
"title": "Patch Order - Add Shipping Address"
},
{
"description": "Updates an order to revise the amount, adding the cost of shipping, to a purchase unit.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_patch_replace_amount",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_patch_replace_amount",
"title": "Patch Order - Replace Amount"
},
{
"description": "Updates an order to add items to and replace the amount within a purchase unit. The amount breakdown with an item total is added to reflect the newly added items. Whenever the quantity or price of items is modified in an order with a PATCH, the purchase_units.amount must also be updated.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_patch_add_items_and_replace_amount",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_patch_add_items_and_replace_amount",
"title": "Patch Order - Add Items and Replace Amount"
},
{
"description": "This code sample attempts to update an the shipping address with an invalid value. The request fails.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_patch_replace_amount_with_discount_breakdown",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/400/content/application~1json/examples/patch_400_invalid_shipping_address",
"title": "Patch Order - 400 Bad Request Error - Shipping Address Invalid"
},
{
"description": "This code sample attempts to update an order with a payer object. The request fails since buyer has already approved.",
"parameter_examples": [
"parameters/@name=='id'/examples/patch_422_payer_patch_not_allowed",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/patch_422_payer_patch_not_allowed",
"response_example": "responses/422/content/application~1json/examples/patch_422_payer_patch_not_allowed",
"title": "Patch Order - 422 Unprocessable Entity Error - Payer Patch Not Allowed"
}
]
}
},
"/v2/checkout/orders/{id}/authorize": {
"post": {
"description": "Authorizes payment for an order. To successfully authorize payment for an order, the buyer must first approve the order or a valid payment_source must be provided in the request. A buyer can approve the order upon being redirected to the rel:approve URL that was returned in the HATEOAS links in the create order response.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href=\"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#authorize-order\">Orders v2 errors</a>.</blockquote>",
"operationId": "orders.authorize",
"parameters": [
{
"description": "The server stores keys for 6 hours. The API callers can request the times to up to 72 hours by speaking to their Account Manager. It is mandatory for all single-step create order calls (E.g. Create Order Request with payment source information like Card, PayPal.vault_id, PayPal.billing_agreement_id, etc).",
"examples": {
"00_orders_authorize": {
"description": "Authorize payment for an order after PayPal wallet approval. By default, uses the minimal representation.",
"summary": "Authorize Order - PayPal Wallet as Payment Source",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"authorize_422_payer_action_required_cib_psd2_sca_ba_in_sc": {
"description": "This code sample attempts to authorize payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"summary": "Authorize Order - 422 - Payer Action Required",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"authorize_422_unprocessable_entity_payment_denied": {
"description": "This code sample attempts to authorize an order, but the payment is denied by PayPal. This can occur due to various reasons such as insufficient funds, expired card, incorrect payment information, or payment gateway issues.",
"summary": "Authorize Order - 422 Unprocessable Entity Error - Payment Denied",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"orders_authorize_idempotent": {
"description": "Authorizes payment for an order with the same idempotency key. By default, uses the minimal representation.",
"summary": "Authorize Order - Idempotent Response with PayPal Wallet",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"orders_authorize_paypal_wallet_vault_id": {
"description": "Authorizes payment for an order through a previously acquired vault id for a PayPal wallet. By default, uses the minimal representation.",
"summary": "Authorize Order - PayPal Wallet Vault ID",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
}
},
"in": "header",
"name": "PayPal-Request-Id",
"required": false,
"schema": {
"maxLength": 108,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
{
"description": "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>",
"in": "header",
"name": "Prefer",
"required": false,
"schema": {
"default": "return=minimal",
"maxLength": 25,
"minLength": 1,
"pattern": "^[a-zA-Z=,-]*$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/paypal_client_metadata_id"
},
{
"description": "The ID of the order for which to authorize.",
"examples": {
"00_orders_authorize": {
"description": "Authorize payment for an order after PayPal wallet approval. By default, uses the minimal representation.",
"summary": "Authorize Order - PayPal Wallet as Payment Source",
"value": "5O190127TN364715T"
},
"authorize_422_payer_action_required_cib_psd2_sca_ba_in_sc": {
"description": "This code sample attempts to authorize payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"summary": "Authorize Order - 422 - Payer Action Required",
"value": "9SY02093A2309081P"
},
"authorize_422_unprocessable_entity_payment_denied": {
"description": "This code sample attempts to authorize an order, but the payment is denied by PayPal. This can occur due to various reasons such as insufficient funds, expired card, incorrect payment information, or payment gateway issues.",
"summary": "Authorize Order - 422 Unprocessable Entity Error - Payment Denied",
"value": "5O190127TN364715T"
},
"orders_authorize_idempotent": {
"description": "Authorizes payment for an order with the same idempotency key. By default, uses the minimal representation.",
"summary": "Authorize Order - Idempotent Response with PayPal Wallet",
"value": "5O190127TN364715T"
},
"orders_authorize_paypal_wallet_vault_id": {
"description": "Authorizes payment for an order through a previously acquired vault id for a PayPal wallet. By default, uses the minimal representation.",
"summary": "Authorize Order - PayPal Wallet Vault ID",
"value": "5O190127TN364715T"
}
},
"in": "path",
"name": "id",
"required": true,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9]+$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/paypal_auth_assertion"
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"00_orders_authorize": {
"description": "Authorize payment for an order after PayPal wallet approval. By default, uses the minimal representation.",
"summary": "Authorize Order - PayPal Wallet as Payment Source",
"value": {}
},
"authorize_422_payer_action_required_cib_psd2_sca_ba_in_sc": {
"description": "This code sample attempts to authorize payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"summary": "Authorize Order - 422 - Payer Action Required",
"value": {}
},
"authorize_422_unprocessable_entity_payment_denied": {
"description": "This code sample attempts to authorize an order, but the payment is denied by PayPal. This can occur due to various reasons such as insufficient funds, expired card, incorrect payment information, or payment gateway issues.",
"summary": "Authorize Order - 422 Unprocessable Entity Error - Payment Denied",
"value": {
"payment_source": {
"card": {
"vault_id": "8cg02452we902502k"
}
}
}
},
"orders_authorize_idempotent": {
"description": "Authorizes payment for an order with the same idempotency key. By default, uses the minimal representation.",
"summary": "Authorize Order - Idempotent Response with PayPal Wallet",
"value": {}
},
"orders_authorize_paypal_wallet_vault_id": {
"description": "Authorizes payment for an order through a previously acquired vault id for a PayPal wallet. By default, uses the minimal representation.",
"summary": "Authorize Order - PayPal Wallet Vault ID",
"value": {
"payment_source": {
"paypal": {
"vault_id": "nkq2y9g"
}
}
}
}
},
"schema": {
"$ref": "#/components/schemas/order_authorize_request"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"orders_authorize_idempotent": {
"description": "Authorizes payment for an order with the same idempotency key. By default, uses the minimal representation.",
"summary": "Authorize Order - Idempotent Response with PayPal Wallet",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"account_status": "VERIFIED",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"authorizations": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"expiration_time": "2018-05-01T21:20:49Z",
"id": "0AW2184448108334S",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/reauthorize",
"method": "POST",
"rel": "reauthorize"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"status": "CREATED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order_authorize_response"
}
}
},
"description": "A successful response to an idempotent request returns the HTTP `200 OK` status code with a JSON response body that shows authorized payment details."
},
"201": {
"content": {
"application/json": {
"examples": {
"00_orders_authorize": {
"description": "Authorize payment for an order after PayPal wallet approval. By default, uses the minimal representation.",
"summary": "Authorize Order - PayPal Wallet as Payment Source",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"authorizations": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"expiration_time": "2021-10-08T23:37:39Z",
"id": "3C679366HH908993F",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/5O190127TN364715T/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/5O190127TN364715T/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "up"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"status": "CREATED"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
]
}
},
"orders_authorize_paypal_wallet_vault_id": {
"description": "Authorizes payment for an order through a previously acquired vault id for a PayPal wallet. By default, uses the minimal representation.",
"summary": "Authorize Order - PayPal Wallet Vault ID",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"account_status": "VERIFIED",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"authorizations": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2021-12-29T21:20:49Z",
"expiration_time": "2022-01-29T21:20:49Z",
"id": "0AW2184448108334S",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/reauthorize",
"method": "POST",
"rel": "reauthorize"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"status": "CREATED",
"update_time": "2021-12-29T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order_authorize_response"
}
}
},
"description": "A successful response to a non-idempotent request returns the HTTP `201 Created` status code with a JSON response body that shows authorized payment details. If a duplicate response is retried, returns the HTTP `200 OK` status code. By default, the response is minimal. If you need the complete resource representation, you must pass the <a href=\"https://developer.paypal.com/docs/api/orders/v2/#orders-authorize-header-parameters\"><code>Prefer: return=representation</code> request header</a>."
},
"202": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/order_authorize_response"
}
}
},
"description": "The request has been accepted for processing, but the processing has not been completed yet. The server returns the HTTP `202 Accepted` status code to indicate that the request is valid and will be handled asynchronously."
},
"207": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/order_authorize_response"
}
}
},
"description": "The request was successfully processed, but the result contains mixed outcomes. When an order includes multiple purchase units, the server returns the HTTP `207 Multi-Status` code to indicate that one or more purchase units were processed successfully while others failed. The response body provides the processing result for each purchase unit."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Request is not well-formed, syntactically incorrect, or violates schema."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"404": {
"$ref": "#/components/responses/404_error_response"
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The request could not be completed due to a conflict with the current state of the resource. The HTTP `409 Conflict` status code is returned when the requested operation is not allowed because the order or one or more purchase units are in a state that prevents the operation."
},
"422": {
"content": {
"application/json": {
"examples": {
"authorize_422_payer_action_required_cib_psd2_sca_ba_in_sc": {
"description": "This code sample attempts to authorize payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"summary": "Authorize Order - 422 - Payer Action Required",
"value": {
"debug_id": "f63fbc340a6ce",
"details": [
{
"description": "Transaction cannot complete successfully, instruct the buyer to return to PayPal.",
"issue": "PAYER_ACTION_REQUIRED"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-PAYER_ACTION_REQUIRED",
"method": "GET",
"rel": "information_link"
},
{
"href": "https://www.paypal.com/checkoutnow?token=9SY02093A2309081P",
"method": "GET",
"rel": "payer-action"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
},
"authorize_422_unprocessable_entity_payment_denied": {
"description": "This code sample attempts to authorize an order, but the payment is denied by PayPal. This can occur due to various reasons such as insufficient funds, expired card, incorrect payment information, or payment gateway issues.",
"summary": "Authorize Order - 422 Unprocessable Entity Error - Payment Denied",
"value": {
"debug_id": "eb476257836d9",
"details": [
{
"description": "PayPal has declined to process this transaction.",
"issue": "PAYMENT_DENIED"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-PAYMENT_DENIED",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The requested action could not be performed, semantically incorrect, or failed business validation."
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment",
"https://uri.paypal.com/services/payments/orders/deprecating-jssdk-migration-for-limited-merchants"
]
}
],
"summary": "Authorize payment for order",
"tags": [
"orders"
],
"x-exampleFlows": [
{
"description": "Authorize payment for an order after PayPal wallet approval. By default, uses the minimal representation.",
"parameter_examples": [
"parameters/@name=='id'/examples/00_orders_authorize",
"parameters/@name=='PayPal-Request-Id'/examples/00_orders_authorize",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/201/content/application~1json/examples/00_orders_authorize",
"title": "Authorize Order - PayPal Wallet as Payment Source"
},
{
"description": "Authorizes payment for an order with the same idempotency key. By default, uses the minimal representation.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_authorize_idempotent",
"parameters/@name=='PayPal-Request-Id'/examples/orders_authorize_idempotent",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/200/content/application~1json/examples/orders_authorize_idempotent",
"title": "Authorize Order - Idempotent Response with PayPal Wallet"
},
{
"description": "Authorizes payment for an order through a previously acquired vault id for a PayPal wallet. By default, uses the minimal representation.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_authorize_paypal_wallet_vault_id",
"parameters/@name=='PayPal-Request-Id'/examples/orders_authorize_paypal_wallet_vault_id",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_authorize_paypal_wallet_vault_id",
"response_example": "responses/201/content/application~1json/examples/orders_authorize_paypal_wallet_vault_id",
"title": "Authorize Order - PayPal Wallet Vault ID"
},
{
"description": "This code sample attempts to authorize a donation order, but charity is not confirmed.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_authorize_paypal_billing_agreement_id",
"parameters/@name=='PayPal-Request-Id'/examples/orders_authorize_paypal_billing_agreement_id",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_authorize_paypal_billing_agreement_id",
"response_example": "responses/403/content/application~1json/examples/generic",
"title": "Authorize Order - 403 Forbidden Error - Charity is not confirmed"
},
{
"description": "This code sample attempts to authorize payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"parameter_examples": [
"parameters/@name=='id'/examples/authorize_422_payer_action_required_cib_psd2_sca_ba_in_sc",
"parameters/@name=='PayPal-Request-Id'/examples/authorize_422_payer_action_required_cib_psd2_sca_ba_in_sc",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/authorize_422_payer_action_required_cib_psd2_sca_ba_in_sc",
"response_example": "responses/422/content/application~1json/examples/authorize_422_payer_action_required_cib_psd2_sca_ba_in_sc",
"title": "Authorize Order - 422 - Payer Action Required"
},
{
"description": "This code sample attempts to authorize an order, but the payment is denied by PayPal. This can occur due to various reasons such as insufficient funds, expired card, incorrect payment information, or payment gateway issues.",
"parameter_examples": [
"parameters/@name=='id'/examples/authorize_422_unprocessable_entity_payment_denied",
"parameters/@name=='PayPal-Request-Id'/examples/authorize_422_unprocessable_entity_payment_denied",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/authorize_422_unprocessable_entity_payment_denied",
"response_example": "responses/422/content/application~1json/examples/authorize_422_unprocessable_entity_payment_denied",
"title": "Authorize Order - 422 Unprocessable Entity Error - Payment Denied"
}
]
}
},
"/v2/checkout/orders/{id}/capture": {
"post": {
"description": "Captures payment for an order. To successfully capture payment for an order, the buyer must first approve the order or a valid payment_source must be provided in the request. A buyer can approve the order upon being redirected to the rel:approve URL that was returned in the HATEOAS links in the create order response.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href=\"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#capture-order\">Orders v2 errors</a>.</blockquote>",
"operationId": "orders.capture",
"parameters": [
{
"description": "The server stores keys for 6 hours. The API callers can request the times to up to 72 hours by speaking to their Account Manager. It is mandatory for all single-step create order calls (E.g. Create Order Request with payment source information like Card, PayPal.vault_id, PayPal.billing_agreement_id, etc).",
"examples": {
"00_orders_capture": {
"description": "Captures payment for an order after wallet approval. By default, uses the minimal representation.",
"summary": "Capture Order - PayPal Wallet as Payment Source",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"capture_422_payer_action_required_cib_psd2_sca_ba_in_sc": {
"description": "This code sample attempts to capture payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"summary": "Capture Order - 422 - Payer Action Required",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"capture_422_unprocessable_entity": {
"description": "This code sample attempts to capture payment for an order that was created with `intent=AUTHORIZE`. The operation is incorrect.",
"summary": "Capture Order - 422 Unprocessable Entity Error - Action Does Not Match Intent",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"orders_capture_vault_wallet": {
"description": "The partner captures payment for an order after PayPal Wallet approval. By default, uses the minimal representation.",
"summary": "Capture Order - Minimal Representation with PayPal Wallet Vault ID",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"orders_capture_wallet_idempotent": {
"description": "Captures payment for an order after wallet approval with the same idempotency key. By default, uses the minimal representation.",
"summary": "Capture Order - Idempotent Response with PayPal Wallet",
"value": "7b92603e-77ed-4896-8e78-5dea2050476a"
}
},
"in": "header",
"name": "PayPal-Request-Id",
"required": false,
"schema": {
"maxLength": 108,
"minLength": 1,
"pattern": "^[\\S\\s]*$",
"type": "string"
}
},
{
"description": "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>",
"in": "header",
"name": "Prefer",
"required": false,
"schema": {
"default": "return=minimal",
"maxLength": 25,
"minLength": 1,
"pattern": "^[a-zA-Z=,-]*$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/paypal_client_metadata_id"
},
{
"description": "The ID of the order for which to capture a payment.",
"examples": {
"00_orders_capture": {
"description": "Captures payment for an order after wallet approval. By default, uses the minimal representation.",
"summary": "Capture Order - PayPal Wallet as Payment Source",
"value": "5O190127TN364715T"
},
"capture_422_payer_action_required_cib_psd2_sca_ba_in_sc": {
"description": "This code sample attempts to capture payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"summary": "Capture Order - 422 - Payer Action Required",
"value": "5O190127TN364715T"
},
"capture_422_unprocessable_entity": {
"description": "This code sample attempts to capture payment for an order that was created with `intent=AUTHORIZE`. The operation is incorrect.",
"summary": "Capture Order - 422 Unprocessable Entity Error - Action Does Not Match Intent",
"value": "5O190127TN364715T"
},
"orders_capture_vault_wallet": {
"description": "The partner captures payment for an order after PayPal Wallet approval. By default, uses the minimal representation.",
"summary": "Capture Order - Minimal Representation with PayPal Wallet Vault ID",
"value": "5O190127TN364715T"
},
"orders_capture_wallet_idempotent": {
"description": "Captures payment for an order after wallet approval with the same idempotency key. By default, uses the minimal representation.",
"summary": "Capture Order - Idempotent Response with PayPal Wallet",
"value": "5O190127TN364715T"
}
},
"in": "path",
"name": "id",
"required": true,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9]+$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/paypal_auth_assertion"
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"00_orders_capture": {
"description": "Captures payment for an order after wallet approval. By default, uses the minimal representation.",
"summary": "Capture Order - PayPal Wallet as Payment Source",
"value": {}
},
"capture_422_payer_action_required_cib_psd2_sca_ba_in_sc": {
"description": "This code sample attempts to capture payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"summary": "Capture Order - 422 - Payer Action Required",
"value": {}
},
"capture_422_unprocessable_entity": {
"description": "This code sample attempts to capture payment for an order that was created with `intent=AUTHORIZE`. The operation is incorrect.",
"summary": "Capture Order - 422 Unprocessable Entity Error - Action Does Not Match Intent",
"value": {}
},
"orders_capture_vault_wallet": {
"description": "The partner captures payment for an order after PayPal Wallet approval. By default, uses the minimal representation.",
"summary": "Capture Order - Minimal Representation with PayPal Wallet Vault ID",
"value": {}
},
"orders_capture_wallet_idempotent": {
"description": "Captures payment for an order after wallet approval with the same idempotency key. By default, uses the minimal representation.",
"summary": "Capture Order - Idempotent Response with PayPal Wallet",
"value": {}
}
},
"schema": {
"$ref": "#/components/schemas/order_capture_request"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"orders_capture_wallet_idempotent": {
"description": "Captures payment for an order after wallet approval with the same idempotency key. By default, uses the minimal representation.",
"summary": "Capture Order - Idempotent Response with PayPal Wallet",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"account_status": "VERIFIED",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"final_capture": true,
"id": "3C679366HH908993F",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F/refund",
"method": "POST",
"rel": "refund"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
}
},
"status": "COMPLETED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "A successful response to an idempotent request returns the HTTP `200 OK` status code with a JSON response body that shows captured payment details."
},
"201": {
"content": {
"application/json": {
"examples": {
"00_orders_capture": {
"description": "Captures payment for an order after wallet approval. By default, uses the minimal representation.",
"summary": "Capture Order - PayPal Wallet as Payment Source",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"final_capture": true,
"id": "3C679366HH908993F",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F/refund",
"method": "POST",
"rel": "refund"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
}
},
"status": "COMPLETED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
}
]
}
},
"orders_capture_vault_wallet": {
"description": "The partner captures payment for an order after PayPal Wallet approval. By default, uses the minimal representation.",
"summary": "Capture Order - Minimal Representation with PayPal Wallet Vault ID",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/vault/payment-tokens/m6yd4yw",
"method": "GET",
"rel": "payment-token"
}
],
"payment_source": {
"paypal": {
"attributes": {
"vault": {
"id": "m6yd4yw",
"status": "CREATED"
}
}
}
},
"purchase_units": [
{
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "31.01"
},
"create_time": "2020-06-08T23:11:34Z",
"custom_id": "custom_id_1001",
"final_capture": true,
"id": "54986457XR262021N",
"invoice_id": "invoice_id_380358551C5240203",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/54986457XR262021N",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/54986457XR262021N/refund",
"method": "POST",
"rel": "refund"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/12645781RH9888226",
"method": "GET",
"rel": "up"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "31.01"
},
"net_amount": {
"currency_code": "USD",
"value": "21.00"
},
"platform_fees": [
{
"amount": {
"currency_code": "USD",
"value": "10.01"
},
"payee": {
"merchant_id": "J8NCBBULP5JH2"
}
}
]
},
"status": "COMPLETED",
"update_time": "2020-06-08T23:11:34Z"
}
]
},
"reference_id": "refernece_id_1001",
"shipping": {
"address": {
"address_line_1": "500 Hillside Street",
"address_line_2": "#100",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
},
"name": {
"full_name": "William Chris"
}
}
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "A successful response to a non-idempotent request returns the HTTP `201 Created` status code with a JSON response body that shows captured payment details. If a duplicate response is retried, returns the HTTP `200 OK` status code. By default, the response is minimal. If you need the complete resource representation, pass the <a href=\"https://developer.paypal.com/docs/api/orders/v2/#orders-authorize-header-parameters\"><code>Prefer: return=representation</code> request header</a>."
},
"202": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "The request has been accepted for processing, but the processing has not been completed yet. The server returns the HTTP `202 Accepted` status code to indicate that the request is valid and will be handled asynchronously."
},
"207": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "The request was successfully processed, but the result contains mixed outcomes. When an order includes multiple purchase units, the server returns the HTTP `207 Multi-Status` code to indicate that one or more purchase units were processed successfully while others failed. The response body provides the processing result for each purchase unit."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Request is not well-formed, syntactically incorrect, or violates schema."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"404": {
"$ref": "#/components/responses/404_error_response"
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The request could not be completed due to a conflict with the current state of the resource. The HTTP `409 Conflict` status code is returned when the requested operation is not allowed because the order or one or more purchase units are in a state that prevents the operation."
},
"422": {
"content": {
"application/json": {
"examples": {
"capture_422_payer_action_required_cib_psd2_sca_ba_in_sc": {
"description": "This code sample attempts to capture payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"summary": "Capture Order - 422 - Payer Action Required",
"value": {
"debug_id": "f63fbc340a6ce",
"details": [
{
"description": "Transaction cannot complete successfully, instruct the buyer to return to PayPal.",
"issue": "PAYER_ACTION_REQUIRED"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-PAYER_ACTION_REQUIRED",
"method": "GET",
"rel": "information_link"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "payer-action"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
},
"capture_422_unprocessable_entity": {
"description": "This code sample attempts to capture payment for an order that was created with `intent=AUTHORIZE`. The operation is incorrect.",
"summary": "Capture Order - 422 Unprocessable Entity Error - Action Does Not Match Intent",
"value": {
"debug_id": "90957fca61718",
"details": [
{
"description": "The order was created with an intent of `AUTHORIZE`. To complete authorization, use `/v2/checkout/orders/{order_id}/authorize`. Or, alternately create an order with an intent of `CAPTURE`.",
"issue": "ACTION_DOES_NOT_MATCH_INTENT",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-ACTION_DOES_NOT_MATCH_INTENT",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The requested action could not be performed, semantically incorrect, or failed business validation."
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment",
"https://uri.paypal.com/services/payments/orders/deprecating-jssdk-migration-for-limited-merchants"
]
}
],
"summary": "Capture payment for order",
"tags": [
"orders"
],
"x-exampleFlows": [
{
"description": "Captures payment for an order after wallet approval. By default, uses the minimal representation.",
"parameter_examples": [
"parameters/@name=='id'/examples/00_orders_capture",
"parameters/@name=='PayPal-Request-Id'/examples/00_orders_capture",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/201/content/application~1json/examples/00_orders_capture",
"title": "Capture Order - PayPal Wallet as Payment Source"
},
{
"description": "Captures payment for an order after wallet approval with the same idempotency key. By default, uses the minimal representation.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_capture_wallet_idempotent",
"parameters/@name=='PayPal-Request-Id'/examples/orders_capture_wallet_idempotent",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/200/content/application~1json/examples/orders_capture_wallet_idempotent",
"title": "Capture Order - Idempotent Response with PayPal Wallet"
},
{
"description": "The partner captures payment for an order after PayPal Wallet approval. By default, uses the minimal representation.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_capture_vault_wallet",
"parameters/@name=='PayPal-Request-Id'/examples/orders_capture_vault_wallet",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/201/content/application~1json/examples/orders_capture_vault_wallet",
"title": "Capture Order - Minimal Representation with PayPal Wallet Vault ID"
},
{
"description": "This code sample attempts to capture an order that was created with the `CAPTURE` intent but the card vault id can not be found. The request fails.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_capture_orders_capture_bank_ach_debit_verified_account_customer_id_vault_instruction_vaulted",
"parameters/@name=='PayPal-Request-Id'/examples/orders_capture_orders_capture_bank_ach_debit_verified_account_customer_id_vault_instruction_vaulted",
"parameters/@name=='Authorization'/examples/bearer",
"parameters/@name=='Prefer'/examples/orders_capture_orders_capture_bank_ach_debit_verified_account_customer_id_vault_instruction_vaulted"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_capture_orders_capture_bank_ach_debit_verified_account_customer_id_vault_instruction_vaulted",
"response_example": "responses/403/content/application~1json/examples/generic",
"title": "Capture Order - 403 Forbidden Error - Invalid Card Vault ID"
},
{
"description": "This code sample attempts to capture an order but the specified order is not found. The request fails.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_capture_orders_capture_bank_ach_debit_verified_account_customer_id_vault_instruction_vaulted",
"parameters/@name=='PayPal-Request-Id'/examples/orders_capture_orders_capture_bank_ach_debit_verified_account_customer_id_vault_instruction_vaulted",
"parameters/@name=='Authorization'/examples/bearer",
"parameters/@name=='Prefer'/examples/orders_capture_orders_capture_bank_ach_debit_verified_account_customer_id_vault_instruction_vaulted"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_capture_orders_capture_bank_ach_debit_verified_account_customer_id_vault_instruction_vaulted",
"response_example": "responses/404/content/application~1json/examples/generic",
"title": "Capture Order - 404 Not Found Error - Resource Not Found"
},
{
"description": "This code sample attempts to capture payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"parameter_examples": [
"parameters/@name=='id'/examples/capture_422_payer_action_required_cib_psd2_sca_ba_in_sc",
"parameters/@name=='PayPal-Request-Id'/examples/capture_422_payer_action_required_cib_psd2_sca_ba_in_sc",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/capture_422_payer_action_required_cib_psd2_sca_ba_in_sc",
"response_example": "responses/422/content/application~1json/examples/capture_422_payer_action_required_cib_psd2_sca_ba_in_sc",
"title": "Capture Order - 422 - Payer Action Required"
},
{
"description": "This code sample attempts to capture payment for an order that was created with `intent=AUTHORIZE`. The operation is incorrect.",
"parameter_examples": [
"parameters/@name=='id'/examples/capture_422_unprocessable_entity",
"parameters/@name=='PayPal-Request-Id'/examples/capture_422_unprocessable_entity",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/422/content/application~1json/examples/capture_422_unprocessable_entity",
"title": "Capture Order - 422 Unprocessable Entity Error - Action Does Not Match Intent"
}
]
}
},
"/v2/checkout/orders/{id}/confirm-payment-source": {
"post": {
"description": "Payer confirms their intent to pay for the the Order with the given payment source.",
"operationId": "orders.confirm",
"parameters": [
{
"$ref": "#/components/parameters/paypal_client_metadata_id"
},
{
"description": "The ID of the order for which the payer confirms their intent to pay.",
"examples": {
"00_orders_confirm": {
"description": "The API Caller is adding or changing the PayPal wallet payment_source on an Order after the Order has been created. Orders status transitions to PAYER_ACTION_REQUIRED.",
"summary": "Confirm Order - PayPal Wallet Resulting in Payer Action Required",
"value": "5O190127TN364715T"
},
"confirm_422_unprocessable_entity_paypal_wallet_vault_id_payment_source_mismatch": {
"description": "Attempt to Confirm PayPal Wallet for an order with card vault id. The request fails with a MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE error.",
"summary": "Confirm Order - 422 Unprocessable Entity Error -Using Card Vault ID for a PayPal Wallet Payment Source",
"value": "5O190127TN364715T"
}
},
"in": "path",
"name": "id",
"required": true,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9]+$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/paypal_auth_assertion"
},
{
"description": "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>",
"in": "header",
"name": "Prefer",
"required": false,
"schema": {
"default": "return=minimal",
"maxLength": 25,
"minLength": 1,
"pattern": "^[a-zA-Z=]*$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"00_orders_confirm": {
"description": "The API Caller is adding or changing the PayPal wallet payment_source on an Order after the Order has been created. Orders status transitions to PAYER_ACTION_REQUIRED.",
"summary": "Confirm Order - PayPal Wallet Resulting in Payer Action Required",
"value": {
"payment_source": {
"paypal": {
"email_address": "customer@example.com",
"experience_context": {
"brand_name": "EXAMPLE INC",
"cancel_url": "https://example.com/cancelUrl",
"landing_page": "LOGIN",
"locale": "en-US",
"payment_method_preference": "IMMEDIATE_PAYMENT_REQUIRED",
"return_url": "https://example.com/returnUrl",
"shipping_preference": "SET_PROVIDED_ADDRESS",
"user_action": "PAY_NOW"
},
"name": {
"given_name": "John",
"surname": "Doe"
}
}
}
}
},
"confirm_422_unprocessable_entity_paypal_wallet_vault_id_payment_source_mismatch": {
"description": "Attempt to Confirm PayPal Wallet for an order with card vault id. The request fails with a MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE error.",
"summary": "Confirm Order - 422 Unprocessable Entity Error -Using Card Vault ID for a PayPal Wallet Payment Source",
"value": {
"payment_source": {
"paypal": {
"vault_id": "8kk845"
}
}
}
}
},
"schema": {
"$ref": "#/components/schemas/confirm_order_request"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"00_orders_confirm": {
"description": "The API Caller is adding or changing the PayPal wallet payment_source on an Order after the Order has been created. Orders status transitions to PAYER_ACTION_REQUIRED.",
"summary": "Confirm Order - PayPal Wallet Resulting in Payer Action Required",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "payer-action"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
},
"payment_source": {
"paypal": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
}
}
}
},
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "A successful request indicates that the payment source was added to the Order. A successful request returns the HTTP `200 OK` status code with a JSON response body that shows order details."
},
"400": {
"content": {
"application/json": {
"examples": {
"confirm_400_bad_request_missing_required_parameter": {
"description": "This code sample attempts to confirm an order, but the payment source is missing. The request fails.",
"summary": "Confirm Order - 400 Bad Request Error - Missing Required Parameter - Payment Source",
"value": {
"debug_id": "90957fca61718",
"details": [
{
"description": "A required field or parameter is missing.",
"field": "/payment_source",
"issue": "MISSING_REQUIRED_PARAMETER",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-MISSING_REQUIRED_PARAMETER",
"method": "GET",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Request is not well-formed, syntactically incorrect, or violates schema."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"422": {
"content": {
"application/json": {
"examples": {
"confirm_422_unprocessable_entity_paypal_wallet_vault_id_payment_source_mismatch": {
"description": "Attempt to Confirm PayPal Wallet for an order with card vault id. The request fails with a MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE error.",
"summary": "Confirm Order - 422 Unprocessable Entity Error -Using Card Vault ID for a PayPal Wallet Payment Source",
"value": {
"debug_id": "90957fca61718",
"details": [
{
"description": "The vault_id does not match the payment_source provided. Please verify that the vault_id token used refers to the matching payment_source and try again. For example, a PayPal token cannot be passed in the vault_id field in the payment_source.card object.",
"field": "/payment_source/paypal/vault_id",
"issue": "MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The requested action could not be performed, semantically incorrect, or failed business validation."
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment",
"https://uri.paypal.com/services/payments/initiatepayment",
"https://uri.paypal.com/services/payments/orders/client_sdk_orders_api"
]
}
],
"summary": "Confirm the Order",
"tags": [
"orders"
],
"x-exampleFlows": [
{
"description": "The API Caller is adding or changing the PayPal wallet payment_source on an Order after the Order has been created. Orders status transitions to PAYER_ACTION_REQUIRED.",
"parameter_examples": [
"parameters/@name=='id'/examples/00_orders_confirm",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/00_orders_confirm",
"response_example": "responses/200/content/application~1json/examples/00_orders_confirm",
"title": "Confirm Order - PayPal Wallet Resulting in Payer Action Required"
},
{
"description": "This code sample attempts to confirm an order, but the payment source is missing. The request fails.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_confirm_apm_payment_source_klarna",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/400/content/application~1json/examples/confirm_400_bad_request_missing_required_parameter",
"title": "Confirm Order - 400 Bad Request Error - Missing Required Parameter - Payment Source"
},
{
"description": "This code sample attempts to confirm an order but the PayPal wallet vault ID was not found. The request fails.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_confirm_apm_payment_source_klarna",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_confirm_apm_payment_source_klarna",
"response_example": "responses/403/content/application~1json/examples/generic",
"title": "Confirm Order - 403 Forbidden Error - Invalid PayPal Wallet Vault ID"
},
{
"description": "This code sample attempts to confirm an order but the specified order is not found. The request fails.",
"parameter_examples": [
"parameters/@name=='id'/examples/00_orders_confirm"
],
"request_body_example": "requestBody/content/application~1json/examples/00_orders_confirm",
"title": "Confirm Order - 404 Not Found Error - Resource Not Found"
},
{
"description": "Attempt to Confirm PayPal Wallet for an order with card vault id. The request fails with a MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE error.",
"parameter_examples": [
"parameters/@name=='id'/examples/confirm_422_unprocessable_entity_paypal_wallet_vault_id_payment_source_mismatch",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/confirm_422_unprocessable_entity_paypal_wallet_vault_id_payment_source_mismatch",
"response_example": "responses/422/content/application~1json/examples/confirm_422_unprocessable_entity_paypal_wallet_vault_id_payment_source_mismatch",
"title": "Confirm Order - 422 Unprocessable Entity Error -Using Card Vault ID for a PayPal Wallet Payment Source"
},
{
"description": "This code sample attempts to confirm an order, but a system error occurred. The request fails. The same request body may be reused by the API Caller to retry.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_confirm_apm_payment_source_klarna",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_confirm_apm_payment_source_klarna",
"response_example": "responses/500/content/application~1json/examples/generic",
"title": "Confirm Order - 500 Internal Server Error - A system error has occurred"
}
]
}
},
"/v2/checkout/orders/{id}/track": {
"post": {
"description": "Adds tracking information for an Order.",
"operationId": "orders.track.create",
"parameters": [
{
"description": "The ID of the order that the tracking information is associated with.",
"examples": {
"orders_track_create_complete_request": {
"description": "Adds tracking information for a PayPal order.",
"summary": "Add Tracking to Order - Carrier Information and Items Breakdown",
"value": "5O190127TN364715T"
},
"orders_track_create_idempotent_complete_request": {
"description": "Adds tracking information for a PayPal Order with the same capture id & tracking number. Idempotency for trackers is based on the capture_id and tracking_number combination sent in the request body.",
"summary": "Add Tracking to Order - Idempotent Response",
"value": "5O190127TN364715T"
},
"track_create_422_unprocessable_entity_invalid_capture_status": {
"description": "This code sample attempts to add tracking information for a PayPal order but the request fails as capture status is invalid.",
"summary": "Add Tracking to Order - 422 Unprocessable Entity Error - Invalid Capture Status.",
"value": "5O190127TN364715T"
}
},
"in": "path",
"name": "id",
"required": true,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9]+$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/paypal_auth_assertion"
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"orders_track_create_complete_request": {
"description": "Adds tracking information for a PayPal order.",
"summary": "Add Tracking to Order - Carrier Information and Items Breakdown",
"value": {
"capture_id": "8MC585209K746392H",
"items": [
{
"image_url": "https://www.example.com/example.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku02",
"upc": {
"code": "012345678901",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
}
],
"notify_payer": false,
"tracking_number": "443844607820"
}
},
"orders_track_create_idempotent_complete_request": {
"description": "Adds tracking information for a PayPal Order with the same capture id & tracking number. Idempotency for trackers is based on the capture_id and tracking_number combination sent in the request body.",
"summary": "Add Tracking to Order - Idempotent Response",
"value": {
"capture_id": "8MC585209K746392H",
"items": [
{
"image_url": "https://www.example.com/example.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"upc": {
"code": "012345678901",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
}
],
"notify_payer": false,
"tracking_number": "443844607820"
}
},
"track_create_422_unprocessable_entity_invalid_capture_status": {
"description": "This code sample attempts to add tracking information for a PayPal order but the request fails as capture status is invalid.",
"summary": "Add Tracking to Order - 422 Unprocessable Entity Error - Invalid Capture Status.",
"value": {
"capture_id": "8MC585209K746392H",
"tracking_number": "443844607820"
}
}
},
"schema": {
"$ref": "#/components/schemas/order_tracker_request"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"orders_track_create_idempotent_complete_request": {
"description": "Adds tracking information for a PayPal Order with the same capture id & tracking number. Idempotency for trackers is based on the capture_id and tracking_number combination sent in the request body.",
"summary": "Add Tracking to Order - Idempotent Response",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"purchase_units": [
{
"items": [
{
"name": "Air Jordan Shoe",
"quantity": "1",
"sku": "sku01",
"unit_amount": {
"currency_code": "USD",
"value": "50.00"
}
},
{
"name": "T-Shirt",
"quantity": "1",
"sku": "sku02",
"unit_amount": {
"currency_code": "USD",
"value": "50.00"
}
}
],
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"final_capture": true,
"id": "8MC585209K746392H",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/8MC585209K746392H",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/8MC585209K746392H/refund",
"method": "POST",
"rel": "refund"
}
],
"seller_protection": {
"status": "NOT_ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
}
},
"status": "COMPLETED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"trackers": [
{
"create_time": "2022-08-12T21:20:49Z",
"id": "8MC585209K746392H-443844607820",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "up"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H-443844607820",
"method": "PATCH",
"rel": "edit"
}
],
"update_time": "2022-08-12T21:20:49Z"
}
]
}
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "A successful response to an idempotent request returns the HTTP `200 OK` status code with a JSON response body that shows tracker details."
},
"201": {
"content": {
"application/json": {
"examples": {
"orders_track_create_complete_request": {
"description": "Adds tracking information for a PayPal order.",
"summary": "Add Tracking to Order - Carrier Information and Items Breakdown",
"value": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"purchase_units": [
{
"items": [
{
"name": "Air Jordan Shoe",
"quantity": "1",
"sku": "sku01",
"unit_amount": {
"currency_code": "USD",
"value": "50.00"
}
},
{
"name": "T-Shirt",
"quantity": "1",
"sku": "sku02",
"unit_amount": {
"currency_code": "USD",
"value": "50.00"
}
}
],
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"final_capture": true,
"id": "8MC585209K746392H",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/8MC585209K746392H",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/8MC585209K746392H/refund",
"method": "POST",
"rel": "refund"
}
],
"seller_protection": {
"status": "NOT_ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
}
},
"status": "COMPLETED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"trackers": [
{
"create_time": "2022-08-12T21:20:49Z",
"id": "8MC585209K746392H-443844607820",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "up"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H-443844607820",
"method": "PATCH",
"rel": "edit"
}
],
"update_time": "2022-08-12T21:20:49Z"
}
]
}
}
]
}
}
},
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"description": "A successful response to a non-idempotent request returns the HTTP `201 Created` status code with a JSON response body that shows tracker details. If a duplicate response is retried, returns the HTTP `200 OK` status code."
},
"400": {
"content": {
"application/json": {
"examples": {
"track_create_400_missing_parameter": {
"description": "This code sample attempts to add tracking information for a PayPal order but required parameter capture id is not passed.",
"summary": "Add Tracking to Order - 400 Bad Request - Missing Required Parameter",
"value": {
"debug_id": "360ee42996992",
"details": [
{
"description": "A required field / parameter is missing.",
"field": "/capture_id",
"issue": "MISSING_REQUIRED_PARAMETER",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-MISSING_REQUIRED_PARAMETER",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Request is not well-formed, syntactically incorrect, or violates schema."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"404": {
"$ref": "#/components/responses/404_error_response"
},
"422": {
"content": {
"application/json": {
"examples": {
"track_create_422_unprocessable_entity_invalid_capture_status": {
"description": "This code sample attempts to add tracking information for a PayPal order but the request fails as capture status is invalid.",
"summary": "Add Tracking to Order - 422 Unprocessable Entity Error - Invalid Capture Status.",
"value": {
"debug_id": "360ee42996992",
"details": [
{
"description": "Invalid capture status. Tracker information can only be added to captures in `COMPLETED` state.",
"issue": "CAPTURE_STATUS_NOT_VALID"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-CAPTURE_STATUS_NOT_VALID",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The requested action could not be performed, semantically incorrect, or failed business validation."
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment"
]
}
],
"summary": "Add tracking information for an Order.",
"tags": [
"orders"
],
"x-exampleFlows": [
{
"description": "Adds tracking information for a PayPal order.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_track_create_complete_request",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_track_create_complete_request",
"response_example": "responses/201/content/application~1json/examples/orders_track_create_complete_request",
"title": "Add Tracking to Order - Carrier Information and Items Breakdown"
},
{
"description": "Adds tracking information for a PayPal Order with the same capture id & tracking number. Idempotency for trackers is based on the capture_id and tracking_number combination sent in the request body.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_track_create_idempotent_complete_request",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_track_create_idempotent_complete_request",
"response_example": "responses/200/content/application~1json/examples/orders_track_create_idempotent_complete_request",
"title": "Add Tracking to Order - Idempotent Response"
},
{
"description": "This code sample attempts to add tracking information for a PayPal order but required parameter capture id is not passed.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_track_create_idempotent_complete_request",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/400/content/application~1json/examples/track_create_400_missing_parameter",
"title": "Add Tracking to Order - 400 Bad Request - Missing Required Parameter"
},
{
"description": "This code sample attempts to add tracking information for a Paypal Order, but the API caller does not have permission to act on this resource.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_track_create_idempotent_complete_request",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_track_create_idempotent_complete_request",
"response_example": "responses/403/content/application~1json/examples/generic",
"title": "Add Tracking to Order - 403 Forbidden - No Permission for the Order"
},
{
"description": "This code sample attempts to add tracking information for a PayPal order but the request fails as capture status is invalid.",
"parameter_examples": [
"parameters/@name=='id'/examples/track_create_422_unprocessable_entity_invalid_capture_status",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/track_create_422_unprocessable_entity_invalid_capture_status",
"response_example": "responses/422/content/application~1json/examples/track_create_422_unprocessable_entity_invalid_capture_status",
"title": "Add Tracking to Order - 422 Unprocessable Entity Error - Invalid Capture Status."
},
{
"description": "This code sample attempts to add tracking information for a PayPal Order but the request fails due to an internal server error.",
"parameter_examples": [
"parameters/@name=='id'/examples/orders_track_create_idempotent_complete_request",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_track_create_idempotent_complete_request",
"response_example": "responses/500/content/application~1json/examples/generic",
"title": "Add Tracking to Order - 500 Internal Server Error"
}
]
}
},
"/v2/checkout/orders/{id}/trackers/{tracker_id}": {
"patch": {
"description": "Updates or cancels the tracking information for a PayPal order, by ID. Updatable attributes or objects:<br/><br/><table><thead><th>Attribute</th><th>Op</th><th>Notes</th></thead><tbody></tr><tr><td><code>items</code></td><td>replace</td><td>Using replace op for <code>items</code> will replace the entire <code>items</code> object with the value sent in request.</td></tr><tr><td><code>notify_payer</code></td><td>replace, add</td><td></td></tr><tr><td><code>status</code></td><td>replace</td><td>Only patching status to CANCELLED is currently supported.</td></tr></tbody></table>",
"operationId": "orders.trackers.patch",
"parameters": [
{
"description": "The ID of the order that the tracking information is associated with.",
"examples": {
"example": {
"description": "An example value for the id parameter.",
"summary": "Example id value",
"value": "5O190127TN364715T"
}
},
"in": "path",
"name": "id",
"required": true,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9]+$",
"type": "string"
}
},
{
"description": "The order tracking ID.",
"examples": {
"example": {
"description": "An example value for the tracker_id parameter.",
"summary": "Example tracker_id value",
"value": "8MC585209K746392H443844607820"
}
},
"in": "path",
"name": "tracker_id",
"required": true,
"schema": {
"maxLength": 36,
"minLength": 1,
"pattern": "^[A-Z0-9]+$",
"type": "string"
}
},
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/paypal_auth_assertion"
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"orders_trackers_patch_add_notify-payer": {
"description": "Updates an order tracking information to add notification for a shipment.",
"summary": "Patch Tracking Information - Add Notification for a Shipment.",
"value": [
{
"op": "add",
"path": "/notify_payer",
"value": true
}
]
},
"orders_trackers_patch_replace_status": {
"description": "Updates order tracking information to replace the existing status with a new status.",
"summary": "Patch Tracking Information - Replace the Status of the Tracker.",
"value": [
{
"op": "replace",
"path": "/status",
"value": "CANCELLED"
}
]
},
"trackers_patch_422_cannot_patch_cancelled_tracker": {
"description": "This code sample attempts to update an order's Tracking information but the request fails as the tracker had been previously transitioned into the \"cancelled\" state.",
"summary": "Patch Tracking Information - 422 UNPROCESSABLE ENTITY Error - Cannot patch cancelled tracker.",
"value": [
{
"op": "replace",
"path": "items",
"value": [
{
"image_url": "https://www.example.com/example1.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"upc": {
"code": "upc001",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
},
{
"image_url": "https://www.example.com/example2.jpg",
"name": "NeoPhone",
"quantity": "2",
"sku": "sku02",
"upc": {
"code": "upc002",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
}
]
}
]
}
},
"schema": {
"$ref": "#/components/schemas/patch_request"
}
}
},
"required": false
},
"responses": {
"204": {
"$ref": "#/components/responses/204_response"
},
"400": {
"content": {
"application/json": {
"examples": {
"trackers_patch_400_invalid_patch_value": {
"description": "This code sample attempts to update an order tracking information to replace notify_payer, but the request fails due to invalid value in the request.",
"summary": "Patch Tracking Information - 400 Bad Request Error - Invalid Request.",
"value": {
"debug_id": "2f541ace12987",
"details": [
{
"description": "The value of a field is invalid.",
"field": "/notify_payer",
"issue": "INVALID_PARAMETER_VALUE",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-INVALID_PARAMETER_VALUE",
"method": "GET",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Request is not well-formed, syntactically incorrect, or violates schema."
},
"401": {
"$ref": "#/components/responses/401_error_response"
},
"403": {
"$ref": "#/components/responses/403_error_response"
},
"404": {
"$ref": "#/components/responses/404_error_response"
},
"422": {
"content": {
"application/json": {
"examples": {
"trackers_patch_422_cannot_patch_cancelled_tracker": {
"description": "This code sample attempts to update an order's Tracking information but the request fails as the tracker had been previously transitioned into the \"cancelled\" state.",
"summary": "Patch Tracking Information - 422 UNPROCESSABLE ENTITY Error - Cannot patch cancelled tracker.",
"value": {
"debug_id": "3178dbf457625",
"details": [
{
"description": "Cancelled trackers cannot be modified.",
"field": "path",
"issue": "CANNOT_PATCH_CANCELLED_TRACKER",
"location": "body",
"value": "/status"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-NOT_PATCHABLE",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
}
}
},
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "The requested action could not be performed, semantically incorrect, or failed business validation."
},
"500": {
"$ref": "#/components/responses/500_error_response"
},
"default": {
"$ref": "#/components/responses/default_response"
}
},
"security": [
{
"Oauth2": [
"https://uri.paypal.com/services/payments/payment"
]
}
],
"summary": "Update or cancel tracking information for an order",
"tags": [
"trackers"
],
"x-exampleFlows": [
{
"description": "Updates order tracking information to replace the existing status with a new status.",
"parameter_examples": [
"parameters/@name=='id'/examples/example",
"parameters/@name=='tracker_id'/examples/example",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_trackers_patch_replace_status",
"title": "Patch Tracking Information - Replace the Status of the Tracker."
},
{
"description": "Updates an order tracking information to add notification for a shipment.",
"parameter_examples": [
"parameters/@name=='id'/examples/example",
"parameters/@name=='tracker_id'/examples/example",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_trackers_patch_add_notify-payer",
"title": "Patch Tracking Information - Add Notification for a Shipment."
},
{
"description": "This code sample attempts to update an order tracking information to replace notify_payer, but the request fails due to invalid value in the request.",
"parameter_examples": [
"parameters/@name=='id'/examples/example",
"parameters/@name=='tracker_id'/examples/example",
"parameters/@name=='Authorization'/examples/bearer"
],
"response_example": "responses/400/content/application~1json/examples/trackers_patch_400_invalid_patch_value",
"title": "Patch Tracking Information - 400 Bad Request Error - Invalid Request."
},
{
"description": "This code sample attempts to update an Order Tracking information, but the API caller does not have permission to act on this resource.",
"parameter_examples": [
"parameters/@name=='id'/examples/example",
"parameters/@name=='tracker_id'/examples/example",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_trackers_patch_add_notify-payer",
"response_example": "responses/403/content/application~1json/examples/generic",
"title": "Patch Tracking Information - 403 Forbidden."
},
{
"description": "This code sample attempts to update an Order Tracking information but the request fails as specified tracker id is not found.",
"parameter_examples": [
"parameters/@name=='id'/examples/example",
"parameters/@name=='tracker_id'/examples/example",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_trackers_patch_add_notify-payer",
"response_example": "responses/404/content/application~1json/examples/generic",
"title": "Patch Tracking Information - 404 Not Found Error - Tracker ID Not Found."
},
{
"description": "This code sample attempts to update an order's Tracking information but the request fails as the tracker had been previously transitioned into the \"cancelled\" state.",
"parameter_examples": [
"parameters/@name=='id'/examples/example",
"parameters/@name=='tracker_id'/examples/example",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/trackers_patch_422_cannot_patch_cancelled_tracker",
"response_example": "responses/422/content/application~1json/examples/trackers_patch_422_cannot_patch_cancelled_tracker",
"title": "Patch Tracking Information - 422 UNPROCESSABLE ENTITY Error - Cannot patch cancelled tracker."
},
{
"description": "This code sample attempts to update an Order Tracking information but the request fails due to an internal server error.",
"parameter_examples": [
"parameters/@name=='id'/examples/example",
"parameters/@name=='tracker_id'/examples/example",
"parameters/@name=='Authorization'/examples/bearer"
],
"request_body_example": "requestBody/content/application~1json/examples/orders_trackers_patch_add_notify-payer",
"response_example": "responses/500/content/application~1json/examples/generic",
"title": "Patch Tracking Information - 500 Internal Server Error."
}
]
}
}
},
"servers": [
{
"description": "Server for https scheme.",
"url": "https://api-m.paypal.com"
}
],
"tags": [
{
"description": "PayPal will use the callback url defined in the create order request to send merchants shipping address and shipping options data while the buyer is in the PayPal checkout.",
"name": "externalcallback"
},
{
"description": "Use the `/orders` resource to create, update, retrieve, authorize, capture and track orders.",
"name": "orders"
},
{
"description": "Use the `/trackers` resource to update and retrieve tracking information for PayPal orders.",
"name": "trackers"
}
],
"x-samples": {
"orders.authorize": [
{
"description": "Authorize payment for an order after PayPal wallet approval. By default, uses the minimal representation.",
"operationId": "orders.authorize",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/authorize"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"authorizations": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"expiration_time": "2021-10-08T23:37:39Z",
"id": "3C679366HH908993F",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/5O190127TN364715T/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/5O190127TN364715T/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "up"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"status": "CREATED"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
]
},
"status": "201 Created"
},
"title": "Authorize Order - PayPal Wallet as Payment Source"
},
{
"description": "Authorizes payment for an order with the same idempotency key. By default, uses the minimal representation.",
"operationId": "orders.authorize",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/authorize"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"account_status": "VERIFIED",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"authorizations": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"expiration_time": "2018-05-01T21:20:49Z",
"id": "0AW2184448108334S",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/reauthorize",
"method": "POST",
"rel": "reauthorize"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"status": "CREATED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
}
]
},
"status": "200 OK"
},
"title": "Authorize Order - Idempotent Response with PayPal Wallet"
},
{
"description": "Authorizes payment for an order through a previously acquired vault id for a PayPal wallet. By default, uses the minimal representation.",
"operationId": "orders.authorize",
"request": {
"body": {
"payment_source": {
"paypal": {
"vault_id": "nkq2y9g"
}
}
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/authorize"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"account_status": "VERIFIED",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"authorizations": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2021-12-29T21:20:49Z",
"expiration_time": "2022-01-29T21:20:49Z",
"id": "0AW2184448108334S",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/0AW2184448108334S/reauthorize",
"method": "POST",
"rel": "reauthorize"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"status": "CREATED",
"update_time": "2021-12-29T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
}
]
},
"status": "201 Created"
},
"title": "Authorize Order - PayPal Wallet Vault ID"
},
{
"description": "This code sample attempts to authorize a donation order, but charity is not confirmed.",
"operationId": "orders.authorize",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/{id}/authorize"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "Authorization failed due to insufficient permissions.",
"name": "NOT_AUTHORIZED"
},
"status": "403 Forbidden"
},
"title": "Authorize Order - 403 Forbidden Error - Charity is not confirmed"
},
{
"description": "This code sample attempts to authorize payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"operationId": "orders.authorize",
"request": {
"body": {},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/9SY02093A2309081P/authorize"
},
"response": {
"body": {
"debug_id": "f63fbc340a6ce",
"details": [
{
"description": "Transaction cannot complete successfully, instruct the buyer to return to PayPal.",
"issue": "PAYER_ACTION_REQUIRED"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-PAYER_ACTION_REQUIRED",
"method": "GET",
"rel": "information_link"
},
{
"href": "https://www.paypal.com/checkoutnow?token=9SY02093A2309081P",
"method": "GET",
"rel": "payer-action"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Authorize Order - 422 - Payer Action Required"
},
{
"description": "This code sample attempts to authorize an order, but the payment is denied by PayPal. This can occur due to various reasons such as insufficient funds, expired card, incorrect payment information, or payment gateway issues.",
"operationId": "orders.authorize",
"request": {
"body": {
"payment_source": {
"card": {
"vault_id": "8cg02452we902502k"
}
}
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/authorize"
},
"response": {
"body": {
"debug_id": "eb476257836d9",
"details": [
{
"description": "PayPal has declined to process this transaction.",
"issue": "PAYMENT_DENIED"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-PAYMENT_DENIED",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Authorize Order - 422 Unprocessable Entity Error - Payment Denied"
}
],
"orders.capture": [
{
"description": "Captures payment for an order after wallet approval. By default, uses the minimal representation.",
"operationId": "orders.capture",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/capture"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"final_capture": true,
"id": "3C679366HH908993F",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F/refund",
"method": "POST",
"rel": "refund"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
}
},
"status": "COMPLETED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
}
]
},
"status": "201 Created"
},
"title": "Capture Order - PayPal Wallet as Payment Source"
},
{
"description": "Captures payment for an order after wallet approval with the same idempotency key. By default, uses the minimal representation.",
"operationId": "orders.capture",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/capture"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"account_status": "VERIFIED",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"final_capture": true,
"id": "3C679366HH908993F",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F/refund",
"method": "POST",
"rel": "refund"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
}
},
"status": "COMPLETED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
}
]
},
"status": "200 OK"
},
"title": "Capture Order - Idempotent Response with PayPal Wallet"
},
{
"description": "The partner captures payment for an order after PayPal Wallet approval. By default, uses the minimal representation.",
"operationId": "orders.capture",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/capture"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/vault/payment-tokens/m6yd4yw",
"method": "GET",
"rel": "payment-token"
}
],
"payment_source": {
"paypal": {
"attributes": {
"vault": {
"id": "m6yd4yw",
"status": "CREATED"
}
}
}
},
"purchase_units": [
{
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "31.01"
},
"create_time": "2020-06-08T23:11:34Z",
"custom_id": "custom_id_1001",
"final_capture": true,
"id": "54986457XR262021N",
"invoice_id": "invoice_id_380358551C5240203",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/54986457XR262021N",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/54986457XR262021N/refund",
"method": "POST",
"rel": "refund"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/12645781RH9888226",
"method": "GET",
"rel": "up"
}
],
"seller_protection": {
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "31.01"
},
"net_amount": {
"currency_code": "USD",
"value": "21.00"
},
"platform_fees": [
{
"amount": {
"currency_code": "USD",
"value": "10.01"
},
"payee": {
"merchant_id": "J8NCBBULP5JH2"
}
}
]
},
"status": "COMPLETED",
"update_time": "2020-06-08T23:11:34Z"
}
]
},
"reference_id": "refernece_id_1001",
"shipping": {
"address": {
"address_line_1": "500 Hillside Street",
"address_line_2": "#100",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
},
"name": {
"full_name": "William Chris"
}
}
}
]
},
"status": "201 Created"
},
"title": "Capture Order - Minimal Representation with PayPal Wallet Vault ID"
},
{
"description": "This code sample attempts to capture an order that was created with the `CAPTURE` intent but the card vault id can not be found. The request fails.",
"operationId": "orders.capture",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/{id}/capture"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "Authorization failed due to insufficient permissions.",
"name": "NOT_AUTHORIZED"
},
"status": "403 Forbidden"
},
"title": "Capture Order - 403 Forbidden Error - Invalid Card Vault ID"
},
{
"description": "This code sample attempts to capture an order but the specified order is not found. The request fails.",
"operationId": "orders.capture",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/{id}/capture"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "The specified resource does not exist.",
"name": "RESOURCE_NOT_FOUND"
},
"status": "404 Not Found"
},
"title": "Capture Order - 404 Not Found Error - Resource Not Found"
},
{
"description": "This code sample attempts to capture payment for an order that was created by the api caller and the payment could not be processed due to PSD2 SCA compliance requirement.",
"operationId": "orders.capture",
"request": {
"body": {},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/capture"
},
"response": {
"body": {
"debug_id": "f63fbc340a6ce",
"details": [
{
"description": "Transaction cannot complete successfully, instruct the buyer to return to PayPal.",
"issue": "PAYER_ACTION_REQUIRED"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-PAYER_ACTION_REQUIRED",
"method": "GET",
"rel": "information_link"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "payer-action"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Capture Order - 422 - Payer Action Required"
},
{
"description": "This code sample attempts to capture payment for an order that was created with `intent=AUTHORIZE`. The operation is incorrect.",
"operationId": "orders.capture",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/capture"
},
"response": {
"body": {
"debug_id": "90957fca61718",
"details": [
{
"description": "The order was created with an intent of `AUTHORIZE`. To complete authorization, use `/v2/checkout/orders/{order_id}/authorize`. Or, alternately create an order with an intent of `CAPTURE`.",
"issue": "ACTION_DOES_NOT_MATCH_INTENT",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-ACTION_DOES_NOT_MATCH_INTENT",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Capture Order - 422 Unprocessable Entity Error - Action Does Not Match Intent"
}
],
"orders.confirm": [
{
"description": "The API Caller is adding or changing the PayPal wallet payment_source on an Order after the Order has been created. Orders status transitions to PAYER_ACTION_REQUIRED.",
"operationId": "orders.confirm",
"request": {
"body": {
"payment_source": {
"paypal": {
"email_address": "customer@example.com",
"experience_context": {
"brand_name": "EXAMPLE INC",
"cancel_url": "https://example.com/cancelUrl",
"landing_page": "LOGIN",
"locale": "en-US",
"payment_method_preference": "IMMEDIATE_PAYMENT_REQUIRED",
"return_url": "https://example.com/returnUrl",
"shipping_preference": "SET_PROVIDED_ADDRESS",
"user_action": "PAY_NOW"
},
"name": {
"given_name": "John",
"surname": "Doe"
}
}
}
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/confirm-payment-source"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "payer-action"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
},
"payment_source": {
"paypal": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
}
},
"status": "200 OK"
},
"title": "Confirm Order - PayPal Wallet Resulting in Payer Action Required"
},
{
"description": "This code sample attempts to confirm an order, but the payment source is missing. The request fails.",
"operationId": "orders.confirm",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/{id}/confirm-payment-source"
},
"response": {
"body": {
"debug_id": "90957fca61718",
"details": [
{
"description": "A required field or parameter is missing.",
"field": "/payment_source",
"issue": "MISSING_REQUIRED_PARAMETER",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-MISSING_REQUIRED_PARAMETER",
"method": "GET",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
},
"status": "400 Bad Request"
},
"title": "Confirm Order - 400 Bad Request Error - Missing Required Parameter - Payment Source"
},
{
"description": "This code sample attempts to confirm an order but the PayPal wallet vault ID was not found. The request fails.",
"operationId": "orders.confirm",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/{id}/confirm-payment-source"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "Authorization failed due to insufficient permissions.",
"name": "NOT_AUTHORIZED"
},
"status": "403 Forbidden"
},
"title": "Confirm Order - 403 Forbidden Error - Invalid PayPal Wallet Vault ID"
},
{
"description": "This code sample attempts to confirm an order but the specified order is not found. The request fails.",
"operationId": "orders.confirm",
"request": {
"body": {
"payment_source": {
"paypal": {
"email_address": "customer@example.com",
"experience_context": {
"brand_name": "EXAMPLE INC",
"cancel_url": "https://example.com/cancelUrl",
"landing_page": "LOGIN",
"locale": "en-US",
"payment_method_preference": "IMMEDIATE_PAYMENT_REQUIRED",
"return_url": "https://example.com/returnUrl",
"shipping_preference": "SET_PROVIDED_ADDRESS",
"user_action": "PAY_NOW"
},
"name": {
"given_name": "John",
"surname": "Doe"
}
}
}
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/confirm-payment-source"
},
"response": {
"status": "204 No Content"
},
"title": "Confirm Order - 404 Not Found Error - Resource Not Found"
},
{
"description": "Attempt to Confirm PayPal Wallet for an order with card vault id. The request fails with a MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE error.",
"operationId": "orders.confirm",
"request": {
"body": {
"payment_source": {
"paypal": {
"vault_id": "8kk845"
}
}
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/confirm-payment-source"
},
"response": {
"body": {
"debug_id": "90957fca61718",
"details": [
{
"description": "The vault_id does not match the payment_source provided. Please verify that the vault_id token used refers to the matching payment_source and try again. For example, a PayPal token cannot be passed in the vault_id field in the payment_source.card object.",
"field": "/payment_source/paypal/vault_id",
"issue": "MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-MISMATCHED_VAULT_ID_TO_PAYMENT_SOURCE",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Confirm Order - 422 Unprocessable Entity Error -Using Card Vault ID for a PayPal Wallet Payment Source"
},
{
"description": "This code sample attempts to confirm an order, but a system error occurred. The request fails. The same request body may be reused by the API Caller to retry.",
"operationId": "orders.confirm",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/{id}/confirm-payment-source"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "An internal server error has occurred.",
"name": "INTERNAL_SERVER_ERROR"
},
"status": "500 Internal Server Error"
},
"title": "Confirm Order - 500 Internal Server Error - A system error has occurred"
}
],
"orders.create": [
{
"description": "Creates a new order. API caller receives payer-action link.",
"operationId": "orders.create",
"request": {
"body": {
"payment_source": {
"paypal": {
"experience_context": {
"cancel_url": "https://example.com/cancelUrl",
"landing_page": "LOGIN",
"payment_method_preference": "IMMEDIATE_PAYMENT_REQUIRED",
"return_url": "https://example.com/returnUrl",
"shipping_preference": "GET_FROM_FILE",
"user_action": "PAY_NOW"
}
}
},
"purchase_units": [
{
"amount": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "220.00"
},
"shipping": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "230.00"
},
"invoice_id": "90210",
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Super Fresh Shirt",
"image_url": "https://example.com/static/images/items/1/tshirt_green.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"unit_amount": {
"currency_code": "USD",
"value": "20.00"
},
"upc": {
"code": "123456789012",
"type": "UPC-A"
},
"url": "https://example.com/url-to-the-item-being-purchased-1"
},
{
"category": "PHYSICAL_GOODS",
"description": "Running, Size 10.5",
"image_url": "https://example.com/static/images/items/1/shoes_running.jpg",
"name": "Shoes",
"quantity": "2",
"sku": "sku02",
"unit_amount": {
"currency_code": "USD",
"value": "100.00"
},
"upc": {
"code": "987654321012",
"type": "UPC-A"
},
"url": "https://example.com/url-to-the-item-being-purchased-2"
}
]
}
]
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "payer-action"
}
],
"payment_source": {
"paypal": {}
}
},
"status": "200 OK"
},
"title": "Create Order - PayPal Wallet as Payment Source, Resulting in PAYER_ACTION_REQUIRED Response"
},
{
"description": "Creates an order and authorizes payment with a PayPal wallet vault id as the payment source and a usage pattern (billing indicator) RECURRING_PREPAID passed using stored credentials.",
"operationId": "orders.create",
"request": {
"body": {
"payment_source": {
"paypal": {
"vault_id": "2w915838hr181240m"
}
},
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
}
}
]
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"PayPal-Request-Id": "7b92603e-77ed-4896-8e78-5dea2050476a"
},
"method": "post",
"path": "/v2/checkout/orders"
},
"response": {
"body": {
"create_time": "2024-05-07T18:46:15Z",
"id": "8K832279M55989614",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/8K832279M55989614",
"method": "GET",
"rel": "self"
}
],
"payer": {
"address": {
"country_code": "US"
},
"email_address": "buyer@paypal.com",
"name": {
"given_name": "Tom",
"surname": "Business"
},
"payer_id": "XQHSN372NGSP2",
"phone": {
"phone_number": {
"national_number": "8127081430"
}
}
},
"payment_source": {
"paypal": {
"account_id": "XQHSN372NGSP2",
"account_status": "UNVERIFIED",
"address": {
"country_code": "US"
},
"email_address": "buyer@paypal.com",
"name": {
"given_name": "Tom",
"surname": "Business"
},
"phone_number": {
"national_number": "8127081430"
}
}
},
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"payee": {
"email_address": "seller@paypal.com",
"merchant_id": "Q7C9N6S4YRQXG"
},
"payments": {
"authorizations": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2024-05-07T18:46:54Z",
"expiration_time": "2024-06-05T18:46:54Z",
"id": "7X550106NA4440028",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/7X550106NA4440028",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/7X550106NA4440028/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api-m.paypal.com/v2/payments/authorizations/7X550106NA4440028/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/8K832279M55989614",
"method": "GET",
"rel": "up"
}
],
"seller_protection": {
"dispute_categories": [
"UNAUTHORIZED_TRANSACTION"
],
"status": "ELIGIBLE"
},
"status": "CREATED",
"update_time": "2024-05-07T18:46:54Z"
}
]
},
"reference_id": "default",
"shipping": {
"address": {
"address_line_1": "123 Fake St.",
"admin_area_1": "LA",
"admin_area_2": "Baton Rouge",
"country_code": "US",
"postal_code": "70802"
},
"name": {
"full_name": "Tom Business"
}
}
}
],
"update_time": "2024-05-07T18:46:54Z"
},
"status": "201 Created"
},
"title": "Create and authorize an order for a PayPal wallet vaulted account holder passing a usage pattern indicator using stored credentials (Single Shot)."
},
{
"description": "Creates an order with only required parameters. By default, uses the minimal representation.",
"operationId": "orders.create",
"request": {
"body": {
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
}
}
]
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "approve"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "PATCH",
"rel": "edit"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T/capture",
"method": "POST",
"rel": "capture"
}
]
},
"status": "201 Created"
},
"title": "Create Order - Minimal Request and Response"
},
{
"description": "Creates an order with minimal parameters and contains the Buy Online Pickup in Store-related fields.",
"operationId": "orders.create",
"request": {
"body": {
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "50.00"
},
"payee": {
"email_address": "merchant@example.com"
},
"reference_id": "PUHF",
"shipping": {
"address": {
"address_line_1": "123 Townsend St",
"address_line_2": "Floor 6",
"admin_area_1": "CA",
"admin_area_2": "San Francisco",
"country_code": "US",
"postal_code": "94107"
},
"type": "PICKUP_IN_STORE"
}
}
]
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ",
"Prefer": "return=representation"
},
"method": "post",
"path": "/v2/checkout/orders"
},
"response": {
"body": {
"id": "4SP74185RW2405200",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/4SP74185RW2405200",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=4SP74185RW2405200",
"method": "GET",
"rel": "approve"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/4SP74185RW2405200",
"method": "PATCH",
"rel": "edit"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/4SP74185RW2405200/authorize",
"method": "POST",
"rel": "authorize"
}
],
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "50.00"
},
"payee": {
"email_address": "merchant@example.com"
},
"reference_id": "PUHF",
"shipping": {
"address": {
"address_line_1": "123 Townsend St",
"address_line_2": "Floor 6",
"admin_area_1": "CA",
"admin_area_2": "San Francisco",
"country_code": "US",
"postal_code": "94107"
},
"type": "PICKUP_IN_STORE"
}
}
]
},
"status": "201 Created"
},
"title": "Create Order - Buy Online Pickup In Store Shipping Type"
},
{
"description": "This code sample attempts to create an order with empty purchase units. The request fails.",
"operationId": "orders.create",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders"
},
"response": {
"body": {
"debug_id": "10398537340c8",
"details": [
{
"description": "The number of items in an array parameter is too small.",
"field": "/purchase_units",
"issue": "INVALID_ARRAY_MIN_ITEMS",
"location": "body",
"value": "[]"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-INVALID_ARRAY_MIN_ITEMS",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
},
"status": "400 Bad Request"
},
"title": "Create Order - 400 Bad Request Error - Purchase Unit is Empty"
},
{
"description": "This code sample attempts to create an order but the shipping address is required and `shipping.type` is set to PICKUP_FROM_PERSON ",
"operationId": "orders.create",
"request": {
"body": {
"payment_source": {
"paypal": {
"experience_context": {
"cancel_url": "https://www.example.com/cancelURL",
"return_url": "https://www.example.com/returnURL",
"shipping_preference": "SET_PROVIDED_ADDRESS"
}
}
},
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"reference_id": "PUHF",
"shipping": {
"type": "PICKUP_FROM_PERSON"
}
}
]
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders"
},
"response": {
"body": {
"debug_id": "f200264a4e02a",
"details": [
{
"description": "The shipping address is required when `shipping_preference=SET_PROVIDED_ADDRESS`.",
"field": "/purchase_units/@reference_id=='PUHF'/shipping/address",
"issue": "MISSING_SHIPPING_ADDRESS"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/rest/reference/orders/v2/errors/#MISSING_SHIPPING_ADDRESS",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Create Order - 422 Unprocessable Entity Error - Missing Pickup Address"
}
],
"orders.get": [
{
"description": "Shows order details immediately after customer approval.",
"operationId": "orders.get",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "get",
"path": "/v2/checkout/orders/5O190127TN364715T"
},
"response": {
"body": {
"create_time": "2018-04-01T21:18:49Z",
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
},
{
"href": "https://www.paypal.com/checkoutnow?token=5O190127TN364715T",
"method": "GET",
"rel": "approve"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "PATCH",
"rel": "edit"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T/capture",
"method": "POST",
"rel": "capture"
}
],
"payer": {
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
},
"payer_id": "QYR5Z8XDVJNXQ"
},
"payment_source": {
"paypal": {
"account_id": "QYR5Z8XDVJNXQ",
"email_address": "customer@example.com",
"name": {
"given_name": "John",
"surname": "Doe"
}
}
},
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
]
},
"status": "200 OK"
},
"title": "Get Order - Show Order Details After Customer Approval"
},
{
"description": "This code sample attempts to show details for an order, by ID, but the request fails because the order is not found.",
"operationId": "orders.get",
"request": {
"method": "get",
"path": "/v2/checkout/orders/5O190127TN364715T"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "The specified resource does not exist.",
"name": "RESOURCE_NOT_FOUND"
},
"status": "404 Not Found"
},
"title": "Get Order - 404 Not Found Error - Order Not Found"
}
],
"orders.patch": [
{
"description": "Updates an order to add shipping address to purchase unit.",
"operationId": "orders.patch",
"request": {
"body": [
{
"op": "replace",
"path": "/purchase_units/@reference_id=='PUHF'/shipping/address",
"value": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95131"
}
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T"
},
"response": {
"status": "204 No Content"
},
"title": "Patch Order - Add Shipping Address"
},
{
"description": "Updates an order to revise the amount, adding the cost of shipping, to a purchase unit.",
"operationId": "orders.patch",
"request": {
"body": [
{
"op": "replace",
"path": "/purchase_units/@reference_id=='PUHF'/amount",
"value": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "180.00"
},
"shipping": {
"currency_code": "USD",
"value": "20.00"
}
},
"currency_code": "USD",
"value": "200.00"
}
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T"
},
"response": {
"status": "204 No Content"
},
"title": "Patch Order - Replace Amount"
},
{
"description": "Updates an order to add items to and replace the amount within a purchase unit. The amount breakdown with an item total is added to reflect the newly added items. Whenever the quantity or price of items is modified in an order with a PATCH, the purchase_units.amount must also be updated.",
"operationId": "orders.patch",
"request": {
"body": [
{
"op": "add",
"path": "/purchase_units/@reference_id=='PUHF'/items",
"value": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
},
{
"category": "PHYSICAL_GOODS",
"description": "Running, Size 10.5",
"name": "Shoes",
"quantity": "2",
"sku": "sku02",
"tax": {
"currency_code": "USD",
"value": "5.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "45.00"
}
}
]
},
{
"op": "replace",
"path": "/purchase_units/@reference_id=='PUHF'/amount",
"value": {
"breakdown": {
"handling": {
"currency_code": "USD",
"value": "0.00"
},
"item_total": {
"currency_code": "USD",
"value": "180.00"
},
"shipping": {
"currency_code": "USD",
"value": "5.00"
},
"shipping_discount": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "20.00"
}
},
"currency_code": "USD",
"value": "205.00"
}
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T"
},
"response": {
"status": "204 No Content"
},
"title": "Patch Order - Add Items and Replace Amount"
},
{
"description": "This code sample attempts to update an the shipping address with an invalid value. The request fails.",
"operationId": "orders.patch",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/{id}"
},
"response": {
"body": {
"debug_id": "f087ef02ffdb6",
"details": [
{
"description": "The value of a field does not conform to the expected format.",
"field": "/purchase_units/@reference_id=='Reference ID 2'/shipping/address",
"issue": "INVALID_PARAMETER_SYNTAX",
"location": "body",
"value": "x"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-INVALID_PARAMETER_SYNTAX",
"method": "GET",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
},
"status": "400 Bad Request"
},
"title": "Patch Order - 400 Bad Request Error - Shipping Address Invalid"
},
{
"description": "This code sample attempts to update an order with a payer object. The request fails since buyer has already approved.",
"operationId": "orders.patch",
"request": {
"body": [
{
"op": "add",
"path": "/payer",
"value": {
"address": {
"address_line_1": "2211 North First Street",
"address_line_2": "Floor 6",
"admin_area_1": "CA",
"admin_area_2": "San Jose",
"country_code": "US",
"postal_code": "95126"
},
"email_address": "payee@example.com",
"name": {
"given_name": "TestFirst",
"surname": "TestLast"
},
"phone": {
"phone_number": {
"national_number": "19876543210"
}
}
}
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T"
},
"response": {
"body": {
"debug_id": "90957fca61718",
"details": [
{
"description": "Payer path patch is not allowed after payer has approved the order.",
"field": "/payer",
"issue": "PAYER_PATCH_NOT_ALLOWED",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-PAYER_PATCH_NOT_ALLOWED",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Patch Order - 422 Unprocessable Entity Error - Payer Patch Not Allowed"
}
],
"orders.track.create": [
{
"description": "Adds tracking information for a PayPal order.",
"operationId": "orders.track.create",
"request": {
"body": {
"capture_id": "8MC585209K746392H",
"items": [
{
"image_url": "https://www.example.com/example.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku02",
"upc": {
"code": "012345678901",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
}
],
"notify_payer": false,
"tracking_number": "443844607820"
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/track"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"purchase_units": [
{
"items": [
{
"name": "Air Jordan Shoe",
"quantity": "1",
"sku": "sku01",
"unit_amount": {
"currency_code": "USD",
"value": "50.00"
}
},
{
"name": "T-Shirt",
"quantity": "1",
"sku": "sku02",
"unit_amount": {
"currency_code": "USD",
"value": "50.00"
}
}
],
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"final_capture": true,
"id": "8MC585209K746392H",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/8MC585209K746392H",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/8MC585209K746392H/refund",
"method": "POST",
"rel": "refund"
}
],
"seller_protection": {
"status": "NOT_ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
}
},
"status": "COMPLETED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"trackers": [
{
"create_time": "2022-08-12T21:20:49Z",
"id": "8MC585209K746392H-443844607820",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "up"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H-443844607820",
"method": "PATCH",
"rel": "edit"
}
],
"update_time": "2022-08-12T21:20:49Z"
}
]
}
}
]
},
"status": "201 Created"
},
"title": "Add Tracking to Order - Carrier Information and Items Breakdown"
},
{
"description": "Adds tracking information for a PayPal Order with the same capture id & tracking number. Idempotency for trackers is based on the capture_id and tracking_number combination sent in the request body.",
"operationId": "orders.track.create",
"request": {
"body": {
"capture_id": "8MC585209K746392H",
"items": [
{
"image_url": "https://www.example.com/example.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"upc": {
"code": "012345678901",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
}
],
"notify_payer": false,
"tracking_number": "443844607820"
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/track"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "self"
}
],
"purchase_units": [
{
"items": [
{
"name": "Air Jordan Shoe",
"quantity": "1",
"sku": "sku01",
"unit_amount": {
"currency_code": "USD",
"value": "50.00"
}
},
{
"name": "T-Shirt",
"quantity": "1",
"sku": "sku02",
"unit_amount": {
"currency_code": "USD",
"value": "50.00"
}
}
],
"payments": {
"captures": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"create_time": "2018-04-01T21:20:49Z",
"final_capture": true,
"id": "8MC585209K746392H",
"links": [
{
"href": "https://api-m.paypal.com/v2/payments/captures/8MC585209K746392H",
"method": "GET",
"rel": "self"
},
{
"href": "https://api-m.paypal.com/v2/payments/captures/8MC585209K746392H/refund",
"method": "POST",
"rel": "refund"
}
],
"seller_protection": {
"status": "NOT_ELIGIBLE"
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
}
},
"status": "COMPLETED",
"update_time": "2018-04-01T21:20:49Z"
}
]
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"trackers": [
{
"create_time": "2022-08-12T21:20:49Z",
"id": "8MC585209K746392H-443844607820",
"links": [
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T",
"method": "GET",
"rel": "up"
},
{
"href": "https://api-m.paypal.com/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H-443844607820",
"method": "PATCH",
"rel": "edit"
}
],
"update_time": "2022-08-12T21:20:49Z"
}
]
}
}
]
},
"status": "200 OK"
},
"title": "Add Tracking to Order - Idempotent Response"
},
{
"description": "This code sample attempts to add tracking information for a PayPal order but required parameter capture id is not passed.",
"operationId": "orders.track.create",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/track"
},
"response": {
"body": {
"debug_id": "360ee42996992",
"details": [
{
"description": "A required field / parameter is missing.",
"field": "/capture_id",
"issue": "MISSING_REQUIRED_PARAMETER",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/api/orders/v2/#error-MISSING_REQUIRED_PARAMETER",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
},
"status": "400 Bad Request"
},
"title": "Add Tracking to Order - 400 Bad Request - Missing Required Parameter"
},
{
"description": "This code sample attempts to add tracking information for a Paypal Order, but the API caller does not have permission to act on this resource.",
"operationId": "orders.track.create",
"request": {
"body": {
"capture_id": "8MC585209K746392H",
"items": [
{
"image_url": "https://www.example.com/example.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"upc": {
"code": "012345678901",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
}
],
"notify_payer": false,
"tracking_number": "443844607820"
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/track"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "Authorization failed due to insufficient permissions.",
"name": "NOT_AUTHORIZED"
},
"status": "403 Forbidden"
},
"title": "Add Tracking to Order - 403 Forbidden - No Permission for the Order"
},
{
"description": "This code sample attempts to add tracking information for a PayPal order but the request fails as capture status is invalid.",
"operationId": "orders.track.create",
"request": {
"body": {
"capture_id": "8MC585209K746392H",
"tracking_number": "443844607820"
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/track"
},
"response": {
"body": {
"debug_id": "360ee42996992",
"details": [
{
"description": "Invalid capture status. Tracker information can only be added to captures in `COMPLETED` state.",
"issue": "CAPTURE_STATUS_NOT_VALID"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-CAPTURE_STATUS_NOT_VALID",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Add Tracking to Order - 422 Unprocessable Entity Error - Invalid Capture Status."
},
{
"description": "This code sample attempts to add tracking information for a PayPal Order but the request fails due to an internal server error.",
"operationId": "orders.track.create",
"request": {
"body": {
"capture_id": "8MC585209K746392H",
"items": [
{
"image_url": "https://www.example.com/example.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"upc": {
"code": "012345678901",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
}
],
"notify_payer": false,
"tracking_number": "443844607820"
},
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "post",
"path": "/v2/checkout/orders/5O190127TN364715T/track"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "An internal server error has occurred.",
"name": "INTERNAL_SERVER_ERROR"
},
"status": "500 Internal Server Error"
},
"title": "Add Tracking to Order - 500 Internal Server Error"
}
],
"orders.trackers.patch": [
{
"description": "Updates order tracking information to replace the existing status with a new status.",
"operationId": "orders.trackers.patch",
"request": {
"body": [
{
"op": "replace",
"path": "/status",
"value": "CANCELLED"
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H443844607820"
},
"response": {
"status": "204 No Content"
},
"title": "Patch Tracking Information - Replace the Status of the Tracker."
},
{
"description": "Updates an order tracking information to add notification for a shipment.",
"operationId": "orders.trackers.patch",
"request": {
"body": [
{
"op": "add",
"path": "/notify_payer",
"value": true
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H443844607820"
},
"response": {
"status": "204 No Content"
},
"title": "Patch Tracking Information - Add Notification for a Shipment."
},
{
"description": "This code sample attempts to update an order tracking information to replace notify_payer, but the request fails due to invalid value in the request.",
"operationId": "orders.trackers.patch",
"request": {
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H443844607820"
},
"response": {
"body": {
"debug_id": "2f541ace12987",
"details": [
{
"description": "The value of a field is invalid.",
"field": "/notify_payer",
"issue": "INVALID_PARAMETER_VALUE",
"location": "body"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-INVALID_PARAMETER_VALUE",
"method": "GET",
"rel": "information_link"
}
],
"message": "Request is not well-formed, syntactically incorrect, or violates schema.",
"name": "INVALID_REQUEST"
},
"status": "400 Bad Request"
},
"title": "Patch Tracking Information - 400 Bad Request Error - Invalid Request."
},
{
"description": "This code sample attempts to update an Order Tracking information, but the API caller does not have permission to act on this resource.",
"operationId": "orders.trackers.patch",
"request": {
"body": [
{
"op": "add",
"path": "/notify_payer",
"value": true
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H443844607820"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "Authorization failed due to insufficient permissions.",
"name": "NOT_AUTHORIZED"
},
"status": "403 Forbidden"
},
"title": "Patch Tracking Information - 403 Forbidden."
},
{
"description": "This code sample attempts to update an Order Tracking information but the request fails as specified tracker id is not found.",
"operationId": "orders.trackers.patch",
"request": {
"body": [
{
"op": "add",
"path": "/notify_payer",
"value": true
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H443844607820"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "The specified resource does not exist.",
"name": "RESOURCE_NOT_FOUND"
},
"status": "404 Not Found"
},
"title": "Patch Tracking Information - 404 Not Found Error - Tracker ID Not Found."
},
{
"description": "This code sample attempts to update an order's Tracking information but the request fails as the tracker had been previously transitioned into the \"cancelled\" state.",
"operationId": "orders.trackers.patch",
"request": {
"body": [
{
"op": "replace",
"path": "items",
"value": [
{
"image_url": "https://www.example.com/example1.jpg",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"upc": {
"code": "upc001",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
},
{
"image_url": "https://www.example.com/example2.jpg",
"name": "NeoPhone",
"quantity": "2",
"sku": "sku02",
"upc": {
"code": "upc002",
"type": "UPC-A"
},
"url": "https://www.example.com/example"
}
]
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H443844607820"
},
"response": {
"body": {
"debug_id": "3178dbf457625",
"details": [
{
"description": "Cancelled trackers cannot be modified.",
"field": "path",
"issue": "CANNOT_PATCH_CANCELLED_TRACKER",
"location": "body",
"value": "/status"
}
],
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-NOT_PATCHABLE",
"method": "GET",
"rel": "information_link"
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"name": "UNPROCESSABLE_ENTITY"
},
"status": "422 Unprocessable Content"
},
"title": "Patch Tracking Information - 422 UNPROCESSABLE ENTITY Error - Cannot patch cancelled tracker."
},
{
"description": "This code sample attempts to update an Order Tracking information but the request fails due to an internal server error.",
"operationId": "orders.trackers.patch",
"request": {
"body": [
{
"op": "add",
"path": "/notify_payer",
"value": true
}
],
"headers": {
"Authorization": "Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ"
},
"method": "patch",
"path": "/v2/checkout/orders/5O190127TN364715T/trackers/8MC585209K746392H443844607820"
},
"response": {
"body": {
"debug_id": "b1d1f06c7246c",
"message": "An internal server error has occurred.",
"name": "INTERNAL_SERVER_ERROR"
},
"status": "500 Internal Server Error"
},
"title": "Patch Tracking Information - 500 Internal Server Error."
}
],
"server.callback": [
{
"description": "The PayPal callback server sends a request with the discount code provided by the buyer, along with the buyer's address and purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer applies a discount code. The merchant responds with the updated order details, reflecting the discount applied successfully.",
"operationId": "server.callback",
"request": {
"body": {
"id": "5O190127TN364715T",
"purchase_units": [
{
"amount": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "100.00"
},
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
],
"shipping_address": {
"admin_area_1": "TX",
"admin_area_2": "Dallas",
"country_code": "US",
"postal_code": "75001"
}
},
"method": "post",
"path": "/v2/checkout/orders/order-update-callback"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"purchase_units": {
"amount": {
"breakdown": {
"discount": {
"breakdown": [
{
"currency_code": "USD",
"description": "$10 off for summer sale",
"discount_code": "SUMMER_SALE",
"value": "10.00"
}
],
"currency_code": "USD",
"value": "10.00"
},
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "90.00"
},
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"options": [
{
"amount": {
"currency_code": "USD",
"value": "0.00"
},
"id": "FEDEX",
"label": "Free Shipping",
"selected": true,
"type": "SHIPPING"
}
]
}
}
},
"status": "200 OK"
},
"title": "Discount Code Callback Request - Adding a Discount Code"
},
{
"description": "The PayPal callback server sends a request with the discount code provided by the buyer, along with the purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer applies a discount code to an order that does not require shipping. The merchant responds with the updated order details, reflecting the discount applied successfully.",
"operationId": "server.callback",
"request": {
"body": {
"id": "5O190127TN364715T",
"purchase_units": [
{
"amount": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "100.00"
},
"items": [
{
"category": "DIGITAL_GOODS",
"description": "Digital E-book",
"name": "E-book",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
]
},
"method": "post",
"path": "/v2/checkout/orders/order-update-callback"
},
"response": {
"body": {
"id": "5O190127TN364715T"
},
"status": "200 OK"
},
"title": "Discount Code Callback Request - Adding a Discount Code - No Address"
},
{
"description": "The PayPal callback server sends a request with the discount code the buyer wants to remove, along with the buyer's address and purchase_units of the order, to the merchant listener URL. The request payload represents the event triggered when the buyer removes a discount code. The merchant responds with the updated order details, reflecting the discount removal.",
"operationId": "server.callback",
"request": {
"body": {
"id": "5O190127TN364715T",
"purchase_units": [
{
"amount": {
"breakdown": {
"discount": {
"currency_code": "USD",
"value": "10.00"
},
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "90.00"
},
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
],
"shipping_address": {
"admin_area_1": "TX",
"admin_area_2": "Dallas",
"country_code": "US",
"postal_code": "75001"
}
},
"method": "post",
"path": "/v2/checkout/orders/order-update-callback"
},
"response": {
"body": {
"id": "5O190127TN364715T",
"purchase_units": {
"amount": {
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "90.00"
},
"shipping": {
"currency_code": "USD",
"value": "0.00"
},
"tax_total": {
"currency_code": "USD",
"value": "10.00"
}
},
"currency_code": "USD",
"value": "100.00"
},
"items": [
{
"category": "PHYSICAL_GOODS",
"description": "Green XL",
"name": "T-Shirt",
"quantity": "1",
"sku": "sku01",
"tax": {
"currency_code": "USD",
"value": "10.00"
},
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
}
}
],
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"shipping": {
"options": [
{
"amount": {
"currency_code": "USD",
"value": "0.00"
},
"id": "FEDEX",
"label": "Free Shipping",
"selected": true,
"type": "SHIPPING"
}
]
}
}
},
"status": "200 OK"
},
"title": "Discount Code Callback Request - Removing a Discount Code"
},
{
"description": "The PayPal callback server sends request with a buyer's shipping address, and the purchase_units of the order, to the merchant listener URL. The request payload is an example of the event that will be sent as soon as the buyer is presented with the \"PayPal Buyer Approval\" page. The merchant responds with a the appropriate tax calculation for the shipping address, and a list of available shipping options.",
"operationId": "server.callback",
"request": {
"body": {
"id": "8HFTASDATTV",
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
],
"shipping_address": {
"admin_area_1": "TX",
"admin_area_2": "Dallas",
"country_code": "US",
"postal_code": "75001"
}
},
"method": "post",
"path": "/v2/checkout/orders/order-update-callback"
},
"response": {
"body": {
"id": "8HFTASDATTV"
},
"status": "200 OK"
},
"title": "Shipping Options Callback Request - Shipping Address Only Event"
},
{
"description": "The PayPal callback server sends request with a buyer's shipping address, the shipping option the buyer selected, and the purchase_units of the order, to the merchant listener URL. The merchant responds with a the appropriate tax calculation and breakdown for the given address and shipping option combination.",
"operationId": "server.callback",
"request": {
"body": {
"id": "5O190127TN364715T",
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b"
}
],
"shipping_address": {
"admin_area_1": "TX",
"admin_area_2": "Dallas",
"country_code": "US",
"postal_code": "75001"
}
},
"method": "post",
"path": "/v2/checkout/orders/order-update-callback"
},
"response": {
"body": {
"id": "8HFTASDATTV"
},
"status": "200 OK"
},
"title": "Shipping Options Callback Request - Shipping Address and Shipping Options Event"
}
]
}
}