CreateRecurringPaymentsProfile API Operation (SOAP)

API

Last updated: Sept 18th, 5:30pm

Creates a recurring payments profile. You must invoke the CreateRecurringPaymentsProfile API operation for each profile you want to create. The API operation creates a profile and an associated billing agreement.

CreateRecurringPaymentsProfile Request Message

CreateRecurringPaymentsProfile Request Fields

Field Description

Token

xs:string

A timestamped token, the value of which was returned in the response to the first call to SetExpressCheckout. You can also use the token returned in the SetCustomerBillingAgreement response. Either this token or a credit card number is required. If you include both token and credit card number, the token is used and credit card number is ignored Call CreateRecurringPaymentsProfile once for each billing agreement included in SetExpressCheckout request and use the same token for each call. Each CreateRecurringPaymentsProfile request creates a single recurring payments profile.

CreditCard

ns:CreditCardDetailsType

Credit card information for recurring payments using direct payments. Either a token or a credit card number is required. If you include both token and credit card number, the token is used and credit card number is ignored.

RecurringPayments ProfileDetails

ns:RecurringPaymentsProfileDetails

(Required) You can include up to 10 recurring payments profiles per request. The order of the profile details must match the order of the billing agreement details specified in the SetExpressCheckout request.

ScheduleDetails

ns:ScheduleDetailsType

(Required) Describes the recurring payments schedule, including the regular payment period, whether there is a trial period, and the number of payments that can fail before a profile is suspended.

RecurringPaymentsProfileDetailsType Fields

Field Description

SubscriberName

xs:string

(Optional) Full name of the person receiving the product or service paid for by the recurring payment. If not present, the name in the buyer's PayPal account is used.

Character length and limitations: 32 double-byte characters

SubscriberShipping Address

ns:AddressType

(Optional) The subscriber's shipping address associated with this profile, if applicable. If not specified, the ship-to address from buyer's PayPal account is used.

BillingStartDate

xs:dateTime

(Required) The date when billing for this profile begins.

Character length and limitations: Must be a valid date, in UTC/GMT format; for example, 2013-08-24T05:38:48Z. No wildcards are allowed.

ProfileReference

xs:string

(Optional) The merchant's own unique reference or invoice number.

Character length and limitations: 127 single-byte alphanumeric characters

ScheduleDetailsType Fields

Field Description

Description

xs:string

(Required) Description of the recurring payment.

Character length and limitations: 127 single-byte alphanumeric characters

ActivationDetails

ns:ActivationDetailsType

(Optional) Information about activating a profile, such as whether there is an initial non-recurring payment amount immediately due upon profile creation and how to override a pending profile PayPal suspends when the initial payment amount fails.

TrialPeriod

ns:BillingPeriodDetailsType

(Optional) Trial period for this schedule.

PaymentPeriod

ns:BillingPeriodDetailsType

(Required) Regular payment period for this schedule.

MaxFailedPayments

xs:int

(Optional) Number of scheduled payments that can fail before the profile is automatically suspended. An IPN message is sent to the merchant when the specified number of failed payments is reached.

Character length and limitations: Number string representing an integer

AutoBillOutstandingAmount

ns:AutoBillType

(Optional) Indicates whether you would like PayPal to automatically bill the outstanding balance amount in the next billing cycle. The outstanding balance is the total amount of any previously failed scheduled payments that have yet to be successfully paid. Value is:

  • NoAutoBill — PayPal does not automatically bill the outstanding balance.

  • AddToNextBilling — PayPal automatically bills the outstanding balance.

BillingPeriodDetailsType Fields

Field Description

PaymentPeriod.BillingPeriod

ns:BillingPeriodType

(Required) Unit for billing during this subscription period. Value is:

  • Day

  • Week

  • SemiMonth

  • Month

  • Year

For SemiMonth, billing is done on the 1st and 15th of each month.

