Ready to Pay

Get available payment methods for a specific transaction or a purchase.

The payment methods order shown to a customer SHOULD be the same as the order in the response.

The list of available methods is generated from available Gateway Accounts intersected with the last matched Rules Engine adjust-ready-to-pay action on ready-to-pay-requested event.

If there were no actions matched for the specific request, then all methods supported by the Gateway Accounts are sent.

To invert this behavior place an all-matching rule at the very end of the ready-to-pay-requested event in Rules Engine with an empty paymentMethods property of the adjust-ready-to-pay action.

SecuritySecretApiKey or JWT
Request
Request Body schema: application/json
One of:
currency
required
string (CurrencyCode) = 3 characters

ISO 4217 alphabetic currency code.

amount
required
number <double>

The amount.

websiteId
required
string <= 50 characters

The website identifier string.

required
object (Risk metadata)

Risk metadata used for 3DS and risk scoring.

ipAddress
string <ipv4 or ipv6>

The customer's IP.

fingerprint
string <= 50 characters

The fingerprint.

object (HttpHeaders)

The HTTP headers.

property name*
additional property
string
object (Browser data)

Browser data used for 3DS and risk scoring.

colorDepth
required
integer [ 1 .. 48 ]

The browser's color depth in bits per pixel obtained using the screen.colorDepth property.

isJavaEnabled
required
boolean

Whether Java is enabled in a browser or not. Value is returned from the navigator.javaEnabled property.

language
required
string <= 8 characters

The browser's language settings returned from the navigator.language property.

screenWidth
required
integer [ 0 .. 65535 ]

The browser's screen width returned from the screen.width property.

screenHeight
required
integer [ 0 .. 65535 ]

The browser's screen height returned from the screen.height property.

timeZoneOffset
required
integer [ -1410 .. 1410 ]

The browser's time zone offset in minutes from UTC. A positive offset indicates the local time is behind UTC, and negative is ahead. Can find it with (new Date()).getTimezoneOffset() property.

object (Extra data)

Third party data used for risk scoring.

kountFraudSessionId
string [ 10 .. 32 ]

Alpha-numeric fraudSessionId as provided by the Kount SDK.

payPalMerchantSessionId
string [ 1 .. 64 ]

MerchantSessionID as generated by the PayPal Fraudnet SDK.

threatMetrixSessionId
string [ 1 .. 128 ] [a-zA-Z0-9_-]+

A temporary identifier that is unique to the visitor's session and passed to ThreatMetrix.

customerId
string (CustomerId) <= 50 characters

The customer resource ID. Defaults to UUID v4.

object

The billing address.

firstName
string or null <= 45 characters ^[\w\s\-\pL,.']+$

The contact first name.

lastName
string or null <= 45 characters ^[\w\s\-\pL,.']+$

The contact last name.

organization
string or null <= 255 characters ^[\w\s\-\pL,.'&]+$

The contact organization.

address
string or null <= 60 characters ^[\w\s\-\/\pL,.#;:()']+$

The contact street address.

address2
string or null <= 60 characters ^[\w\s\-\/\pL,.#;:()']+$

The contact street address (second line).

city
string or null <= 45 characters ^[\w\s\-\pL,.']+$

The contact city.

region
string or null <= 45 characters ^[\w\s\-\/\pL,.#;:()']+$

The contact region (state).

country
string or null <= 2 characters ^[A-Z]{2}$

The contact country ISO Alpha-2 code.

postalCode
string or null <= 10 characters ^[\w\s\-]+$

The contact postal code.

Array of objects (ContactPhoneNumbers)

The list of phone numbers.

Array
label
required
string <= 45 characters

The phone label.

value
required
string <= 50 characters

The phone value.

primary
boolean

True if phone is primary.

Array of objects (ContactEmails)

The list of emails.

Array
label
required
string <= 45 characters

The email label.

value
required
string <email> <= 255 characters

The email value.

primary
boolean

True if email is primary.

dob
string or null <date>

The contact's date of birth in ISO-8601 format (yyyy-mm-dd).

jobTitle
string or null <= 255 characters ^[\w\s\-\/\pL,.#;:()']+$

The contact's job title.

Responses
200

Payment methods retrieved.

Response Schema: application/json
Array
Any of:
method
required
string

The payment method.

Value: "payment-card"
(Apple Pay Digital Wallet (object or null)) or (Google Pay Digital Wallet (object or null))

The specific feature (for example, digital wallet or a processor) of this method. If method doesn't have any features - will be null.

One of:

The specific feature (for example, digital wallet or a processor) of this method. If method doesn't have any features - will be null.

name
string (ApplePayFeatureName)

The feature name.

Value: "Apple Pay"
displayName
string

A string of 64 or fewer UTF-8 characters containing the canonical name for your store, suitable for display. Don’t localize the name.

country
string (DigitalWalletCountry) ^[A-Z]{2}$

The ISO 3166 alpha-2 country code where the payment is processed. This is often the location for settling the payment. Consult with your payment service provider (PSP) to determine the appropriate country code.

brands
Array of strings (PaymentCardBrand) non-empty

The list of supported brands.

Items Enum: "Visa" "MasterCard" "American Express" "Discover" "Maestro" "Solo" "Electron" "JCB" "Voyager" "Diners Club" … 4 more
filters
Array of strings (ReadyToPayMethodFilters)

For the method to be applicable any of the following filters should match. If no filters are sent, then no restrictions applied. This follows our standard filter format.

401

Unauthorized access, invalid credentials were used.

403

Access forbidden.

422

Invalid data was sent.

post/ready-to-pay
Request samples
application/json
{
  • "currency": "USD",
  • "amount": 0,
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "websiteId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "billingAddress": {
    },
  • "riskMetadata": {
    }
}
Response samples
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]