On this page
No Headings
The create subscription request details.
objectplan_idrequiredstring^P-[A-Z0-9]*$The ID of the plan.
start_timestringppaas_date_time_v3^[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})$"Current time"The date and time when the subscription started, in Internet date and time format.
quantitystring^([0-9]+|([0-9]+)?[.][0-9]+)$The quantity of the product in the subscription.
shipping_amountobjectThe shipping charges.
currency_coderequiredstringThe three-character ISO-4217 currency code that identifies the currency.
valuerequiredstring^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$The value, which might be:
JPY that are not typically fractional.TND that are subdivided into thousandths.subscriberobjectpayer_v1The customer who approves and pays for the order. The customer is also known as the payer.
The customer who approves and pays for the order. The customer is also known as the payer.
The subscriber request information .
email_addressstringmerchant_common_email_address_v2(?:[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])+)\])The email address of the payer.
payer_idstringppaas_payer_id_v3^[2-9A-HJ-NP-Z]{13}$The PayPal-assigned ID for the payer.
nameobjectThe name of the party.
given_namestringWhen the party is a person, the party's given, or first, name.
surnamestringWhen 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.
phoneobjectThe phone number of the customer. Available only when you enable the Contact Telephone Number option in the Profile & Settings for the merchant's PayPal account. The phone.phone_number supports only national_number.
phone_typestring"FAX", "HOME", "MOBILE", "OTHER", "PAGER"The phone type.
phone_numberrequiredobjectThe phone number, in its canonical international E.164 numbering plan format.
national_numberrequiredstring^[0-9]{1,14}?$The national number, in its canonical international E.164 numbering plan format. 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).
shipping_addressobjectThe shipping details.
nameobjectThe name of the party.
full_namestringWhen the party is a person, the party's full name.
email_addressstringppaas_common_email_address_v2^(?:[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])+)\])$The email address of the recipient of the shipped items, which may belong to either the payer, or an alternate contact, for delivery.
phone_numberobjectThe phone number, in its canonical international E.164 numbering plan format.
country_coderequiredstring^[0-9]{1,3}?$The country calling code (CC), in its canonical international E.164 numbering plan format. 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).
national_numberrequiredstring^[0-9]{1,14}?$The national number, in its canonical international E.164 numbering plan format. 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).
typestring"SHIPPING", "PICKUP_IN_PERSON", "PICKUP_IN_STORE", "PICKUP_FROM_PERSON"^[0-9A-Z_]+$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.
optionsarrayAn array of shipping options that the payee or merchant offers to the payer to ship or pick up their items.
itemsobjectThe options that the payee or merchant offers to the payer to ship or pick up their items.
idrequiredstringA unique ID that identifies a payer-selected shipping option.
labelrequiredstringA description that the payer sees, which helps them choose an appropriate shipping option. For example, Free Shipping, USPS Priority Shipping, Expédition prioritaire USPS, or USPS yōuxiān fā huò. Localize this description to the payer's locale.
typestring"SHIPPING", "PICKUP", "PICKUP_IN_STORE", "PICKUP_FROM_PERSON"A classification for the method of purchase fulfillment.
amountobjectThe shipping cost for the selected option.
currency_coderequiredstringThe three-character ISO-4217 currency code that identifies the currency.
valuerequiredstring^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$The value, which might be:
JPY that are not typically fractional.TND that are subdivided into thousandths.selectedrequiredbooleanIf 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.
addressobjectThe portable international postal address. Maps to AddressValidationMetadata and HTML 5.1 Autofilling form controls: the autocomplete attribute.
address_line_1stringThe 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.
address_line_2stringThe second line of the address, for example, a suite or apartment number.
admin_area_2stringA city, town, or village. Smaller than admin_area_level_1.
admin_area_1stringThe 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:
postal_codestringThe postal code, which is the ZIP code or equivalent. Typically required for countries with a postal code or an equivalent. See postal code.
country_coderequiredstringppaas_common_country_code_v2^([A-Z]{2}|C2)$The 2-character ISO 3166-1 code that identifies the country or region.
Note: The country code for Great Britain isGBand notUKas used in the top-level domain names for that country. Use theC2country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
payment_sourceobjectThe payment source definition. To be eligible to create subscription using debit or credit card, you will need to sign up here (https://www.paypal.com/bizsignup/entry/product/ppcp). Please note, its available only for non-3DS cards and for merchants in US and AU regions.
cardobjectThe payment card to use to fund a payment. Can be a credit or debit card.
namestring^.{1,300}$The card holder's name as it appears on the card.
numberstring^[0-9]{13,19}$The primary account number (PAN) for the payment card.
expirystring^[0-9]{4}-(0[1-9]|1[0-2])$The card expiration year and month, in Internet date format For example: 2028-04
security_codestring^[0-9]{3,4}$The three- or four-digit security code of the card. Also known as the CVV, CVC, CVN, CVE, or CID. This parameter cannot be present in the request when payment_initiator=MERCHANT.
typestring"CREDIT", "DEBIT", "PREPAID", "STORE", "UNKNOWN"^[A-Z_]+$The payment card type.
brandstring"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", "UNKNOWN"^[A-Z_]+$The card brand or network. Typically used in the response.
billing_addressobjectThe portable international postal address. Maps to AddressValidationMetadata and HTML 5.1 Autofilling form controls: the autocomplete attribute.
address_line_1stringThe 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.
address_line_2stringThe second line of the address, for example, a suite or apartment number.
admin_area_2stringA city, town, or village. Smaller than admin_area_level_1.
admin_area_1stringThe 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:
postal_codestringThe postal code, which is the ZIP code or equivalent. Typically required for countries with a postal code or an equivalent. See postal code.
country_coderequiredstringppaas_common_country_code_v2^([A-Z]{2}|C2)$The 2-character ISO 3166-1 code that identifies the country or region.
Note: The country code for Great Britain isGBand notUKas used in the top-level domain names for that country. Use theC2country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
attributesobjectAdditional attributes associated with the use of this card.
customerobjectThe details about a customer in PayPal's system of record.
idstring^[0-9a-zA-Z_-]+$The unique ID for a customer generated by PayPal.
email_addressstringmerchant_common_email_address_v2(?:[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])+)\])Email address of the buyer 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. For all other use cases we do not expect partners/merchant to send email_address of their customer.
phoneobjectThe phone number of the buyer as provided to the merchant or on file with the merchant. The phone.phone_number supports only national_number.
phone_typestring"FAX", "HOME", "MOBILE", "OTHER", "PAGER"The phone type.
phone_numberrequiredobjectThe phone number, in its canonical international E.164 numbering plan format.
national_numberrequiredstring^[0-9]{1,14}?$The national number, in its canonical international E.164 numbering plan format. 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).
merchant_customer_idstring^[0-9a-zA-Z-_.^*$@#]+$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.
vaultobjectInstruction to vault the card based on the specified strategy.
store_in_vaultstring"ON_SUCCESS"^[0-9A-Z_]+$Defines how and when the payment source gets vaulted.
verificationobjectInstruction to optionally verify the card based on the specified strategy.
methodstring"SCA_ALWAYS", "SCA_WHEN_REQUIRED", "3D_SECURE", "AVS_CVV"^[0-9A-Z_]+$"SCA_WHEN_REQUIRED"The method used for card verification.
auto_renewalbooleanfalseDEPRECATED. Indicates whether the subscription auto-renews after the billing cycles complete.
application_contextobjectDEPRECATED. The application context, which customizes the payer experience during the subscription approval process with PayPal.
brand_namestring^.*$The label that overrides the business name in the PayPal account on the PayPal site.
localestringppaas_common_language_v3^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}|[0-9]{3}))?$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.
shipping_preferencestring"GET_FROM_FILE", "NO_SHIPPING", "SET_PROVIDED_ADDRESS"^[A-Z_]+$"GET_FROM_FILE"The location from which the shipping address is derived.
user_actionstring"CONTINUE", "SUBSCRIBE_NOW"^[A-Z_]+$"SUBSCRIBE_NOW"Configures the label name to Continue or Subscribe Now for subscription consent experience.
payment_methodobjectThe customer and merchant payment preferences.
payee_preferredstring"UNRESTRICTED", "IMMEDIATE_PAYMENT_REQUIRED"^[0-9A-Z_]+$"UNRESTRICTED"The merchant-preferred payment methods.
return_urlrequiredstringuriThe URL where the customer is redirected after the customer approves the payment.
cancel_urlrequiredstringuriThe URL where the customer is redirected after the customer cancels the payment.
custom_idstring^[\x20-\x7E]+The custom id for the subscription. Can be invoice id.
planobjectAn inline plan object to customise the subscription. You can override plan level default attributes by providing customised values for the subscription in this object.
billing_cyclesarrayAn array of billing cycles for trial billing and regular billing. The subscription billing cycle definition has to adhere to the plan billing cycle definition.
itemsobjectThe billing cycle details to override at subscription level. The subscription billing cycle definition has to adhere to the plan billing cycle definition.
pricing_schemeobjectThe active pricing scheme for this billing cycle. A free trial billing cycle does not require a pricing scheme.
versionintegerThe version of the pricing scheme.
fixed_priceobjectThe fixed amount to charge for the subscription. The changes to fixed amount are applicable to both existing and future subscriptions. For existing subscriptions, payments within 10 days of price change are not affected.
currency_coderequiredstringThe three-character ISO-4217 currency code that identifies the currency.
valuerequiredstring^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$The value, which might be:
JPY that are not typically fractional.TND that are subdivided into thousandths.pricing_modelstring"VOLUME", "TIERED"^[A-Z_]+$The pricing model for tiered plan. The tiers parameter is required.
tiersarrayAn array of pricing tiers which are used for billing volume/tiered plans. pricing_model field has to be specified.
itemsobjectThe pricing tier details.
starting_quantityrequiredstring^([0-9]+|([0-9]+)?[.][0-9]+)$The starting quantity for the tier.
ending_quantitystring^([0-9]+|([0-9]+)?[.][0-9]+)$The ending quantity for the tier. Optional for the last tier.
amountrequiredobjectThe pricing amount for the tier.
currency_coderequiredstringThe three-character ISO-4217 currency code that identifies the currency.
valuerequiredstring^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$The value, which might be:
JPY that are not typically fractional.TND that are subdivided into thousandths.create_timestringppaas_date_time_v3^[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})$The date and time when this pricing scheme was created, in Internet date and time format.
update_timestringppaas_date_time_v3^[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})$The date and time when this pricing scheme was last updated, in Internet date and time format.
sequencerequiredintegerThe 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.
total_cyclesintegerThe number of times this billing cycle gets executed. Trial billing cycles can only be executed a finite number of times (value between 1 and 999 for total_cycles). Regular billing cycles can be executed infinite times (value of 0 for total_cycles) or a finite number of times (value between 1 and 999 for total_cycles).
payment_preferencesobjectThe payment preferences to override at subscription level.
auto_bill_outstandingbooleanIndicates whether to automatically bill the outstanding amount in the next billing cycle.
setup_feeobjectThe initial set-up fee for the service.
currency_coderequiredstringThe three-character ISO-4217 currency code that identifies the currency.
valuerequiredstring^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$The value, which might be:
JPY that are not typically fractional.TND that are subdivided into thousandths.setup_fee_failure_actionstring"CONTINUE", "CANCEL"^[A-Z_]+$The action to take on the subscription if the initial payment for the setup fails.
payment_failure_thresholdintegerThe maximum number of payment failures before a subscription is suspended. For example, if payment_failure_threshold is 2, the subscription automatically updates to the SUSPEND state if two consecutive payments fail.
taxesobjectThe tax details.
percentagestringppaas_common_percentage_v2^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$The tax percentage on the billing amount.
inclusivebooleanIndicates whether the tax was already included in the billing amount.
merchant_inventoryMerchant's inventory identifier details for the WPS hosted button.