PaymentPeriod.BillingFrequency

xs:int

(Required) Number of billing periods that make up one billing cycle.

The combination of billing frequency and billing period must be less than or equal to one year. For example, if the billing cycle is Month, the maximum value for billing frequency is 12. Similarly, if the billing cycle is Week, the maximum value for billing frequency is 52.

PaymentPeriod.TotalBillingCycles

xs:int

(Optional) Number of billing cycles for payment period.

  • For the regular payment period, if no value is specified or the value is 0, the regular payment period continues until the profile is canceled or deactivated.

  • For the regular payment period, if the value is greater than 0, the regular payment period will expire after the trial period is finished and continue at the billing frequency for TotalBillingCycles cycles.

PaymentPeriod.Amount

cc:BasicAmountType

(Required) Billing amount for each billing cycle during this payment period. This amount does not include shipping and tax amounts.

Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

TrialPeriod.BillingPeriod

ns:BillingPeriodType

Unit for billing during this subscription period; required if you specify an optional trial period. Value is:

  • Day

  • Week

  • SemiMonth

  • Month

  • Year

For SemiMonth, billing is done on the 1st and 15th of each month.

TrialPeriod.BillingFrequency

xs:int

Number of billing periods that make up one billing cycle; required if you specify an optional trial period.

The combination of billing frequency and billing period must be less than or equal to one year. For example, if the billing cycle is Month, the maximum value for billing frequency is 12. Similarly, if the billing cycle is Week, the maximum value for billing frequency is 52.

TrialPeriod.TotalBillingCycles

xs:int

(Optional) Number of billing cycles for trial payment period.

TrialPeriod.Amount

cc:BasicAmountType

Billing amount for each billing cycle during this payment period; required if you specify an optional trial period. This amount does not include shipping and tax amounts.

Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ShippingAmount

cc:BasicAmountType

(Optional) Shipping amount for each billing cycle during this payment period.

Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

TaxAmount

cc:BasicAmountType

(Optional) The tax amount for each billing cycle during this payment period.

Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ActivationDetailsType Fields

Field Description

InitialAmount

cc:BasicAmountType

(Optional) Initial non-recurring payment amount due immediately upon profile creation. Use an initial amount for enrollment or setup fees.

Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

FailedInitialAmountAction

ns:FailedPaymentAction

(Optional) Action you can specify when a payment fails. Value is:

  • ContinueOnFailure — By default, PayPal suspends the pending profile in the event that the initial payment amount fails. You can override this default behavior by setting this field to ContinueOnFailure. Then, if the initial payment amount fails, PayPal adds the failed payment amount to the outstanding balance for this recurring payment profile.

    When you specify ContinueOnFailure, a success code is returned to you in the CreateRecurringPaymentsProfile response and the recurring payments profile is activated for scheduled billing immediately. You should check your IPN messages or PayPal account for updates of the payment status.

  • CancelOnFailure — If this field is not set or you set it to CancelOnFailure, PayPal creates the recurring payment profile, but places it into a pending status until the initial payment completes. If the initial payment clears, PayPal notifies you by IPN that the pending profile has been activated. If the payment fails, PayPal notifies you by IPN that the pending profile has been canceled.

AddressType (Shipping) Fields

Field Description

Name

xs:string

Person's name associated with this shipping address. It is required if using a shipping address.

Character length and limitations: 32 double-byte characters

Street1

xs:string

First street address. It is required if using a shipping address.

Character length and limitations: 100 single-byte characters

Street2

xs:string

(Optional) Second street address.

Character length and limitations: 100 single-byte characters

CityName

xs:string

Name of city. It is required if using a shipping address.

Character length and limitations: 40 single-byte characters

StateOrProvince

xs:string

State or province.
Required for transactions only if the address is in one of the following countries: Argentina, Brazil, Canada, China, Indonesia, India, Japan, Mexico, Thailand or USA. See the list of PayPal state codes.

Character length and limitations: 40 single-byte characters

PostalCode

xs:string

U.S. ZIP code or other country-specific postal code. It is required if using a U.S. shipping address; may be required for other countries.

Character length and limitations: 20 single-byte characters

Country

ebl:CountryCodeType

Country code. It is required if using a shipping address.

Character length and limitations: 2 single-byte characters

Phone

xs:string

(Optional) Phone number.

Character length and limitations: 20 single-byte characters

CreditCardDetailsType Fields

Field Description

CreditCardType

ebl:CreditCardType

(Optional) Type of credit card. For UK, only Maestro, Mastercard, Discover, and Visa are allowable. For Canada, only Mastercard and Visa are allowable and Interac debit cards are not supported. Value is:

  • Visa
  • Mastercard
  • Discover
  • Amex
  • JCB
  • Maestro: See note.

Character length and limitations: Up to 10 single-byte alphabetic characters

CreditCardNumber

xs:string

(Required) Credit card number.

Character length and limitations: Numeric characters only with no spaces or punctuation. The string must conform with modulo and length required by each credit card type.

ExpMonth

xs:int

(Required) Credit card expiration month.

Character length and limitations: 2 single-byte numeric characters, including leading zero

ExpYear

xs:int

(Required) Credit card expiration year.

Character length and limitations: 4 single-byte numeric characters

CVV2

xs:string

Card Verification Value, version 2. Your Merchant Account settings determine whether this field is required. To comply with credit card processing regulations, you must not store this value after a transaction has been completed.

Character length and limitations: For Visa, Mastercard, and Discover, the value is exactly 3 digits. For American Express, the value is exactly 4 digits.

CardOwner

ns:PayerInfoType

(Required) Details about the owner of the credit card.

StartMonth

xs:int

(Optional) Month that Maestro card was issued.

Character length and limitations: 2-digit, zero-filled if necessary

StartYear

xs:int

(Optional) Year that Maestro card was issued.

Character length and limitations: 4 digits

IssueNumber

xs:string

(Optional) Issue number of Maestro card.

Character length and limitations: 2 numeric digits maximum

PayerInfoType Fields

Field Description

Payer

ebl:EmailAddressType

(Required) Email address of buyer.

Character length and limitations: 127 single-byte characters

PayerID

ebl:UserIDType

(Optional) Unique PayPal Customer Account identification number.

Character length and limitations:13 single-byte alphanumeric characters

PayerStatus

ebl:PayPalUser StatusCodeType

(Optional) Status of buyer. Value is:

  • verified

  • unverified

Character length and limitations: 10 single-byte alphabetic characters

PayerName

ebl:PersonNameType

(Optional) First and last name of buyer.

PayerCountry

ebl:CountryCodeType

(Optional) Buyer's country of residence in the form of ISO standard 3166 two-character country codes.

Character length and limitations: 2 single-byte characters

PayerBusiness

xs:string

(Optional) Buyer's business name.

Character length and limitations: 127 single-byte characters

Address

xs:string

(Optional) Buyer's shipping address information.

PayerNameType Fields

Field Description

Salutation

xs:string

(Optional) Buyer's salutation.

Character length and limitations: 20 single-byte characters

FirstName

ebl:PersonNameType

(Optional) Buyer's first name.

Character length and limitations: 64 double-byte characters

MiddleName

ebl:NameUser

(Optional) Buyer's middle name.

Character length and limitations: 64 double-byte characters

LastName

ebl:NameType

(Optional) Buyer's last name.

Character length and limitations: 64 double-byte characters

Suffix

ebl:SuffixType

(Optional) Buyer's suffix.

Character length and limitations: 12 single-byte characters

AddressType Fields

Field Description

Street1

xs:string

(Required) First street address.

Character length and limitations: 100 single-byte characters

Street2

xs:string

(Optional) Second street address.

Character length and limitations: 100 single-byte characters

CityName

xs:string

(Required) Name of city.

Character length and limitations: 40 single-byte characters

StateOrProvince

xs:string

State or province.
Required for transactions only if the address is in one of the following countries: Argentina, Brazil, Canada, China, Indonesia, India, Japan, Mexico, Thailand or USA. See the list of PayPal state codes.

Character length and limitations: 40 single-byte characters

Country

ebl:CountryCodeType

(Required) Country code.

Character length and limitations: 2 single-byte characters

PostalCode

xs:string

(Required) U.S. ZIP code or other country-specific postal code.

Character length and limitations: 20 single-byte characters

Phone

xs:string

(Optional) Phone number.

Character length and limitations: 20 single-byte characters

SoftDescriptor

xs:string

(Optional) Information that is usually displayed in the account holder's statement, for example, <Your-Not-For-Profit> <State>, <Your-Not-For-Profit> <Branch-Name>, <Your-Website> dues or <Your-Website> list fee.

Character length and limitations: 23 alphanumeric characters, can include the special characters dash (-) and dot (.) only. Asterisks (*) are NOT permitted. If it includes a space character ( ), enclose the "<Soft-Descriptor>" value in double quotes.
SoftDescriptorCity (Optional) A unique phone number, email address or URL, which is displayed on the account holder's statement. PayPal recommends passing a toll-free phone number because, typically, this is the easiest way for a buyer to contact the seller in the case of an inquiry.

Character length and limitations: 13 characters including special characters, such as, space, !, ", #, $, %, &, ', (\`, \`), +, -,*, /, :, ;, <\`, \`=\`, \`>, ?, @, comma and period.

If it includes the space character ( ), enclose the "<Soft-Descriptor-City>" value in double quotes.

PaymentDetailsItemType Fields

Field Description

ItemCategory

ns:ItemCategoryType

Indicates whether the item is digital or physical. For digital goods, this field is required and must be set to Digital to get the best rates. Is one of the following values:

  • Digital

  • Physical

This field is introduced in version 69.0.

Name

xs:string

Item name. This field is required when ItemCategory is passed.

Character length and limitations: 127 single-byte characters

This field is introduced in version 69.0.

Description

xs:string

(Optional) Item description.

Character length and limitations: 127 single-byte characters

This field is introduced in version 69.0.

Amount

ebl:BasicAmountType

Cost of item. This field is required when ItemCategory is passed.

Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

This field is introduced in version 69.0.

Number

xs:string

(Optional) Item number.

Character length and limitations: 127 single-byte characters

This field is introduced in version 69.0.

Quantity

xs:integer

Item quantity. This field is required when ItemCategory is passed.

Character length and limitations: Any positive integer

This field is introduced in version 69.0.

Tax

ebl:BasicAmountType

(Optional) Item sales tax.

Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

This field is introduced in version 69.0.

CreateRecurringPaymentsProfile Response Message

CreateRecurringPaymentsProfile Response Fields

Field Description

ProfileID

xs:string

A unique identifier for future reference to the details of this recurring payment.

Character length and limitations: Up to 14 single-byte alphanumeric characters.

ProfileStatus

ns:RecurringPaymentsProfileStatusType

Status of the recurring payment profile.

  • ActiveProfile — The recurring payment profile has been successfully created and activated for scheduled payments according the billing instructions from the recurring payments profile.

  • PendingProfile — The system is in the process of creating the recurring payment profile. Please check your IPN messages for an update.

TransactionID

xs:string

The transaction ID from the direct credit card initial payment.

Character length and limitations: 17 characters. Orders transactions have 19 characters.

DCCProcessorResponse

xs:string

The response from the direct credit card initial payment.

DCCReturnCode

xs:string

The return code if the direct credit card initial payment fails.

Additional information

We use cookies to improve your experience on our site. May we use marketing cookies to show you personalized ads? Manage all cookies