Reference · API Reference
Pay by Bank API Endpoints
Details of API endpoints relevant to Pay by Bank.
Process a Payment
POST/acceptor/rest/transactions/{instId}/paymentProcess a Pay by Bank payment#
description:
Creates a primary Pay by Bank payment transaction for the given installation
authorization:HTTP Basic
content-type: application/json
path parameters:
{
- instIdstringMandatoryThe installation id
}
request body:
shared schema
advancedPayments/primary-manage-rest-request{
- customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)MandatoryThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - callbacks {advancedPayments/callback-request-details
- expiryNotification {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - preAuthCallback {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - postAuthCallback {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - transactionNotification {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
}
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, including loan repayments and other credit-related activities. UK- and Europe-based merchants with merchant category code (MCC) 6012, and some merchants coded MCC 6051 or MCC 7299, are required to provide this information about the primary recipient, who may be different from the customer making payment. Consult your acquirer if you are not sure whether you should submit this. Cannot be submitted in conjunction with accountFunding.
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. If the name is longer than six characters, then provide the first six. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. If this is a PAN, then provide the first six and last four digits of the PAN. Otherwise, provide up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - clientInfoDetails {advancedPayments/client-info-details
- sdkVersionstringMandatory
- merchantAppNamestringMandatory
- merchantAppVersionstringMandatory
- sdkInstallIdstringMandatory
- osFamilystringMandatory
- osNamestringMandatory
- modelNamestringMandatory
- modelFamilystringMandatory
- manufacturerstringMandatory
- typestringMandatory
- screenResstringMandatory
- screenDpiinteger (int32)Mandatory
} - schedule {advancedPayments/schedule-definition
- startDatestring (date)The date the schedule becomes active and, if relevant that epiode calculations start from
- timeOfDaystring (time)The time of day that any episodes will be triggered, as HH:mm:ss
- frequency {ConditionaladvancedPayments/frequencyOne and only one of Fixed, Frequency or Pattern must be provided
- unitstringMandatoryPossible values: DAY, WEEK, MONTH, YEARunit must be provided for a frequency schedule
- quantityinteger (int32)default: 1
- ratestringPossible values: FIXED, RELATIVEdefault: RELATIVE
} - pattern {ConditionaladvancedPayments/patternOne and only one of Fixed, Frequency or Pattern must be provided
- dayOfWeekstringPossible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAYThe specific day of the week to peform the transaction
- daysOfWeekarray (string items)Possible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAYThe specific days of the week to peform the transaction
- dayOfMonthinteger (int32)There specific day of the month to peform the transaction (up to 31, in shorter months this will run on the last day of the month)
- daysOfMontharray (int32 items)The specific days of the month to peform the transaction (up to 31, in shorter months this will run on the last day of the month)
- weekOfMonthinteger (int32)The specific week of the month to peform the transaction (up to 4)
- weeksOfMontharray (int32 items)The specific weeks of the month to peform the transaction (up to 4)
- monthOfYearstringPossible values: JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
- monthsOfYeararray (string items)Possible values: JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
} - fixedarray (date items)Conditionalthe dates on which an episode will be triggered. One and only one of Fixed, Frequency or Pattern must be provided
- terminator {advancedPayments/terminator
- episodeLimitinteger (int32)Conditionalthe number of episodes to run before the schedule is complete
- endOnstring (date)Conditionalthe scheduler will not run after this date. If there is an episode due on this date, it will be run.
- suspend {advancedPayments/suspend
- failureCountinteger (int32)The number episode failures before the Schedule suspends (this should be higher than the maximum retry count)
}
} - retry {advancedPayments/retry
- unitstringMandatoryPossible values: HOUR, DAY, WEEK, MONTHcombined with quantity when and should a retry be attempted
- quantityinteger (int32)combined with unit when and should a retry be attempted
- maxRetriesinteger (int32)How many retries shoudl be attewmpted before the episode fails.
- processWhileRetryingbooleancontinue to process scheduled episodes while retrying a failed epsiode. default: false.
- catchupAfterRetryingbooleanprocess any episodes missed while retrying a failed epsiode. default: false.
} - amountsarray (number items)specific amounts to process in order. If there are less amounts than episodes the final amount will repeat. If no amounts are specified the amount on the original transaction will be used.
- merchantRefstringA merchant defined reference to be added to the repeated repeats triggered by the schedule. If the place-holder {DATE} is included this will be replaced by the date the payment is actually processed in yyyy-MM-dd format. If the place-holder {EPISODE_INDEX} is used this will be replaced with the index of the episode which triggered the transaction.
- descriptionstringA merchant defined description to be added to the repeated repeats triggered by the schedule. If the place-holder {DATE} is included this will be replaced by the date the payment is actually processed in yyyy-MM-dd format. If the place-holder {EPISODE_INDEX} is used this will be replaced with the index of the episode which triggered the transaction.
} - transaction {MandatoryadvancedPayments/primary-transaction-detailsDetails of the transaction you want to create.
- currencystring (≤ 255 chars)MandatoryThe currency of your Customer's transaction. Use the 3 character ISO-4217 code.
- amountfloatMandatoryThe amount of your Customer's transaction.
- descriptionstring (≤ 255 chars)The description of the transaction. Maximum length: 255.
- merchantRefstring (≤ 255 chars)Your reference for the transaction. Max length: 255. It's recommended that you keep this unique.
- commerceTypestringMandatoryPossible values: ECOM, MOTO, CNPThe commerce type for your Customer's transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe sales channel for your Customer's transaction.
- deferredbooleanIndicates if you want the Payment to be Authorised and Captured separately.
- recurringbooleanSet this field if you want to start a recurring Continuous Authority relationship from this transaction.
- instalmentbooleanSet this field if you want to start an instalment Continuous Authority relationship from this transaction.
- billingDescriptorstring
- customerInitiatedboolean
- continuousAuthorityAgreement {ConditionaladvancedPayments/continuous-authority-agreementThe continuous authority agreement established with the cardholder. Required if you want to process a transaction initiating a recurring or instalment series using 3DSv2
- minFrequencyinteger (int32, min 1, max 9999)ConditionalMinimum number of days expected between payments in a recurring or instalment sequence. Must be >= 1.
- expirystring (date)ConditionalDate (YYYY-MM-DD) at which recurring/instalment agreement expires, or at which it will need to be re-authenticated in order to continue. Must be in the future.
- numberOfInstalmentsinteger (int32, min 2, max 999)ConditionalTotal number of payments in an instalment sequence - including this one, if starting with a payment. Required only for instalments; must be >= 2.
}
} - paymentMethod {MandatoryadvancedPayments/payment-method
- registeredbooleanIndicates if the supplied card payment method should be registered. If no value is supplied true is assumed. This field will not be accepted for non-card payment methods.
- paymentAccountFingerprintstring (≤ 255 chars)
- card {ConditionaladvancedPayments/full-card-payment-detailsUse if you want to provide your Customer's card details. This section is mandatory if you are not providing a token (merchant or CardLock) or details of the Customer's default card.
- panstring (≤ 255 chars)MandatoryThe card number.
- cardLockTokenstringThe CardLock token for the card.
- cv2string (≤ 255 chars)The Card Security Code (CSC, CV2, CVV).
- expiryDatestring (≤ 255 chars)MandatoryThe expiry date for the card. Provide as MMYY.
- startDatestring (≤ 255 chars)The start date for the card. Provide as MMYY.
- issueNumberinteger (int32)The issue number for the card.
- cardTypestring (≤ 255 chars)The type of the card.
- nicknamestring (≤ 255 chars)The name the Customer provides for their card to allow easy selection where they register multiple cards. Maximum 20 characters.
- cardHolderNamestring (≤ 255 chars)The name printed on the card.
- defaultCardboolean (default false)Indicates if the card being used should become the Customer's default card.
} - cardToken {advancedPayments/card-token-payment-detailsUse if you want to use tokenised card details from a previous transaction.
- tokenstringMandatoryThe token of a previously used card.
- cv2string (≤ 255 chars)The Card Security Code (CSC, CV2, CVV).
- cardUpdates {advancedPayments/card-updatesUse if you are updating card details with the transaction.
- nicknamestring (≤ 255 chars)The name the Customer provides for their card to allow easy selection where they register multiple cards. Maximum 20 characters.
- expiryDatestring (≤ 255 chars)The expiry date for the card. Provide as MMYY.
- startDatestring (≤ 255 chars)The start date for the card. Provide as MMYY.
- clearStartDateboolean
- issueNumberinteger (int32)The issue number for the card.
- clearIssueNumberboolean
- defaultCardboolean (default false)Indicates if the card being used should become the Customer's default card.
}
} - fromCustomer {ConditionaladvancedPayments/from-customer-payment-detailsUse if you want to use your Customer's default card. This section is mandatory if you are not providing a token or full card details.
- cv2string (≤ 255 chars)The Customer's Card Security Code (CSC, CV2, CVV).
} - paypal {ConditionaladvancedPayments/pay-pal-payment-detailsInclude if the payment is being made with PayPal.
- returnUrlstringMandatoryThe location where the Customer will be redirected after he finishes the PayPal session.
- cancelUrlstringMandatoryThe location where the Customer will be redirected if the cancels the PayPal session.
- accessTokenstringThe PayPal access token to be used in the PayPal session for "seamless checkout". If not provided or not valid at the time of use, the customer will be redirected to the PayPal login.
- bnCodestring
- payeeAccountstring
- oneTouchboolean
} - visaCheckout {ConditionaladvancedPayments/visa-checkout-payment-details
- callIdstring (1–48 chars, pattern [a-zA-Z0-9-]+)MandatoryVisa Checkout call identifier
} - billingAddress {MandatoryadvancedPayments/postal-addressThe billing address of the Customer. Will be used for AVS checks. We'll save the billing address when the customer makes their first payment. Providing a billing address for subsequent payments will update the address we've saved if you send new, empty or no values for each field.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)MandatoryPossible values: GBRThe 3 character ISO-3166-1 code for the address country.Must be GBR.
} - reuse {advancedPayments/payment-method-reuse
- storagestringPossible values: NEW, EXISTING, NONESpecifies whether the payment credentials for this transaction will be stored, are being reused, or will not be stored. When not provided, this will be calculated as described in the Stored Credentials Framework. This field may not be provided unless a value for customerInitiated is also provided. When that value is "false", then the only valid value for this field is "EXISTING".
- agreementstringPossible values: RECURRING, INSTALMENT, ADHOCSpecifies the agreement under which stored credentials will be used/are being reused. When not provided, this will be calculated as described in the Stored Credentials Framework. When credentials may be stored for multiple purposes, use the broadest value possible, i.e. "ADHOC". This field must be provided whenever a value of "NEW" or "EXISTING" is supplied for storage. It may not be provided when storage is "NONE".
- originalSchemeReferencestringScheme reference corresponding to the transaction that first stored a payment credential, if available. If a value other than "EXISTING" is provided for storage, then this field may not be provided.
} - applepay {ConditionaladvancedPayments/apple-pay-payment-details
- savedAccountTokenstringConditionalUse if you want to use tokenised card details from a previous transaction.
- paymentData {ConditionaladvancedPayments/apple-pay-payment-dataThese fields are supplied by the apple pay session object
- versionstring (1–2147483647 chars)Mandatory
- datastring (1–2147483647 chars)Mandatory
- signaturestring (1–2147483647 chars)Mandatory
- header {MandatoryadvancedPayments/apple-pay-payment-data-header
- applicationDatastringMandatory
- ephemeralPublicKeystring (1–2147483647 chars)Mandatory
- publicKeyHashstring (1–2147483647 chars)Mandatory
- transactionIdstringMandatory
}
} - paymentMethod {ConditionaladvancedPayments/apple-pay-payment-method
- displayNamestring (1–2147483647 chars)Mandatory
- networkstring (1–2147483647 chars)Mandatory
- typestring (1–2147483647 chars)Mandatory
} - transactionIdentifierstringConditional
} - googlepay {ConditionaladvancedPayments/google-pay-payment-detailsAll of the data in this section is returned in the Google Pay payment method data response.
- apiVersionstringConditional
- savedAccountTokenstringThe unique payment method token from a previously successful Google Pay transaction. The token can represent either a Google Pay non-tokenized card (FPAN) or an Android device token (DPAN) payment method.
- paymentData {ConditionaladvancedPayments/google-pay-payment-data
- tokenstring (1–2147483647 chars)Mandatory
} - paymentMethod {ConditionaladvancedPayments/google-pay-payment-method
- displayNamestring (1–2147483647 chars)Mandatory
- networkstring (1–2147483647 chars)MandatoryThe card network.
- detailsstring (1–2147483647 chars)MandatoryThe card details as provided by the Google Pay API. This is the last 4 digits of the card.
- cardHolderNamestring (1–2147483647 chars)MandatoryThe cardholder name for the Google Pay payment method.
}
} - openbanking {MandatoryadvancedPayments/open-banking-payment-details
- returnUrlstringMandatoryThe URL that the user will be returned to after the payment has been completed.The customer is returned to this URL after authorising the payment.
- modestringPossible values: REDIRECTThe Pay by Bank integration mode.Only REDIRECT is supported.
}
} - customer {advancedPayments/request-customer-details
- createboolean (default true)
- registeredbooleanIndicates if we should register your customer; false if you do not wish to register your customer, otherwise set to true, default value is true.
- updateboolean (default true)Indicates if you want to update the Customer's details with the transaction.
- merchantRefstring (≤ 255 chars)ConditionalYour reference for the Customer. Not required if registered is set to false, mandatory otherwise.
- idstring (≤ 255 chars)Our ID for the Customer where they are already registered with us.
- displayNamestring (≤ 255 chars)ConditionalThe Customer's name. Not required if registered is set to false, mandatory otherwise.
- billingAddress {advancedPayments/postal-addressThe address of the Customer.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - emailstring (≤ 255 chars)Email address for the Customer.
- dobstring (≤ 255 chars)Date of birth for the Customer.
- dateOfBirthstring (date)
- telephonestring (≤ 255 chars)Telephone number for the customer. For best results, use international format, e.g. "+441234567890".
- defaultCurrencystring (≤ 255 chars)The Customer's default currency.
- ipstring (≤ 255 chars)The Customer's IP address.
} - transactionOptions {advancedPayments/transaction-options
- cardFraudManagement {advancedPayments/card-fraud-management
- cardDuplicationstringPossible values: IGNORE
- cardRemovalstringPossible values: IGNORE
} - motoIgnoreCustomerIPboolean
- do3DSecurebooleanIndicates if the transaction should be processed with 3DS. This will override account configuration for 3DS.
- sendEmailReceiptbooleanIf true, an email receipt will be sent for this transaction. If false, no receipt will be sent. If not present, your account configuration determines if an email is sent.
- providerstringPossible values: SAFETYPAY
- provisionNetworkTokenbooleanSet false to opt out of provisioning a token Omit or set true to provision according to account configuration.
} - browserInfo {advancedPayments/browser-info-details
- deviceCategorystring
- acceptHeaderstring (≤ 255 chars)
- userAgentHeaderstring (≤ 2048 chars)The Customer's user agent.
} - verification {advancedPayments/verificationDetails about the verification.
- acquirerPaymentMethodbooleanIndicates if the verification type is acquirer payment method.
- adviceModeboolean
} - sessionIdstringYour reference for the Customer's session.
- localestringThe ISO-639-1 code for your Customer's locale.
- order {advancedPayments/order
- orderRefstring (≤ 255 chars)Your reference for the order. Maximum length: 255.
- taxAmountfloat
- taxRatefloat
- shippingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - items [ {advancedPayments/line-itemList of products/services in the order.
- namestring (≤ 255 chars)MandatoryName of the item. Maximum length: 255.
- descriptionstring (≤ 255 chars)Description of the item. Maximum length: 255.
- itemRefstring (≤ 255 chars)Your reference for the item. Maximum length: 255.
- lineRefstring (≤ 255 chars)Your reference for the line item of the order. Maximum length: 255.
- itemAmountfloatMandatoryThe individual amount of the item.
- quantityinteger (int32)The quantity of items in the order. Defaults to 1 if not provided.
- totalAmountfloatThe total amount of the items. Defaults to itemAmount × quantity if not provided.
- itemTaxAmountfloat
- taxRatefloat
- totalTaxAmountfloat
- customFields [ {advancedPayments/custom-field
- namestring (≤ 255 chars)MandatoryThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} ]
} - strongCustomerAuthentication {advancedPayments/strong-customer-authentication
- transactionTypestringPossible values: GOODS_OR_SERVICES, CHECK_ACCEPTANCE, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATIONDetailed classification of the transaction.
- challengeRequestedstringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
- merchantRisk {advancedPayments/merchant-risk-indicator
- deliveryEmailstring (≤ 254 chars)For electronic delivery, the email address to which the merchandise was delivered.
- deliveryTimeframestringPossible values: ELECTRONIC, SAME_DAY, OVERNIGHT, TWO_OR_MORE_DAYSTime frame for merchandise delivery.
- giftCardPurchase {advancedPayments/gift-card-purchase
- totalAmountinteger (int32)Total value of gift cards being purchased (major units, e.g. for GBP 12.99, use 12).
- currencystring (3 chars)Currency code of cards being purchased.
- countinteger (int32, max 99)Total number of cards being purchased.
} - preorderbooleanWas this a pre-order of merchandise which will be available in the future?
- preorderDatestring (date)For pre-orders, the date at which merchandise is expected to be available.
- reorderbooleanWas the cardholder re-ordering merchandise previously purchased from this merchant?
- shippingTostringPossible values: BILLING_ADDRESS, VERIFIED_ADDRESS, OTHER_ADDRESS, STORE, DIGITAL, TRAVEL_EVENT, OTHERIndicates the type of shipping address (or shipping method) for the merchandise.
} - accountInfo {advancedPayments/account-information
- accountOpened {advancedPayments/account-opened
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was opened.
- datestring (date)Date the account was opened.
} - accountLastChanged {advancedPayments/account-last-changed
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was last changed.
- datestring (date)Date the account was last changed.
} - passwordLastChanged {advancedPayments/password-last-changed
- periodstringPossible values: NO_CHANGE, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the password was last changed.
- datestring (date)Date the password was last changed.
} - activity {advancedPayments/activity
- purchasesInLastSixMonthsinteger (int32, max 9999)Number of purchases made with the account in the previous six months.
- addCardAttemptsInLast24Hoursinteger (int32, max 999)Number of attempts to add a payment card to the account in the previous 24 hours.
- transactionAttemptsInLast24Hoursinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous 24 hours.
- transactionAttemptsInLastYearinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous year.
} - paymentAccountRegistered {advancedPayments/payment-account-registered
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the payment account registration.
- datestring (date)Date the payment account was registered.
} - shippingAddressFirstUsed {advancedPayments/shipping-address-first-used
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the first use of the shipping address.
- datestring (date)Date the shipping address was first used.
} - shippingNameSameAsAccountNamebooleanIs the name on the account identical to the recipient name in the shipping address?
- suspiciousActivitybooleanHas suspicious activity (including fraud) previously occurred on this account?
} - authenticationInfo {advancedPayments/authentication-with-merchant-information
- methodstringPossible values: NONE, MERCHANT_CREDENTIAL, FEDERATED_CREDENTIAL, ISSUER_CREDENTIAL, THIRD_PARTY, FIDO_AUTHENTICATORMethod used to authenticate.
- timestring (date-time)Date/time (in UTC) of authentication.
} - priorAuthenticationInfo {advancedPayments/prior3-d-sv2-authentication-information
- referencestring (36 chars)ACS transaction ID (returned in threeDSecure.acsTransactionId) for the previous authentication.
- methodstringPossible values: FRICTIONLESS_AUTH, CHALLENGE_AUTH, AVS, OTHER_ISSUERMethod used in prior authentication.
- timestring (date-time)Date/time (in UTC) of prior authentication.
}
} - recipient {advancedPayments/recipient-detailsPayout recipient details, required by some acquirers.
- givenNamestring (≤ 255 chars)Recipient given name.
- surnamestring (≤ 255 chars)Recipient surname.
} - accountFunding {advancedPayments/account-fundingSupplementary data for Account Funding Transactions (AFT), e.g. money transfers. You should provide this if advised by your acquirer. Cannot be submitted in conjunction with financialServices.
- recipient {advancedPayments/account-funding-recipient-detailsDetails about the funding recipient
- givenNamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's given name
- surnamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's surname/family name
- addressstring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's address
- citystring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient city
- statestring (2–3 chars, pattern ^[A-Za-z0-9]+$)ConditionalOnly for recipients based in the US or Canada Recipient state/province code (2-3 characters), e.g. "CA", "DE", "MD", "TN" et al. in the US; "AB", "ON", "QC", "SK" et al. in Canada
- countryCodestring (≤ 3 chars, pattern ^[A-Z]+$)Recipient country code (ISO-3166-alpha-3), e.g. "CAN", "GBR", "USA" et al.
}
}
}
Responses
201Payment pending
response body:
shared schema
advancedPayments/transaction-response-resource{
- processing {advancedPayments/processing-response-detailInformation about the authorisation status of your transaction.
- modelstringPossible values: MANAGE, REPORT, ADVICE, IMPORT
- authResponse {advancedPayments/auth-response-detail
- statusCodestring (≤ 255 chars)The code for the status received from the authoriser, if applicable.
- acquirerReferencestring (≤ 255 chars)The reference received from the authoriser for your transaction, if applicable.
- acquirerNamestring (≤ 255 chars)Name of the authoriser, if applicable.
- messagestring (≤ 255 chars)The message received from the authoriser, if applicable.
- authCodestring (≤ 255 chars)The code received from the authoriser, if applicable.
- gatewayReferencestring (≤ 255 chars)The reference received from the processing engine.
- gatewaySettlementstring (date)The date the processing engine will settle the transaction. in YYYY-MM-DD format.
- gatewayCodestring (≤ 255 chars)The code for the status received from the processing engine.
- gatewayMessagestring (≤ 255 chars)The message received from the processing engine.
- avsAddressCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the Address Verification checks, if applicable, if applicable.
- avsPostcodeCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the PostCode Verification checks, if applicable.
- cv2CheckstringPossible values: NOT_CHECKED, MATCHED, NOT_MATCHEDResults for the CV2 Verification checks, if applicable.
- gatewayStatusstring (≤ 255 chars)The status received from the processing engine.
- statusstringPossible values: AUTHORISED, DECLINED, REVERSED, REVERSE_FAILED, ERROR, PROCESSINGThe status received from the authoriser, if applicable.
- correlationIds [ {advancedPayments/correlation-id
- namestringReturnedPossible values: SET, GET, DO, REFUND, VOID, CAPTURE
- valuestringReturnedThe ID assigned to the transaction by PayPal. In the event of a technical issue, PayPal will require this ID for investigation purposes.
} ] - recurringAdvicestringPossible values: STOPOnly in the response when the Cardholder has advised their bank to stop this recurring or instalment payment.
} - authData {advancedPayments/auth-data
- acquirerNamestring (≤ 255 chars)The name of the acquirer. Maximum of 255 characters.
- acquirerstring (write-only)
} - decision {advancedPayments/decision-detailInformation about the results of a Fraud check.
- decisionResultstringPossible values: DEFER, BLOCK, PROCEEDThe result of the Fraud check.
- decisionSourcestringPossible values: RULE, TERRITORY_MANAGEMENT, BLACKLIST, NEGATIVE_LIST, WHITELIST, POSITIVE_LIST, RISK_CONTROLSWhat caused the Fraud check result.
- requestedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe type of transaction that was submitted to Access PaySuite Advanced Payments.
- decidedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe new transaction type for the transaction following the Fraud check. For example, a transaction submitted as a Payment may be updated to an Authorisation (PreAuth) to allow manual review before the transaction is approved for settlement.
- rulesTriggered [ {advancedPayments/rule-triggeredAn array containing information about the Optimize fraud rules triggered.
- namestringThe rule name.
- actionstringThe action advised by the rule.
- descriptionstringThe rule description.
- deferParameterstring
} ] - decisionReasonstringPossible values: DERIVED_BY_TRIGGERED_RULE_ACTION, DECIDED_BY_RISK_CONTROLS, RULE_ENGINE_UNAVAILABLE, UNABLE_TO_DEFER_TRANSACTION, NO_RULES_TRIGGEREDThe reason for the decision.
} - routestring (≤ 255 chars)The name of the processing engine your transaction was submitted to.
- routeData {advancedPayments/route-data
- fundsstring (≤ 255 chars)
- paymentDescriptorstring (≤ 255 chars)
} - voidSuccessfulbooleanIndicates if the transaction was voided by a Post Authorisation callback.
} - clientRedirect {advancedPayments/redirect-response-detailInformation about where to send your customer in the case of 3DS or a Callback.
- typestring (≤ 255 chars)ReturnedThe type of client redirect.
- urlstringReturnedThe URL the Customer should be redirected to.
- framestringPossible values: CONTAINER, TOPThe redirect type when the transaction is set to suspend and redirect to a new URL.
- pareqstringReturned when the transaction is suspended for 3DS authorisation.
- threeDSServerTransIdstring
- customerInstructions {advancedPayments/customer-instructions
- htmlstring
- expirationDatestring
- workingHoursUrlstring
}
} - paymentMethod {advancedPayments/payment-method-response-detailInformation about the Payment Method used in the request.
- registeredbooleanIndicates that the customer choose to register this card payment method. This field will not be present for non-card payment methods.
- isPrimarybooleanIndicates if this was Customer's primary registered payment method.
- paymentAccountFingerprintstringMerchant defined unique identifier for the payment method.
- billingAddress {advancedPayments/postal-addressThe billing address of the Customer. Will be used for AVS checks. We'll save the billing address when the customer makes their first payment. Providing a billing address for subsequent payments will update the address we've saved if you send new, empty or no values for each field.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - reuse {advancedPayments/payment-method-reuse-response
- storagestringPossible values: NEW, EXISTING, NONESpecifies whether the payment credentials for this transaction will be stored, are being reused, or will not be stored. This will reflect any override in the request.
- agreementstringPossible values: RECURRING, INSTALMENT, ADHOCSpecifies the agreement under which stored credentials will be used/are being reused. This will reflect any override in the request.
- originalSchemeReferencestringScheme reference corresponding to the transaction that first stored a payment credential, if available. This will reflect any value given in the request. Where Access PaySuite has stored and reused a value on behalf of the merchant, it will be shown here.
- receivedSchemeReferencestringScheme reference corresponding to the transaction that has been created, if one was received. For the initial storage of payment credentials, this will be the value that Access PaySuite will store and reuse on behalf of the merchant when necessary. For transactions which reuse a stored payment credential, this value may or may not differ from that of originalSchemeReference.
} - paymentClassstring (≤ 255 chars)ReturnedThe classification of payment method used.
- card {ConditionaladvancedPayments/card-response-detailPresent when the payment method was a card. Only one payment method object is returned, indicated by paymentClass.
- cardTokenstringThe token for the card.
- cardFingerprintstringAn identifier for the card number. If multiple customers register cards with the same PAN they will get different card tokens, but the card fingerprint will be the same for them all. When a saved card is backed by a Network Token rather than the original PAN, the field is not populated.
- cardTypestring (≤ 255 chars)The type of card. Eg. MC_DEBIT, VISA_CREDIT, AMEX.
- cardUsageTypestringPossible values: CREDIT, DEBITThe usage type of card. Eg. DEBIT, CREDIT.
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe scheme of card. Eg. VISA, MASTERCARD, AMEX.
- cardCategorystringPossible values: CREDIT, DEBIT, ELECTRON, COMMERCIAL, BUSINESS, CORPORATE, PURCHASING, SIGNIA, WORLD, FLEET, MAESTRO_INTL, MAESTRO_UK, MAESTRO_UK_DOM, LASERThe category of card. Eg. CREDIT, DEBIT, CORPORATE, BUSINESS.
- maskedPanstring (≤ 255 chars)The masked card number. eg. 123456******1234. Where possible, this will include the first six and last four digits; in some cases, only the last four digits will be available.
- expiryDatestring (≤ 255 chars)The expiry date of the card. Formatted as MMYY.
- issuerstring (≤ 255 chars)The Issuer of the card.
- issuerCountrystring (≤ 255 chars)The country of the card Issuer.
- cardHolderNamestring (≤ 255 chars)The Cardholder's name.
- cardNicknamestring (≤ 255 chars)The name the Customer provided for their Card to allow easy selection where they registered multiple cards.
- issueNumberstring (≤ 255 chars)The issue number of the card used in the request.
- validDatestring (≤ 255 chars)The valid from date of the card. Formatted as MMYY.
- sourcestringPossible values: VISA_CHECKOUT, GOOGLEPAYThis will always be GOOGLEPAY.
- networkToken {advancedPayments/network-tokenOnly present if a network token was provisioned or used during this transaction
- statusstringPossible values: ACTIVE, SUSPENDED, DELETED, EXPIRED, UNPROVISIONEDStatus of the token at the time of this transaction: ACTIVE - active and usable SUSPENDED - temporarily suspended, may be re-activated in future DELETED - permanently deleted; need to re-engage cardholder EXPIRED - expired, should be refreshed in future UNPROVISIONED - no token
- usagestringPossible values: PROVISIONED, PROVISIONED_AND_USED, PROVISION_FAILED, USED, RENEWEDWhat happened to the token during this transaction: PROVISIONED - transaction created a network token PROVISION_FAILED - tried to create a network token but failed USED - transaction used an existing network token
- tokenErrorstringPossible values: CARD_TOKENISATION_NOT_ALLOWED, DECLINED, SERVICE_UNAVAILABLE, SYSTEM_ERRORReason for provisioning failure: CARD_TOKENISATION_NOT_ALLOWED - card not supported (or, not at this time) DECLINED - card scheme or issuer refused to provision a network token SERVICE_UNAVAILABLE - scheme token service not available SYSTEM_ERROR - unspecified error attempting to provision
- expiryDatestringToken expiry date. Formatted as MMYY.
} - newboolean
} - paypal {ConditionaladvancedPayments/pay-pal-response-detailPresent when the payment method was PayPal. Only one payment method object is returned, indicated by paymentClass.
- payerIDstring (≤ 255 chars)PayPal's identifier for the payer.
- emailstring (≤ 255 chars)The email associated with the PayPal account.
- accountVerifiedbooleanIndicates whether PayPal has verified the account.
- checkoutTokenstringThe PayPal checkout token for the session the payment was taken in.
- sourcestringPossible values: PAYPAL, PAYPAL_ONE_TOUCHWhich PayPal integration took the payment - PAYPAL for Express Checkout, or PAYPAL_ONE_TOUCH.
- bnCodestringThe PayPal partner attribution code the payment was made under.
- payeeAccountstringThe PayPal account the funds were paid to.
} - applepay {ConditionaladvancedPayments/apple-pay-response-detailPresent when the payment method was Apple Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Apple Pay uses for this card (e.g. VISA 1234)
- transactionIdentifierstring (≤ 255 chars)
- cardTypestring (≤ 255 chars)Information about the type of card used by the Apple Pay transaction.
- cardUsageTypestringPossible values: CREDIT, DEBITThe card usage type (credit or debit)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The token for the card.
} - googlepay {ConditionaladvancedPayments/google-pay-response-detailPresent when the payment method was Google Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Google Pay uses for this card (e.g. Visa •••• 1111)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The unique token for the payment method, returned when a card is registered. A savedAccountToken will be returned for both Google Pay non-tokenized cards (FPAN) and Android device token (DPAN) payment methods and can be used to make subsequent payments of that type.
- cardDetailsstringDescrptive details of the card as provided by Google Pay. This will always be the last 4 digits of the card number
- cardHolderNamestringThe cardholder name for the Google Pay payment method
} - merchantDefined {ConditionaladvancedPayments/merchant-defined-response-detailPresent when the payment method was merchant defined. Only one payment method object is returned, indicated by paymentClass.
- accountHolderNamestring (≤ 255 chars)The account holder name that was supplied in the request.
- paymentMethodNamestring (≤ 127 chars)The payment method name that was supplied in the request.
} - openbanking {ConditionaladvancedPayments/open-banking-response-detailPresent when the payment method was Pay by Bank. Only one payment method object is returned, indicated by paymentClass.
- remittanceReferencestringThe reference the payer's bank shows against the payment.
- userInterfaceDetailsobject (map)Details the payer's bank supplied for display, as name and value pairs. The members vary by bank.
- account {advancedPayments/open-banking-accountThe bank account the payment came from.
- sortCodestringSort code of the payer's bank account.
- accountNumberstringNumber of the payer's bank account.
- bankNamestringName of the payer's bank.
} - multiAuthorisationstringPossible values: AUTHORISED, INCOMPLETEWhere the payer's bank requires more than one person to authorise a payment, whether every authorisation has been given yet.
- modestringPossible values: REDIRECTHow the payer was taken to their bank to authorise the payment.
}
} - customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - threeDSecure {advancedPayments/three-d-secure-response-detailInformation about the 3D Secure status of your transaction.
- versioninteger (int32)Major version of 3D Secure applied to this transaction.
- protocolVersionstring (≤ 255 chars)Full protocol version of 3D Secure applied to this transaction.
- versionsAttempted [ {advancedPayments/three-d-secure-version-attemptedVersions of 3D Secure that were attempted for this transaction, in order of use. This can be used to determine when 3DSv2 could not be used, and why. A version will only be included in this list if it was meaningfully attempted, which means that the transaction must have been eligible (e.g. type, channel, payment method etc.) and the merchant's account must have been capable (e.g. the corresponding 3D Secure version was enabled on the MID, etc.) This field may be populated even if no others in this section are, e.g. to indicate that the issuer didn't support any version of 3D Secure.
- versioninteger (int32, min 1, max 2)Major version of 3D Secure that was attempted.
- availabilitystringPossible values: INSUFFICIENT_DATA, ISSUER_NO_V2, ISSUER_NO_V1, ISSUER_NO_3DS, ERROR, AVAILABLEHigh-level indication of the actual availability of the given 3D Secure version and what happened during the attempt to use it.
} ] - schemestring (≤ 255 chars)The scheme that processed the transaction for 3DS.
- statusstringPossible values: AUTHENTICATED, BYPASSED, FAILED, NOT_ENROLLED, ATTEMPTED, ENROLMENT_CHECK_FAILURE, INCOMPLETE, NOT_AVAILABLE, NOT_IMPLEMENTEDThe overall 3DS result for the transaction.
- ecistring (≤ 255 chars)Electronic Commerce Indicator (ECI) for this transaction; used by the card issuer/scheme/acquirer to describe the security (inc. authentication) that has been applied. This value reflects what was obtained from the 3D Secure process; it may be modified/transformed prior to submission to an acquirer. It is provided for informational purposes only; merchants do not need to use it as part of processing, and should rely on the status and other fields for a stable interpretation of the outcome. Common values include: 01 - Attempted authentication (Mastercard) 02 - Authenticated (Mastercard) 05 - Authenticated (Visa, American Express) 06 - Attempted authentication (Visa, American Express) 07/00 - Not authenticated/no 3D Secure Other values not listed here may be seen for some types of transaction, at the discretion of the card scheme and/or ACS operator.
- threeDSServerTransIdstring (≤ 255 chars)Access PaySuite 3DSv2 transaction ID.
- dsTransactionIdstring (≤ 255 chars)Directory Server 3DSv2 transaction ID.
- acsTransactionIdstring (≤ 255 chars)Access Control Server (ACS) 3DSv2 transaction ID.
- challengeRequeststringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATEDIndicates whether a challenge was ultimately requested or not; this reflects the final 3DSv2 request made by Access PaySuite Advanced Payments after taking into account any merchant preference and card scheme rules.
- frictionlessbooleanWhether the cardholder was authenticated without a challenge (frictionless flow).
- cardHolderMessagestringMessage returned by the issuer containing instructions for the cardholder.
} - customer {advancedPayments/return-customer-detailInformation about the Customer.
- idstring (≤ 255 chars)Our ID for the Customer.
- merchantRefstring (≤ 255 chars)Your reference for the Customer.
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, echoed from the request
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. For a PAN, the first six and last four digits of the PAN; otherwise up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - accountFunding {advancedPayments/account-fundingSupplementary data for Account Funding Transactions (AFT), echoed from the request
- recipient {advancedPayments/account-funding-recipient-detailsDetails about the funding recipient
- givenNamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's given name
- surnamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's surname/family name
- addressstring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's address
- citystring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient city
- statestring (2–3 chars, pattern ^[A-Za-z0-9]+$)ConditionalOnly for recipients based in the US or Canada Recipient state/province code (2-3 characters), e.g. "CA", "DE", "MD", "TN" et al. in the US; "AB", "ON", "QC", "SK" et al. in Canada
- countryCodestring (≤ 3 chars, pattern ^[A-Z]+$)Recipient country code (ISO-3166-alpha-3), e.g. "CAN", "GBR", "USA" et al.
}
} - transaction {advancedPayments/transaction-state-response-detail
- transactionIdstring (≤ 255 chars)Our ID for the transaction.
- deferredbooleanIndicates if the Payment capture is deferred.
- deferralExpiresstring (date-time)
- recurringbooleanIndicates if the payment was a recurring payment.
- instalmentbooleanIndicates if the payment was an instalment.
- merchantRefstring (≤ 255 chars)Your reference for the transaction.
- merchantDescriptionstring (≤ 255 chars)The description of the transaction provided in the request.
- statusstringPossible values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDEDThe current state of the transaction.
- typestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYIndicates the type of the transaction.
- amountfloatIndicates the requested amount of the transaction.
- consumerSpendfloatIndicates the actual amount of the transaction. This will be zero for any type of INITIALIZE transaction, deferred transactions, and rejected transactions.
- currencystring (≤ 3 chars)Indicates the currency of the transaction. Use the 3 character ISO-4217 code.
- transactionTimestring (date-time)The date and time we processed the transaction in ISO-8601 format.
- receivedTimestring (date-time)The date and time we received the transaction in ISO-8601 format.
- commerceTypestringPossible values: ECOM, MOTO, CNPThe Commerce Type of the transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe Sales Channel of the transaction.
- relatedTransaction {advancedPayments/related-transactionThis field is not applicable for Payments. In case of Refunds it indicates the transaction that was refunded.
- transactionIdstring (≤ 255 chars)ReturnedOur ID for the transaction that was original.
- merchantRefstring (≤ 255 chars)Your reference for the transaction that was original.
} - billingDescriptorstring
- customerInitiatedboolean
- stagestringPossible values: INITIALIZE, THREE_D_SECURE, FRAUD_RULES, AUTHORISATION, EXTERNAL_PROCESSING, COMPLETEThe logical stage the transaction has reached.
- continuousAuthorityAgreement {advancedPayments/continuous-authority-agreementThe continuous authority agreement established with the cardholder. Required if you want to process a transaction initiating a recurring or instalment series using 3DSv2.
- minFrequencyinteger (int32, min 1, max 9999)ConditionalMinimum number of days expected between payments in a recurring or instalment sequence. Must be >= 1.
- expirystring (date)ConditionalDate (YYYY-MM-DD) at which recurring/instalment agreement expires, or at which it will need to be re-authenticated in order to continue. Must be in the future.
- numberOfInstalmentsinteger (int32, min 2, max 999)ConditionalTotal number of payments in an instalment sequence - including this one, if starting with a payment. Required only for instalments; must be >= 2.
}
} - paypalSellerProtection {advancedPayments/paypal-seller-protection
- sellerProtectionTypestring (≤ 255 chars)Indicates the level of Seller Protection PayPal has assigned to this transaction. Please refer to PayPal's documentation for more information.
} - outcome {ReturnedadvancedPayments/outcome-response-detailInformation about the overall outcome of the request.
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors. In the case of a decline this message can be very general. There can be useful guidance to the cause of the decline in processing.authResponse.gatewayMessage.
} - anyarray (object items)
- tracestring
- order {advancedPayments/order
- orderRefstring (≤ 255 chars)Your reference for the order. Maximum length: 255.
- taxAmountfloat
- taxRatefloat
- shippingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - items [ {advancedPayments/line-itemList of products/services in the order.
- namestring (≤ 255 chars)ReturnedName of the item. Maximum length: 255.
- descriptionstring (≤ 255 chars)Description of the item. Maximum length: 255.
- itemRefstring (≤ 255 chars)Your reference for the item. Maximum length: 255.
- lineRefstring (≤ 255 chars)Your reference for the line item of the order. Maximum length: 255.
- itemAmountfloatReturnedThe individual amount of the item.
- quantityinteger (int32)The quantity of items in the order. Defaults to 1 if not provided.
- totalAmountfloatThe total amount of the items. Defaults to itemAmount × quantity if not provided.
- itemTaxAmountfloat
- taxRatefloat
- totalTaxAmountfloat
- customFields [ {advancedPayments/custom-field
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} ]
} - strongCustomerAuthentication {advancedPayments/strong-customer-authentication
- transactionTypestringPossible values: GOODS_OR_SERVICES, CHECK_ACCEPTANCE, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATIONDetailed classification of the transaction.
- challengeRequestedstringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
- merchantRisk {advancedPayments/merchant-risk-indicator
- deliveryEmailstring (≤ 254 chars)For electronic delivery, the email address to which the merchandise was delivered.
- deliveryTimeframestringPossible values: ELECTRONIC, SAME_DAY, OVERNIGHT, TWO_OR_MORE_DAYSTime frame for merchandise delivery.
- giftCardPurchase {advancedPayments/gift-card-purchase
- totalAmountinteger (int32)Total value of gift cards being purchased (major units, e.g. for GBP 12.99, use 12).
- currencystring (3 chars)Currency code of cards being purchased.
- countinteger (int32, max 99)Total number of cards being purchased.
} - preorderbooleanWas this a pre-order of merchandise which will be available in the future?
- preorderDatestring (date)For pre-orders, the date at which merchandise is expected to be available.
- reorderbooleanWas the cardholder re-ordering merchandise previously purchased from this merchant?
- shippingTostringPossible values: BILLING_ADDRESS, VERIFIED_ADDRESS, OTHER_ADDRESS, STORE, DIGITAL, TRAVEL_EVENT, OTHERIndicates the type of shipping address (or shipping method) for the merchandise.
} - accountInfo {advancedPayments/account-information
- accountOpened {advancedPayments/account-opened
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was opened.
- datestring (date)Date the account was opened.
} - accountLastChanged {advancedPayments/account-last-changed
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was last changed.
- datestring (date)Date the account was last changed.
} - passwordLastChanged {advancedPayments/password-last-changed
- periodstringPossible values: NO_CHANGE, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the password was last changed.
- datestring (date)Date the password was last changed.
} - activity {advancedPayments/activity
- purchasesInLastSixMonthsinteger (int32, max 9999)Number of purchases made with the account in the previous six months.
- addCardAttemptsInLast24Hoursinteger (int32, max 999)Number of attempts to add a payment card to the account in the previous 24 hours.
- transactionAttemptsInLast24Hoursinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous 24 hours.
- transactionAttemptsInLastYearinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous year.
} - paymentAccountRegistered {advancedPayments/payment-account-registered
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the payment account registration.
- datestring (date)Date the payment account was registered.
} - shippingAddressFirstUsed {advancedPayments/shipping-address-first-used
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the first use of the shipping address.
- datestring (date)Date the shipping address was first used.
} - shippingNameSameAsAccountNamebooleanIs the name on the account identical to the recipient name in the shipping address?
- suspiciousActivitybooleanHas suspicious activity (including fraud) previously occurred on this account?
} - authenticationInfo {advancedPayments/authentication-with-merchant-information
- methodstringPossible values: NONE, MERCHANT_CREDENTIAL, FEDERATED_CREDENTIAL, ISSUER_CREDENTIAL, THIRD_PARTY, FIDO_AUTHENTICATORMethod used to authenticate.
- timestring (date-time)Date/time (in UTC) of authentication.
} - priorAuthenticationInfo {advancedPayments/prior3-d-sv2-authentication-information
- referencestring (36 chars)ACS transaction ID (returned in threeDSecure.acsTransactionId) for the previous authentication.
- methodstringPossible values: FRICTIONLESS_AUTH, CHALLENGE_AUTH, AVS, OTHER_ISSUERMethod used in prior authentication.
- timestring (date-time)Date/time (in UTC) of prior authentication.
}
} - schedule {advancedPayments/schedule-response-detail
- scheduleIdstringThe identifier for the created schedule
- errorstringDetails of the causes of the error if an error occurred creating the schedule.
} - recipient {advancedPayments/recipient-detailsPayout recipient details, required by some acquirers.
- givenNamestring (≤ 255 chars)Recipient given name.
- surnamestring (≤ 255 chars)Recipient surname.
} - link [ {advancedPayments/link
- hrefstringDirect link to the resource.
- relstringIdentifies the relationship to the requested resource.
} ]
}
400Invalid request
response body:
shared schema
advancedPayments/validation-failure-outcome{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors.
- fieldErrors [ {advancedPayments/field-error
- fieldstring
- messagestring
} ]
}
401Unauthorized
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
403Forbidden
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
500Internal Server Error
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
Resume a Payment
POST/acceptor/rest/transactions/{instId}/{transactionId}/resumeResume a Pay by Bank payment#
description:
Resumes a previously suspended Pay by Bank payment and returns the transaction as it now stands
authorization:HTTP Basic
content-type: application/json
path parameters:
{
- instIdstringMandatoryThe installation id
- transactionIdstringMandatoryIdentifier of the original Pay by Bank transaction being resumed
}
request body:
shared schema
advancedPayments/resume-secondary-manage-rest-request{
- customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)MandatoryThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - callbacks {advancedPayments/callback-request-details
- expiryNotification {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - preAuthCallback {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - postAuthCallback {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - transactionNotification {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
}
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, including loan repayments and other credit-related activities. UK- and Europe-based merchants with merchant category code (MCC) 6012, and some merchants coded MCC 6051 or MCC 7299, are required to provide this information about the primary recipient, who may be different from the customer making payment. Consult your acquirer if you are not sure whether you should submit this. Cannot be submitted in conjunction with accountFunding.
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. If the name is longer than six characters, then provide the first six. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. If this is a PAN, then provide the first six and last four digits of the PAN. Otherwise, provide up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - clientInfoDetails {advancedPayments/client-info-details
- sdkVersionstringMandatory
- merchantAppNamestringMandatory
- merchantAppVersionstringMandatory
- sdkInstallIdstringMandatory
- osFamilystringMandatory
- osNamestringMandatory
- modelNamestringMandatory
- modelFamilystringMandatory
- manufacturerstringMandatory
- typestringMandatory
- screenResstringMandatory
- screenDpiinteger (int32)Mandatory
} - schedule {advancedPayments/schedule-definition
- startDatestring (date)The date the schedule becomes active and, if relevant that epiode calculations start from
- timeOfDaystring (time)The time of day that any episodes will be triggered, as HH:mm:ss
- frequency {ConditionaladvancedPayments/frequencyOne and only one of Fixed, Frequency or Pattern must be provided
- unitstringMandatoryPossible values: DAY, WEEK, MONTH, YEARunit must be provided for a frequency schedule
- quantityinteger (int32)default: 1
- ratestringPossible values: FIXED, RELATIVEdefault: RELATIVE
} - pattern {ConditionaladvancedPayments/patternOne and only one of Fixed, Frequency or Pattern must be provided
- dayOfWeekstringPossible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAYThe specific day of the week to peform the transaction
- daysOfWeekarray (string items)Possible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAYThe specific days of the week to peform the transaction
- dayOfMonthinteger (int32)There specific day of the month to peform the transaction (up to 31, in shorter months this will run on the last day of the month)
- daysOfMontharray (int32 items)The specific days of the month to peform the transaction (up to 31, in shorter months this will run on the last day of the month)
- weekOfMonthinteger (int32)The specific week of the month to peform the transaction (up to 4)
- weeksOfMontharray (int32 items)The specific weeks of the month to peform the transaction (up to 4)
- monthOfYearstringPossible values: JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
- monthsOfYeararray (string items)Possible values: JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
} - fixedarray (date items)Conditionalthe dates on which an episode will be triggered. One and only one of Fixed, Frequency or Pattern must be provided
- terminator {advancedPayments/terminator
- episodeLimitinteger (int32)Conditionalthe number of episodes to run before the schedule is complete
- endOnstring (date)Conditionalthe scheduler will not run after this date. If there is an episode due on this date, it will be run.
- suspend {advancedPayments/suspend
- failureCountinteger (int32)The number episode failures before the Schedule suspends (this should be higher than the maximum retry count)
}
} - retry {advancedPayments/retry
- unitstringMandatoryPossible values: HOUR, DAY, WEEK, MONTHcombined with quantity when and should a retry be attempted
- quantityinteger (int32)combined with unit when and should a retry be attempted
- maxRetriesinteger (int32)How many retries shoudl be attewmpted before the episode fails.
- processWhileRetryingbooleancontinue to process scheduled episodes while retrying a failed epsiode. default: false.
- catchupAfterRetryingbooleanprocess any episodes missed while retrying a failed epsiode. default: false.
} - amountsarray (number items)specific amounts to process in order. If there are less amounts than episodes the final amount will repeat. If no amounts are specified the amount on the original transaction will be used.
- merchantRefstringA merchant defined reference to be added to the repeated repeats triggered by the schedule. If the place-holder {DATE} is included this will be replaced by the date the payment is actually processed in yyyy-MM-dd format. If the place-holder {EPISODE_INDEX} is used this will be replaced with the index of the episode which triggered the transaction.
- descriptionstringA merchant defined description to be added to the repeated repeats triggered by the schedule. If the place-holder {DATE} is included this will be replaced by the date the payment is actually processed in yyyy-MM-dd format. If the place-holder {EPISODE_INDEX} is used this will be replaced with the index of the episode which triggered the transaction.
}
}
Responses
201Payment resumed
response body:
shared schema
advancedPayments/transaction-response-resource{
- processing {advancedPayments/processing-response-detailInformation about the authorisation status of your transaction.
- modelstringPossible values: MANAGE, REPORT, ADVICE, IMPORT
- authResponse {advancedPayments/auth-response-detail
- statusCodestring (≤ 255 chars)The code for the status received from the authoriser, if applicable.
- acquirerReferencestring (≤ 255 chars)The reference received from the authoriser for your transaction, if applicable.
- acquirerNamestring (≤ 255 chars)Name of the authoriser, if applicable.
- messagestring (≤ 255 chars)The message received from the authoriser, if applicable.
- authCodestring (≤ 255 chars)The code received from the authoriser, if applicable.
- gatewayReferencestring (≤ 255 chars)The reference received from the processing engine.
- gatewaySettlementstring (date)The date the processing engine will settle the transaction. in YYYY-MM-DD format.
- gatewayCodestring (≤ 255 chars)The code for the status received from the processing engine.
- gatewayMessagestring (≤ 255 chars)The message received from the processing engine.
- avsAddressCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the Address Verification checks, if applicable, if applicable.
- avsPostcodeCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the PostCode Verification checks, if applicable.
- cv2CheckstringPossible values: NOT_CHECKED, MATCHED, NOT_MATCHEDResults for the CV2 Verification checks, if applicable.
- gatewayStatusstring (≤ 255 chars)The status received from the processing engine.
- statusstringPossible values: AUTHORISED, DECLINED, REVERSED, REVERSE_FAILED, ERROR, PROCESSINGThe status received from the authoriser, if applicable.
- correlationIds [ {advancedPayments/correlation-id
- namestringReturnedPossible values: SET, GET, DO, REFUND, VOID, CAPTURE
- valuestringReturnedThe ID assigned to the transaction by PayPal. In the event of a technical issue, PayPal will require this ID for investigation purposes.
} ] - recurringAdvicestringPossible values: STOPOnly in the response when the Cardholder has advised their bank to stop this recurring or instalment payment.
} - authData {advancedPayments/auth-data
- acquirerNamestring (≤ 255 chars)The name of the acquirer. Maximum of 255 characters.
- acquirerstring (write-only)
} - decision {advancedPayments/decision-detailInformation about the results of a Fraud check.
- decisionResultstringPossible values: DEFER, BLOCK, PROCEEDThe result of the Fraud check.
- decisionSourcestringPossible values: RULE, TERRITORY_MANAGEMENT, BLACKLIST, NEGATIVE_LIST, WHITELIST, POSITIVE_LIST, RISK_CONTROLSWhat caused the Fraud check result.
- requestedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe type of transaction that was submitted to Access PaySuite Advanced Payments.
- decidedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe new transaction type for the transaction following the Fraud check. For example, a transaction submitted as a Payment may be updated to an Authorisation (PreAuth) to allow manual review before the transaction is approved for settlement.
- rulesTriggered [ {advancedPayments/rule-triggeredAn array containing information about the Optimize fraud rules triggered.
- namestringThe rule name.
- actionstringThe action advised by the rule.
- descriptionstringThe rule description.
- deferParameterstring
} ] - decisionReasonstringPossible values: DERIVED_BY_TRIGGERED_RULE_ACTION, DECIDED_BY_RISK_CONTROLS, RULE_ENGINE_UNAVAILABLE, UNABLE_TO_DEFER_TRANSACTION, NO_RULES_TRIGGEREDThe reason for the decision.
} - routestring (≤ 255 chars)The name of the processing engine your transaction was submitted to.
- routeData {advancedPayments/route-data
- fundsstring (≤ 255 chars)
- paymentDescriptorstring (≤ 255 chars)
} - voidSuccessfulbooleanIndicates if the transaction was voided by a Post Authorisation callback.
} - clientRedirect {advancedPayments/redirect-response-detailInformation about where to send your customer in the case of 3DS or a Callback.
- typestring (≤ 255 chars)ReturnedThe type of client redirect.
- urlstringReturnedThe URL the Customer should be redirected to.
- framestringPossible values: CONTAINER, TOPThe redirect type when the transaction is set to suspend and redirect to a new URL.
- pareqstringReturned when the transaction is suspended for 3DS authorisation.
- threeDSServerTransIdstring
- customerInstructions {advancedPayments/customer-instructions
- htmlstring
- expirationDatestring
- workingHoursUrlstring
}
} - paymentMethod {advancedPayments/payment-method-response-detailInformation about the Payment Method used in the request.
- registeredbooleanIndicates that the customer choose to register this card payment method. This field will not be present for non-card payment methods.
- isPrimarybooleanIndicates if this was Customer's primary registered payment method.
- paymentAccountFingerprintstringMerchant defined unique identifier for the payment method.
- billingAddress {advancedPayments/postal-addressThe billing address of the Customer. Will be used for AVS checks. We'll save the billing address when the customer makes their first payment. Providing a billing address for subsequent payments will update the address we've saved if you send new, empty or no values for each field.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - reuse {advancedPayments/payment-method-reuse-response
- storagestringPossible values: NEW, EXISTING, NONESpecifies whether the payment credentials for this transaction will be stored, are being reused, or will not be stored. This will reflect any override in the request.
- agreementstringPossible values: RECURRING, INSTALMENT, ADHOCSpecifies the agreement under which stored credentials will be used/are being reused. This will reflect any override in the request.
- originalSchemeReferencestringScheme reference corresponding to the transaction that first stored a payment credential, if available. This will reflect any value given in the request. Where Access PaySuite has stored and reused a value on behalf of the merchant, it will be shown here.
- receivedSchemeReferencestringScheme reference corresponding to the transaction that has been created, if one was received. For the initial storage of payment credentials, this will be the value that Access PaySuite will store and reuse on behalf of the merchant when necessary. For transactions which reuse a stored payment credential, this value may or may not differ from that of originalSchemeReference.
} - paymentClassstring (≤ 255 chars)ReturnedThe classification of payment method used.
- card {ConditionaladvancedPayments/card-response-detailPresent when the payment method was a card. Only one payment method object is returned, indicated by paymentClass.
- cardTokenstringThe token for the card.
- cardFingerprintstringAn identifier for the card number. If multiple customers register cards with the same PAN they will get different card tokens, but the card fingerprint will be the same for them all. When a saved card is backed by a Network Token rather than the original PAN, the field is not populated.
- cardTypestring (≤ 255 chars)The type of card. Eg. MC_DEBIT, VISA_CREDIT, AMEX.
- cardUsageTypestringPossible values: CREDIT, DEBITThe usage type of card. Eg. DEBIT, CREDIT.
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe scheme of card. Eg. VISA, MASTERCARD, AMEX.
- cardCategorystringPossible values: CREDIT, DEBIT, ELECTRON, COMMERCIAL, BUSINESS, CORPORATE, PURCHASING, SIGNIA, WORLD, FLEET, MAESTRO_INTL, MAESTRO_UK, MAESTRO_UK_DOM, LASERThe category of card. Eg. CREDIT, DEBIT, CORPORATE, BUSINESS.
- maskedPanstring (≤ 255 chars)The masked card number. eg. 123456******1234. Where possible, this will include the first six and last four digits; in some cases, only the last four digits will be available.
- expiryDatestring (≤ 255 chars)The expiry date of the card. Formatted as MMYY.
- issuerstring (≤ 255 chars)The Issuer of the card.
- issuerCountrystring (≤ 255 chars)The country of the card Issuer.
- cardHolderNamestring (≤ 255 chars)The Cardholder's name.
- cardNicknamestring (≤ 255 chars)The name the Customer provided for their Card to allow easy selection where they registered multiple cards.
- issueNumberstring (≤ 255 chars)The issue number of the card used in the request.
- validDatestring (≤ 255 chars)The valid from date of the card. Formatted as MMYY.
- sourcestringPossible values: VISA_CHECKOUT, GOOGLEPAYThis will always be GOOGLEPAY.
- networkToken {advancedPayments/network-tokenOnly present if a network token was provisioned or used during this transaction
- statusstringPossible values: ACTIVE, SUSPENDED, DELETED, EXPIRED, UNPROVISIONEDStatus of the token at the time of this transaction: ACTIVE - active and usable SUSPENDED - temporarily suspended, may be re-activated in future DELETED - permanently deleted; need to re-engage cardholder EXPIRED - expired, should be refreshed in future UNPROVISIONED - no token
- usagestringPossible values: PROVISIONED, PROVISIONED_AND_USED, PROVISION_FAILED, USED, RENEWEDWhat happened to the token during this transaction: PROVISIONED - transaction created a network token PROVISION_FAILED - tried to create a network token but failed USED - transaction used an existing network token
- tokenErrorstringPossible values: CARD_TOKENISATION_NOT_ALLOWED, DECLINED, SERVICE_UNAVAILABLE, SYSTEM_ERRORReason for provisioning failure: CARD_TOKENISATION_NOT_ALLOWED - card not supported (or, not at this time) DECLINED - card scheme or issuer refused to provision a network token SERVICE_UNAVAILABLE - scheme token service not available SYSTEM_ERROR - unspecified error attempting to provision
- expiryDatestringToken expiry date. Formatted as MMYY.
} - newboolean
} - paypal {ConditionaladvancedPayments/pay-pal-response-detailPresent when the payment method was PayPal. Only one payment method object is returned, indicated by paymentClass.
- payerIDstring (≤ 255 chars)PayPal's identifier for the payer.
- emailstring (≤ 255 chars)The email associated with the PayPal account.
- accountVerifiedbooleanIndicates whether PayPal has verified the account.
- checkoutTokenstringThe PayPal checkout token for the session the payment was taken in.
- sourcestringPossible values: PAYPAL, PAYPAL_ONE_TOUCHWhich PayPal integration took the payment - PAYPAL for Express Checkout, or PAYPAL_ONE_TOUCH.
- bnCodestringThe PayPal partner attribution code the payment was made under.
- payeeAccountstringThe PayPal account the funds were paid to.
} - applepay {ConditionaladvancedPayments/apple-pay-response-detailPresent when the payment method was Apple Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Apple Pay uses for this card (e.g. VISA 1234)
- transactionIdentifierstring (≤ 255 chars)
- cardTypestring (≤ 255 chars)Information about the type of card used by the Apple Pay transaction.
- cardUsageTypestringPossible values: CREDIT, DEBITThe card usage type (credit or debit)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The token for the card.
} - googlepay {ConditionaladvancedPayments/google-pay-response-detailPresent when the payment method was Google Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Google Pay uses for this card (e.g. Visa •••• 1111)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The unique token for the payment method, returned when a card is registered. A savedAccountToken will be returned for both Google Pay non-tokenized cards (FPAN) and Android device token (DPAN) payment methods and can be used to make subsequent payments of that type.
- cardDetailsstringDescrptive details of the card as provided by Google Pay. This will always be the last 4 digits of the card number
- cardHolderNamestringThe cardholder name for the Google Pay payment method
} - merchantDefined {ConditionaladvancedPayments/merchant-defined-response-detailPresent when the payment method was merchant defined. Only one payment method object is returned, indicated by paymentClass.
- accountHolderNamestring (≤ 255 chars)The account holder name that was supplied in the request.
- paymentMethodNamestring (≤ 127 chars)The payment method name that was supplied in the request.
} - openbanking {ConditionaladvancedPayments/open-banking-response-detailPresent when the payment method was Pay by Bank. Only one payment method object is returned, indicated by paymentClass.
- remittanceReferencestringThe reference the payer's bank shows against the payment.
- userInterfaceDetailsobject (map)Details the payer's bank supplied for display, as name and value pairs. The members vary by bank.
- account {advancedPayments/open-banking-accountThe bank account the payment came from.
- sortCodestringSort code of the payer's bank account.
- accountNumberstringNumber of the payer's bank account.
- bankNamestringName of the payer's bank.
} - multiAuthorisationstringPossible values: AUTHORISED, INCOMPLETEWhere the payer's bank requires more than one person to authorise a payment, whether every authorisation has been given yet.
- modestringPossible values: REDIRECTHow the payer was taken to their bank to authorise the payment.
}
} - customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - threeDSecure {advancedPayments/three-d-secure-response-detailInformation about the 3D Secure status of your transaction.
- versioninteger (int32)Major version of 3D Secure applied to this transaction.
- protocolVersionstring (≤ 255 chars)Full protocol version of 3D Secure applied to this transaction.
- versionsAttempted [ {advancedPayments/three-d-secure-version-attemptedVersions of 3D Secure that were attempted for this transaction, in order of use. This can be used to determine when 3DSv2 could not be used, and why. A version will only be included in this list if it was meaningfully attempted, which means that the transaction must have been eligible (e.g. type, channel, payment method etc.) and the merchant's account must have been capable (e.g. the corresponding 3D Secure version was enabled on the MID, etc.) This field may be populated even if no others in this section are, e.g. to indicate that the issuer didn't support any version of 3D Secure.
- versioninteger (int32, min 1, max 2)Major version of 3D Secure that was attempted.
- availabilitystringPossible values: INSUFFICIENT_DATA, ISSUER_NO_V2, ISSUER_NO_V1, ISSUER_NO_3DS, ERROR, AVAILABLEHigh-level indication of the actual availability of the given 3D Secure version and what happened during the attempt to use it.
} ] - schemestring (≤ 255 chars)The scheme that processed the transaction for 3DS.
- statusstringPossible values: AUTHENTICATED, BYPASSED, FAILED, NOT_ENROLLED, ATTEMPTED, ENROLMENT_CHECK_FAILURE, INCOMPLETE, NOT_AVAILABLE, NOT_IMPLEMENTEDThe overall 3DS result for the transaction.
- ecistring (≤ 255 chars)Electronic Commerce Indicator (ECI) for this transaction; used by the card issuer/scheme/acquirer to describe the security (inc. authentication) that has been applied. This value reflects what was obtained from the 3D Secure process; it may be modified/transformed prior to submission to an acquirer. It is provided for informational purposes only; merchants do not need to use it as part of processing, and should rely on the status and other fields for a stable interpretation of the outcome. Common values include: 01 - Attempted authentication (Mastercard) 02 - Authenticated (Mastercard) 05 - Authenticated (Visa, American Express) 06 - Attempted authentication (Visa, American Express) 07/00 - Not authenticated/no 3D Secure Other values not listed here may be seen for some types of transaction, at the discretion of the card scheme and/or ACS operator.
- threeDSServerTransIdstring (≤ 255 chars)Access PaySuite 3DSv2 transaction ID.
- dsTransactionIdstring (≤ 255 chars)Directory Server 3DSv2 transaction ID.
- acsTransactionIdstring (≤ 255 chars)Access Control Server (ACS) 3DSv2 transaction ID.
- challengeRequeststringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATEDIndicates whether a challenge was ultimately requested or not; this reflects the final 3DSv2 request made by Access PaySuite Advanced Payments after taking into account any merchant preference and card scheme rules.
- frictionlessbooleanWhether the cardholder was authenticated without a challenge (frictionless flow).
- cardHolderMessagestringMessage returned by the issuer containing instructions for the cardholder.
} - customer {advancedPayments/return-customer-detailInformation about the Customer.
- idstring (≤ 255 chars)Our ID for the Customer.
- merchantRefstring (≤ 255 chars)Your reference for the Customer.
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, echoed from the request
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. For a PAN, the first six and last four digits of the PAN; otherwise up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - accountFunding {advancedPayments/account-fundingSupplementary data for Account Funding Transactions (AFT), echoed from the request
- recipient {advancedPayments/account-funding-recipient-detailsDetails about the funding recipient
- givenNamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's given name
- surnamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's surname/family name
- addressstring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's address
- citystring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient city
- statestring (2–3 chars, pattern ^[A-Za-z0-9]+$)ConditionalOnly for recipients based in the US or Canada Recipient state/province code (2-3 characters), e.g. "CA", "DE", "MD", "TN" et al. in the US; "AB", "ON", "QC", "SK" et al. in Canada
- countryCodestring (≤ 3 chars, pattern ^[A-Z]+$)Recipient country code (ISO-3166-alpha-3), e.g. "CAN", "GBR", "USA" et al.
}
} - transaction {advancedPayments/transaction-state-response-detail
- transactionIdstring (≤ 255 chars)Our ID for the transaction.
- deferredbooleanIndicates if the Payment capture is deferred.
- deferralExpiresstring (date-time)
- recurringbooleanIndicates if the payment was a recurring payment.
- instalmentbooleanIndicates if the payment was an instalment.
- merchantRefstring (≤ 255 chars)Your reference for the transaction.
- merchantDescriptionstring (≤ 255 chars)The description of the transaction provided in the request.
- statusstringPossible values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDEDThe current state of the transaction.
- typestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYIndicates the type of the transaction.
- amountfloatIndicates the requested amount of the transaction.
- consumerSpendfloatIndicates the actual amount of the transaction. This will be zero for any type of INITIALIZE transaction, deferred transactions, and rejected transactions.
- currencystring (≤ 3 chars)Indicates the currency of the transaction. Use the 3 character ISO-4217 code.
- transactionTimestring (date-time)The date and time we processed the transaction in ISO-8601 format.
- receivedTimestring (date-time)The date and time we received the transaction in ISO-8601 format.
- commerceTypestringPossible values: ECOM, MOTO, CNPThe Commerce Type of the transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe Sales Channel of the transaction.
- relatedTransaction {advancedPayments/related-transactionThis field is not applicable for Payments. In case of Refunds it indicates the transaction that was refunded.
- transactionIdstring (≤ 255 chars)ReturnedOur ID for the transaction that was original.
- merchantRefstring (≤ 255 chars)Your reference for the transaction that was original.
} - billingDescriptorstring
- customerInitiatedboolean
- stagestringPossible values: INITIALIZE, THREE_D_SECURE, FRAUD_RULES, AUTHORISATION, EXTERNAL_PROCESSING, COMPLETEThe logical stage the transaction has reached.
- continuousAuthorityAgreement {advancedPayments/continuous-authority-agreementThe continuous authority agreement established with the cardholder. Required if you want to process a transaction initiating a recurring or instalment series using 3DSv2.
- minFrequencyinteger (int32, min 1, max 9999)ConditionalMinimum number of days expected between payments in a recurring or instalment sequence. Must be >= 1.
- expirystring (date)ConditionalDate (YYYY-MM-DD) at which recurring/instalment agreement expires, or at which it will need to be re-authenticated in order to continue. Must be in the future.
- numberOfInstalmentsinteger (int32, min 2, max 999)ConditionalTotal number of payments in an instalment sequence - including this one, if starting with a payment. Required only for instalments; must be >= 2.
}
} - paypalSellerProtection {advancedPayments/paypal-seller-protection
- sellerProtectionTypestring (≤ 255 chars)Indicates the level of Seller Protection PayPal has assigned to this transaction. Please refer to PayPal's documentation for more information.
} - outcome {ReturnedadvancedPayments/outcome-response-detailInformation about the overall outcome of the request.
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors. In the case of a decline this message can be very general. There can be useful guidance to the cause of the decline in processing.authResponse.gatewayMessage.
} - anyarray (object items)
- tracestring
- order {advancedPayments/order
- orderRefstring (≤ 255 chars)Your reference for the order. Maximum length: 255.
- taxAmountfloat
- taxRatefloat
- shippingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - items [ {advancedPayments/line-itemList of products/services in the order.
- namestring (≤ 255 chars)ReturnedName of the item. Maximum length: 255.
- descriptionstring (≤ 255 chars)Description of the item. Maximum length: 255.
- itemRefstring (≤ 255 chars)Your reference for the item. Maximum length: 255.
- lineRefstring (≤ 255 chars)Your reference for the line item of the order. Maximum length: 255.
- itemAmountfloatReturnedThe individual amount of the item.
- quantityinteger (int32)The quantity of items in the order. Defaults to 1 if not provided.
- totalAmountfloatThe total amount of the items. Defaults to itemAmount × quantity if not provided.
- itemTaxAmountfloat
- taxRatefloat
- totalTaxAmountfloat
- customFields [ {advancedPayments/custom-field
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} ]
} - strongCustomerAuthentication {advancedPayments/strong-customer-authentication
- transactionTypestringPossible values: GOODS_OR_SERVICES, CHECK_ACCEPTANCE, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATIONDetailed classification of the transaction.
- challengeRequestedstringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
- merchantRisk {advancedPayments/merchant-risk-indicator
- deliveryEmailstring (≤ 254 chars)For electronic delivery, the email address to which the merchandise was delivered.
- deliveryTimeframestringPossible values: ELECTRONIC, SAME_DAY, OVERNIGHT, TWO_OR_MORE_DAYSTime frame for merchandise delivery.
- giftCardPurchase {advancedPayments/gift-card-purchase
- totalAmountinteger (int32)Total value of gift cards being purchased (major units, e.g. for GBP 12.99, use 12).
- currencystring (3 chars)Currency code of cards being purchased.
- countinteger (int32, max 99)Total number of cards being purchased.
} - preorderbooleanWas this a pre-order of merchandise which will be available in the future?
- preorderDatestring (date)For pre-orders, the date at which merchandise is expected to be available.
- reorderbooleanWas the cardholder re-ordering merchandise previously purchased from this merchant?
- shippingTostringPossible values: BILLING_ADDRESS, VERIFIED_ADDRESS, OTHER_ADDRESS, STORE, DIGITAL, TRAVEL_EVENT, OTHERIndicates the type of shipping address (or shipping method) for the merchandise.
} - accountInfo {advancedPayments/account-information
- accountOpened {advancedPayments/account-opened
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was opened.
- datestring (date)Date the account was opened.
} - accountLastChanged {advancedPayments/account-last-changed
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was last changed.
- datestring (date)Date the account was last changed.
} - passwordLastChanged {advancedPayments/password-last-changed
- periodstringPossible values: NO_CHANGE, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the password was last changed.
- datestring (date)Date the password was last changed.
} - activity {advancedPayments/activity
- purchasesInLastSixMonthsinteger (int32, max 9999)Number of purchases made with the account in the previous six months.
- addCardAttemptsInLast24Hoursinteger (int32, max 999)Number of attempts to add a payment card to the account in the previous 24 hours.
- transactionAttemptsInLast24Hoursinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous 24 hours.
- transactionAttemptsInLastYearinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous year.
} - paymentAccountRegistered {advancedPayments/payment-account-registered
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the payment account registration.
- datestring (date)Date the payment account was registered.
} - shippingAddressFirstUsed {advancedPayments/shipping-address-first-used
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the first use of the shipping address.
- datestring (date)Date the shipping address was first used.
} - shippingNameSameAsAccountNamebooleanIs the name on the account identical to the recipient name in the shipping address?
- suspiciousActivitybooleanHas suspicious activity (including fraud) previously occurred on this account?
} - authenticationInfo {advancedPayments/authentication-with-merchant-information
- methodstringPossible values: NONE, MERCHANT_CREDENTIAL, FEDERATED_CREDENTIAL, ISSUER_CREDENTIAL, THIRD_PARTY, FIDO_AUTHENTICATORMethod used to authenticate.
- timestring (date-time)Date/time (in UTC) of authentication.
} - priorAuthenticationInfo {advancedPayments/prior3-d-sv2-authentication-information
- referencestring (36 chars)ACS transaction ID (returned in threeDSecure.acsTransactionId) for the previous authentication.
- methodstringPossible values: FRICTIONLESS_AUTH, CHALLENGE_AUTH, AVS, OTHER_ISSUERMethod used in prior authentication.
- timestring (date-time)Date/time (in UTC) of prior authentication.
}
} - schedule {advancedPayments/schedule-response-detail
- scheduleIdstringThe identifier for the created schedule
- errorstringDetails of the causes of the error if an error occurred creating the schedule.
} - recipient {advancedPayments/recipient-detailsPayout recipient details, required by some acquirers.
- givenNamestring (≤ 255 chars)Recipient given name.
- surnamestring (≤ 255 chars)Recipient surname.
} - link [ {advancedPayments/link
- hrefstringDirect link to the resource.
- relstringIdentifies the relationship to the requested resource.
} ]
}
400Invalid request
response body:
shared schema
advancedPayments/validation-failure-outcome{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors.
- fieldErrors [ {advancedPayments/field-error
- fieldstring
- messagestring
} ]
}
401Unauthorized
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
403Forbidden
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
500Internal Server Error
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
Refund a Payment
POST/acceptor/rest/transactions/{instId}/{transactionId}/refundRefund a Pay by Bank payment#
description:
Refunds a previously processed Pay by Bank payment, in full or in part, for the given installation
authorization:HTTP Basic
content-type: application/json
path parameters:
{
- instIdstringMandatoryInstallation identifier
- transactionIdstringMandatoryIdentifier of the original Pay by Bank transaction being refunded
}
request body:
shared schema
advancedPayments/detailed-secondary-manage-rest-request{
- transaction {advancedPayments/secondary-transaction-detailsDetails of the transaction you want to create.
- currencystring (≤ 255 chars)The currency of your Customer's transaction. Use the 3 character ISO-4217 code.
- amountfloatThe amount of your Customer's transaction.
- descriptionstring (≤ 255 chars)The description of the transaction. Maximum length: 255.
- merchantRefstring (≤ 255 chars)Your reference for the transaction. Max length: 255. It's recommended that you keep this unique.
- commerceTypestringPossible values: ECOM, MOTO, CNPThe Commerce Type of the transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe Sales Channel for the transaction. If not provided it will be inherited from the original transaction.
- deferredbooleanIndicates if you want the Payment to be Authorised and Captured separately.
- recurringbooleanWhether to process this payment as a recurring payment. If not provided then it will be inherited from the original transaction.
- instalmentbooleanWhether to process this payment as an instalment. If not provided then it will be inherited from the original transaction.
- billingDescriptorstring
} - transactionOptions {advancedPayments/transaction-options
- cardFraudManagement {advancedPayments/card-fraud-management
- cardDuplicationstringPossible values: IGNORE
- cardRemovalstringPossible values: IGNORE
} - motoIgnoreCustomerIPboolean
- do3DSecurebooleanIndicates if the transaction should be processed with 3DS. This will override account configuration for 3DS.
- sendEmailReceiptbooleanIf true, an email receipt will be sent for this transaction. If false, no receipt will be sent. If not present, your account configuration determines if an email is sent.
- providerstringPossible values: SAFETYPAY
- provisionNetworkTokenbooleanSet false to opt out of provisioning a token Omit or set true to provision according to account configuration.
} - customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)MandatoryThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - callbacks {advancedPayments/callback-request-details
- expiryNotification {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - preAuthCallback {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - postAuthCallback {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
} - transactionNotification {advancedPayments/callback-detail
- urlstringThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstring (≤ 255 chars)The format of the callback content.
}
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, including loan repayments and other credit-related activities. UK- and Europe-based merchants with merchant category code (MCC) 6012, and some merchants coded MCC 6051 or MCC 7299, are required to provide this information about the primary recipient, who may be different from the customer making payment. Consult your acquirer if you are not sure whether you should submit this. Cannot be submitted in conjunction with accountFunding.
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. If the name is longer than six characters, then provide the first six. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. If this is a PAN, then provide the first six and last four digits of the PAN. Otherwise, provide up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - clientInfoDetails {advancedPayments/client-info-details
- sdkVersionstringMandatory
- merchantAppNamestringMandatory
- merchantAppVersionstringMandatory
- sdkInstallIdstringMandatory
- osFamilystringMandatory
- osNamestringMandatory
- modelNamestringMandatory
- modelFamilystringMandatory
- manufacturerstringMandatory
- typestringMandatory
- screenResstringMandatory
- screenDpiinteger (int32)Mandatory
} - schedule {advancedPayments/schedule-definition
- startDatestring (date)The date the schedule becomes active and, if relevant that epiode calculations start from
- timeOfDaystring (time)The time of day that any episodes will be triggered, as HH:mm:ss
- frequency {ConditionaladvancedPayments/frequencyOne and only one of Fixed, Frequency or Pattern must be provided
- unitstringMandatoryPossible values: DAY, WEEK, MONTH, YEARunit must be provided for a frequency schedule
- quantityinteger (int32)default: 1
- ratestringPossible values: FIXED, RELATIVEdefault: RELATIVE
} - pattern {ConditionaladvancedPayments/patternOne and only one of Fixed, Frequency or Pattern must be provided
- dayOfWeekstringPossible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAYThe specific day of the week to peform the transaction
- daysOfWeekarray (string items)Possible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAYThe specific days of the week to peform the transaction
- dayOfMonthinteger (int32)There specific day of the month to peform the transaction (up to 31, in shorter months this will run on the last day of the month)
- daysOfMontharray (int32 items)The specific days of the month to peform the transaction (up to 31, in shorter months this will run on the last day of the month)
- weekOfMonthinteger (int32)The specific week of the month to peform the transaction (up to 4)
- weeksOfMontharray (int32 items)The specific weeks of the month to peform the transaction (up to 4)
- monthOfYearstringPossible values: JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
- monthsOfYeararray (string items)Possible values: JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
} - fixedarray (date items)Conditionalthe dates on which an episode will be triggered. One and only one of Fixed, Frequency or Pattern must be provided
- terminator {advancedPayments/terminator
- episodeLimitinteger (int32)Conditionalthe number of episodes to run before the schedule is complete
- endOnstring (date)Conditionalthe scheduler will not run after this date. If there is an episode due on this date, it will be run.
- suspend {advancedPayments/suspend
- failureCountinteger (int32)The number episode failures before the Schedule suspends (this should be higher than the maximum retry count)
}
} - retry {advancedPayments/retry
- unitstringMandatoryPossible values: HOUR, DAY, WEEK, MONTHcombined with quantity when and should a retry be attempted
- quantityinteger (int32)combined with unit when and should a retry be attempted
- maxRetriesinteger (int32)How many retries shoudl be attewmpted before the episode fails.
- processWhileRetryingbooleancontinue to process scheduled episodes while retrying a failed epsiode. default: false.
- catchupAfterRetryingbooleanprocess any episodes missed while retrying a failed epsiode. default: false.
} - amountsarray (number items)specific amounts to process in order. If there are less amounts than episodes the final amount will repeat. If no amounts are specified the amount on the original transaction will be used.
- merchantRefstringA merchant defined reference to be added to the repeated repeats triggered by the schedule. If the place-holder {DATE} is included this will be replaced by the date the payment is actually processed in yyyy-MM-dd format. If the place-holder {EPISODE_INDEX} is used this will be replaced with the index of the episode which triggered the transaction.
- descriptionstringA merchant defined description to be added to the repeated repeats triggered by the schedule. If the place-holder {DATE} is included this will be replaced by the date the payment is actually processed in yyyy-MM-dd format. If the place-holder {EPISODE_INDEX} is used this will be replaced with the index of the episode which triggered the transaction.
}
}
Responses
201Refund processed
response body:
shared schema
advancedPayments/transaction-response-resource{
- processing {advancedPayments/processing-response-detailInformation about the authorisation status of your transaction.
- modelstringPossible values: MANAGE, REPORT, ADVICE, IMPORT
- authResponse {advancedPayments/auth-response-detail
- statusCodestring (≤ 255 chars)The code for the status received from the authoriser, if applicable.
- acquirerReferencestring (≤ 255 chars)The reference received from the authoriser for your transaction, if applicable.
- acquirerNamestring (≤ 255 chars)Name of the authoriser, if applicable.
- messagestring (≤ 255 chars)The message received from the authoriser, if applicable.
- authCodestring (≤ 255 chars)The code received from the authoriser, if applicable.
- gatewayReferencestring (≤ 255 chars)The reference received from the processing engine.
- gatewaySettlementstring (date)The date the processing engine will settle the transaction. in YYYY-MM-DD format.
- gatewayCodestring (≤ 255 chars)The code for the status received from the processing engine.
- gatewayMessagestring (≤ 255 chars)The message received from the processing engine.
- avsAddressCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the Address Verification checks, if applicable, if applicable.
- avsPostcodeCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the PostCode Verification checks, if applicable.
- cv2CheckstringPossible values: NOT_CHECKED, MATCHED, NOT_MATCHEDResults for the CV2 Verification checks, if applicable.
- gatewayStatusstring (≤ 255 chars)The status received from the processing engine.
- statusstringPossible values: AUTHORISED, DECLINED, REVERSED, REVERSE_FAILED, ERROR, PROCESSINGThe status received from the authoriser, if applicable.
- correlationIds [ {advancedPayments/correlation-id
- namestringReturnedPossible values: SET, GET, DO, REFUND, VOID, CAPTURE
- valuestringReturnedThe ID assigned to the transaction by PayPal. In the event of a technical issue, PayPal will require this ID for investigation purposes.
} ] - recurringAdvicestringPossible values: STOPOnly in the response when the Cardholder has advised their bank to stop this recurring or instalment payment.
} - authData {advancedPayments/auth-data
- acquirerNamestring (≤ 255 chars)The name of the acquirer. Maximum of 255 characters.
- acquirerstring (write-only)
} - decision {advancedPayments/decision-detailInformation about the results of a Fraud check.
- decisionResultstringPossible values: DEFER, BLOCK, PROCEEDThe result of the Fraud check.
- decisionSourcestringPossible values: RULE, TERRITORY_MANAGEMENT, BLACKLIST, NEGATIVE_LIST, WHITELIST, POSITIVE_LIST, RISK_CONTROLSWhat caused the Fraud check result.
- requestedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe type of transaction that was submitted to Access PaySuite Advanced Payments.
- decidedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe new transaction type for the transaction following the Fraud check. For example, a transaction submitted as a Payment may be updated to an Authorisation (PreAuth) to allow manual review before the transaction is approved for settlement.
- rulesTriggered [ {advancedPayments/rule-triggeredAn array containing information about the Optimize fraud rules triggered.
- namestringThe rule name.
- actionstringThe action advised by the rule.
- descriptionstringThe rule description.
- deferParameterstring
} ] - decisionReasonstringPossible values: DERIVED_BY_TRIGGERED_RULE_ACTION, DECIDED_BY_RISK_CONTROLS, RULE_ENGINE_UNAVAILABLE, UNABLE_TO_DEFER_TRANSACTION, NO_RULES_TRIGGEREDThe reason for the decision.
} - routestring (≤ 255 chars)The name of the processing engine your transaction was submitted to.
- routeData {advancedPayments/route-data
- fundsstring (≤ 255 chars)
- paymentDescriptorstring (≤ 255 chars)
} - voidSuccessfulbooleanIndicates if the transaction was voided by a Post Authorisation callback.
} - clientRedirect {advancedPayments/redirect-response-detailInformation about where to send your customer in the case of 3DS or a Callback.
- typestring (≤ 255 chars)ReturnedThe type of client redirect.
- urlstringReturnedThe URL the Customer should be redirected to.
- framestringPossible values: CONTAINER, TOPThe redirect type when the transaction is set to suspend and redirect to a new URL.
- pareqstringReturned when the transaction is suspended for 3DS authorisation.
- threeDSServerTransIdstring
- customerInstructions {advancedPayments/customer-instructions
- htmlstring
- expirationDatestring
- workingHoursUrlstring
}
} - paymentMethod {advancedPayments/payment-method-response-detailInformation about the Payment Method used in the request.
- registeredbooleanIndicates that the customer choose to register this card payment method. This field will not be present for non-card payment methods.
- isPrimarybooleanIndicates if this was Customer's primary registered payment method.
- paymentAccountFingerprintstringMerchant defined unique identifier for the payment method.
- billingAddress {advancedPayments/postal-addressThe billing address of the Customer. Will be used for AVS checks. We'll save the billing address when the customer makes their first payment. Providing a billing address for subsequent payments will update the address we've saved if you send new, empty or no values for each field.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - reuse {advancedPayments/payment-method-reuse-response
- storagestringPossible values: NEW, EXISTING, NONESpecifies whether the payment credentials for this transaction will be stored, are being reused, or will not be stored. This will reflect any override in the request.
- agreementstringPossible values: RECURRING, INSTALMENT, ADHOCSpecifies the agreement under which stored credentials will be used/are being reused. This will reflect any override in the request.
- originalSchemeReferencestringScheme reference corresponding to the transaction that first stored a payment credential, if available. This will reflect any value given in the request. Where Access PaySuite has stored and reused a value on behalf of the merchant, it will be shown here.
- receivedSchemeReferencestringScheme reference corresponding to the transaction that has been created, if one was received. For the initial storage of payment credentials, this will be the value that Access PaySuite will store and reuse on behalf of the merchant when necessary. For transactions which reuse a stored payment credential, this value may or may not differ from that of originalSchemeReference.
} - paymentClassstring (≤ 255 chars)ReturnedThe classification of payment method used.
- card {ConditionaladvancedPayments/card-response-detailPresent when the payment method was a card. Only one payment method object is returned, indicated by paymentClass.
- cardTokenstringThe token for the card.
- cardFingerprintstringAn identifier for the card number. If multiple customers register cards with the same PAN they will get different card tokens, but the card fingerprint will be the same for them all. When a saved card is backed by a Network Token rather than the original PAN, the field is not populated.
- cardTypestring (≤ 255 chars)The type of card. Eg. MC_DEBIT, VISA_CREDIT, AMEX.
- cardUsageTypestringPossible values: CREDIT, DEBITThe usage type of card. Eg. DEBIT, CREDIT.
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe scheme of card. Eg. VISA, MASTERCARD, AMEX.
- cardCategorystringPossible values: CREDIT, DEBIT, ELECTRON, COMMERCIAL, BUSINESS, CORPORATE, PURCHASING, SIGNIA, WORLD, FLEET, MAESTRO_INTL, MAESTRO_UK, MAESTRO_UK_DOM, LASERThe category of card. Eg. CREDIT, DEBIT, CORPORATE, BUSINESS.
- maskedPanstring (≤ 255 chars)The masked card number. eg. 123456******1234. Where possible, this will include the first six and last four digits; in some cases, only the last four digits will be available.
- expiryDatestring (≤ 255 chars)The expiry date of the card. Formatted as MMYY.
- issuerstring (≤ 255 chars)The Issuer of the card.
- issuerCountrystring (≤ 255 chars)The country of the card Issuer.
- cardHolderNamestring (≤ 255 chars)The Cardholder's name.
- cardNicknamestring (≤ 255 chars)The name the Customer provided for their Card to allow easy selection where they registered multiple cards.
- issueNumberstring (≤ 255 chars)The issue number of the card used in the request.
- validDatestring (≤ 255 chars)The valid from date of the card. Formatted as MMYY.
- sourcestringPossible values: VISA_CHECKOUT, GOOGLEPAYThis will always be GOOGLEPAY.
- networkToken {advancedPayments/network-tokenOnly present if a network token was provisioned or used during this transaction
- statusstringPossible values: ACTIVE, SUSPENDED, DELETED, EXPIRED, UNPROVISIONEDStatus of the token at the time of this transaction: ACTIVE - active and usable SUSPENDED - temporarily suspended, may be re-activated in future DELETED - permanently deleted; need to re-engage cardholder EXPIRED - expired, should be refreshed in future UNPROVISIONED - no token
- usagestringPossible values: PROVISIONED, PROVISIONED_AND_USED, PROVISION_FAILED, USED, RENEWEDWhat happened to the token during this transaction: PROVISIONED - transaction created a network token PROVISION_FAILED - tried to create a network token but failed USED - transaction used an existing network token
- tokenErrorstringPossible values: CARD_TOKENISATION_NOT_ALLOWED, DECLINED, SERVICE_UNAVAILABLE, SYSTEM_ERRORReason for provisioning failure: CARD_TOKENISATION_NOT_ALLOWED - card not supported (or, not at this time) DECLINED - card scheme or issuer refused to provision a network token SERVICE_UNAVAILABLE - scheme token service not available SYSTEM_ERROR - unspecified error attempting to provision
- expiryDatestringToken expiry date. Formatted as MMYY.
} - newboolean
} - paypal {ConditionaladvancedPayments/pay-pal-response-detailPresent when the payment method was PayPal. Only one payment method object is returned, indicated by paymentClass.
- payerIDstring (≤ 255 chars)PayPal's identifier for the payer.
- emailstring (≤ 255 chars)The email associated with the PayPal account.
- accountVerifiedbooleanIndicates whether PayPal has verified the account.
- checkoutTokenstringThe PayPal checkout token for the session the payment was taken in.
- sourcestringPossible values: PAYPAL, PAYPAL_ONE_TOUCHWhich PayPal integration took the payment - PAYPAL for Express Checkout, or PAYPAL_ONE_TOUCH.
- bnCodestringThe PayPal partner attribution code the payment was made under.
- payeeAccountstringThe PayPal account the funds were paid to.
} - applepay {ConditionaladvancedPayments/apple-pay-response-detailPresent when the payment method was Apple Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Apple Pay uses for this card (e.g. VISA 1234)
- transactionIdentifierstring (≤ 255 chars)
- cardTypestring (≤ 255 chars)Information about the type of card used by the Apple Pay transaction.
- cardUsageTypestringPossible values: CREDIT, DEBITThe card usage type (credit or debit)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The token for the card.
} - googlepay {ConditionaladvancedPayments/google-pay-response-detailPresent when the payment method was Google Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Google Pay uses for this card (e.g. Visa •••• 1111)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The unique token for the payment method, returned when a card is registered. A savedAccountToken will be returned for both Google Pay non-tokenized cards (FPAN) and Android device token (DPAN) payment methods and can be used to make subsequent payments of that type.
- cardDetailsstringDescrptive details of the card as provided by Google Pay. This will always be the last 4 digits of the card number
- cardHolderNamestringThe cardholder name for the Google Pay payment method
} - merchantDefined {ConditionaladvancedPayments/merchant-defined-response-detailPresent when the payment method was merchant defined. Only one payment method object is returned, indicated by paymentClass.
- accountHolderNamestring (≤ 255 chars)The account holder name that was supplied in the request.
- paymentMethodNamestring (≤ 127 chars)The payment method name that was supplied in the request.
} - openbanking {ConditionaladvancedPayments/open-banking-response-detailPresent when the payment method was Pay by Bank. Only one payment method object is returned, indicated by paymentClass.
- remittanceReferencestringThe reference the payer's bank shows against the payment.
- userInterfaceDetailsobject (map)Details the payer's bank supplied for display, as name and value pairs. The members vary by bank.
- account {advancedPayments/open-banking-accountThe bank account the payment came from.
- sortCodestringSort code of the payer's bank account.
- accountNumberstringNumber of the payer's bank account.
- bankNamestringName of the payer's bank.
} - multiAuthorisationstringPossible values: AUTHORISED, INCOMPLETEWhere the payer's bank requires more than one person to authorise a payment, whether every authorisation has been given yet.
- modestringPossible values: REDIRECTHow the payer was taken to their bank to authorise the payment.
}
} - customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - threeDSecure {advancedPayments/three-d-secure-response-detailInformation about the 3D Secure status of your transaction.
- versioninteger (int32)Major version of 3D Secure applied to this transaction.
- protocolVersionstring (≤ 255 chars)Full protocol version of 3D Secure applied to this transaction.
- versionsAttempted [ {advancedPayments/three-d-secure-version-attemptedVersions of 3D Secure that were attempted for this transaction, in order of use. This can be used to determine when 3DSv2 could not be used, and why. A version will only be included in this list if it was meaningfully attempted, which means that the transaction must have been eligible (e.g. type, channel, payment method etc.) and the merchant's account must have been capable (e.g. the corresponding 3D Secure version was enabled on the MID, etc.) This field may be populated even if no others in this section are, e.g. to indicate that the issuer didn't support any version of 3D Secure.
- versioninteger (int32, min 1, max 2)Major version of 3D Secure that was attempted.
- availabilitystringPossible values: INSUFFICIENT_DATA, ISSUER_NO_V2, ISSUER_NO_V1, ISSUER_NO_3DS, ERROR, AVAILABLEHigh-level indication of the actual availability of the given 3D Secure version and what happened during the attempt to use it.
} ] - schemestring (≤ 255 chars)The scheme that processed the transaction for 3DS.
- statusstringPossible values: AUTHENTICATED, BYPASSED, FAILED, NOT_ENROLLED, ATTEMPTED, ENROLMENT_CHECK_FAILURE, INCOMPLETE, NOT_AVAILABLE, NOT_IMPLEMENTEDThe overall 3DS result for the transaction.
- ecistring (≤ 255 chars)Electronic Commerce Indicator (ECI) for this transaction; used by the card issuer/scheme/acquirer to describe the security (inc. authentication) that has been applied. This value reflects what was obtained from the 3D Secure process; it may be modified/transformed prior to submission to an acquirer. It is provided for informational purposes only; merchants do not need to use it as part of processing, and should rely on the status and other fields for a stable interpretation of the outcome. Common values include: 01 - Attempted authentication (Mastercard) 02 - Authenticated (Mastercard) 05 - Authenticated (Visa, American Express) 06 - Attempted authentication (Visa, American Express) 07/00 - Not authenticated/no 3D Secure Other values not listed here may be seen for some types of transaction, at the discretion of the card scheme and/or ACS operator.
- threeDSServerTransIdstring (≤ 255 chars)Access PaySuite 3DSv2 transaction ID.
- dsTransactionIdstring (≤ 255 chars)Directory Server 3DSv2 transaction ID.
- acsTransactionIdstring (≤ 255 chars)Access Control Server (ACS) 3DSv2 transaction ID.
- challengeRequeststringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATEDIndicates whether a challenge was ultimately requested or not; this reflects the final 3DSv2 request made by Access PaySuite Advanced Payments after taking into account any merchant preference and card scheme rules.
- frictionlessbooleanWhether the cardholder was authenticated without a challenge (frictionless flow).
- cardHolderMessagestringMessage returned by the issuer containing instructions for the cardholder.
} - customer {advancedPayments/return-customer-detailInformation about the Customer.
- idstring (≤ 255 chars)Our ID for the Customer.
- merchantRefstring (≤ 255 chars)Your reference for the Customer.
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, echoed from the request
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. For a PAN, the first six and last four digits of the PAN; otherwise up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - accountFunding {advancedPayments/account-fundingSupplementary data for Account Funding Transactions (AFT), echoed from the request
- recipient {advancedPayments/account-funding-recipient-detailsDetails about the funding recipient
- givenNamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's given name
- surnamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's surname/family name
- addressstring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's address
- citystring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient city
- statestring (2–3 chars, pattern ^[A-Za-z0-9]+$)ConditionalOnly for recipients based in the US or Canada Recipient state/province code (2-3 characters), e.g. "CA", "DE", "MD", "TN" et al. in the US; "AB", "ON", "QC", "SK" et al. in Canada
- countryCodestring (≤ 3 chars, pattern ^[A-Z]+$)Recipient country code (ISO-3166-alpha-3), e.g. "CAN", "GBR", "USA" et al.
}
} - transaction {advancedPayments/transaction-state-response-detail
- transactionIdstring (≤ 255 chars)Our ID for the transaction.
- deferredbooleanIndicates if the Payment capture is deferred.
- deferralExpiresstring (date-time)
- recurringbooleanIndicates if the payment was a recurring payment.
- instalmentbooleanIndicates if the payment was an instalment.
- merchantRefstring (≤ 255 chars)Your reference for the transaction.
- merchantDescriptionstring (≤ 255 chars)The description of the transaction provided in the request.
- statusstringPossible values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDEDThe current state of the transaction.
- typestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYIndicates the type of the transaction.
- amountfloatIndicates the requested amount of the transaction.
- consumerSpendfloatIndicates the actual amount of the transaction. This will be zero for any type of INITIALIZE transaction, deferred transactions, and rejected transactions.
- currencystring (≤ 3 chars)Indicates the currency of the transaction. Use the 3 character ISO-4217 code.
- transactionTimestring (date-time)The date and time we processed the transaction in ISO-8601 format.
- receivedTimestring (date-time)The date and time we received the transaction in ISO-8601 format.
- commerceTypestringPossible values: ECOM, MOTO, CNPThe Commerce Type of the transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe Sales Channel of the transaction.
- relatedTransaction {advancedPayments/related-transactionThis field is not applicable for Payments. In case of Refunds it indicates the transaction that was refunded.
- transactionIdstring (≤ 255 chars)ReturnedOur ID for the transaction that was original.
- merchantRefstring (≤ 255 chars)Your reference for the transaction that was original.
} - billingDescriptorstring
- customerInitiatedboolean
- stagestringPossible values: INITIALIZE, THREE_D_SECURE, FRAUD_RULES, AUTHORISATION, EXTERNAL_PROCESSING, COMPLETEThe logical stage the transaction has reached.
- continuousAuthorityAgreement {advancedPayments/continuous-authority-agreementThe continuous authority agreement established with the cardholder. Required if you want to process a transaction initiating a recurring or instalment series using 3DSv2.
- minFrequencyinteger (int32, min 1, max 9999)ConditionalMinimum number of days expected between payments in a recurring or instalment sequence. Must be >= 1.
- expirystring (date)ConditionalDate (YYYY-MM-DD) at which recurring/instalment agreement expires, or at which it will need to be re-authenticated in order to continue. Must be in the future.
- numberOfInstalmentsinteger (int32, min 2, max 999)ConditionalTotal number of payments in an instalment sequence - including this one, if starting with a payment. Required only for instalments; must be >= 2.
}
} - paypalSellerProtection {advancedPayments/paypal-seller-protection
- sellerProtectionTypestring (≤ 255 chars)Indicates the level of Seller Protection PayPal has assigned to this transaction. Please refer to PayPal's documentation for more information.
} - outcome {ReturnedadvancedPayments/outcome-response-detailInformation about the overall outcome of the request.
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors. In the case of a decline this message can be very general. There can be useful guidance to the cause of the decline in processing.authResponse.gatewayMessage.
} - anyarray (object items)
- tracestring
- order {advancedPayments/order
- orderRefstring (≤ 255 chars)Your reference for the order. Maximum length: 255.
- taxAmountfloat
- taxRatefloat
- shippingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - items [ {advancedPayments/line-itemList of products/services in the order.
- namestring (≤ 255 chars)ReturnedName of the item. Maximum length: 255.
- descriptionstring (≤ 255 chars)Description of the item. Maximum length: 255.
- itemRefstring (≤ 255 chars)Your reference for the item. Maximum length: 255.
- lineRefstring (≤ 255 chars)Your reference for the line item of the order. Maximum length: 255.
- itemAmountfloatReturnedThe individual amount of the item.
- quantityinteger (int32)The quantity of items in the order. Defaults to 1 if not provided.
- totalAmountfloatThe total amount of the items. Defaults to itemAmount × quantity if not provided.
- itemTaxAmountfloat
- taxRatefloat
- totalTaxAmountfloat
- customFields [ {advancedPayments/custom-field
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} ]
} - strongCustomerAuthentication {advancedPayments/strong-customer-authentication
- transactionTypestringPossible values: GOODS_OR_SERVICES, CHECK_ACCEPTANCE, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATIONDetailed classification of the transaction.
- challengeRequestedstringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
- merchantRisk {advancedPayments/merchant-risk-indicator
- deliveryEmailstring (≤ 254 chars)For electronic delivery, the email address to which the merchandise was delivered.
- deliveryTimeframestringPossible values: ELECTRONIC, SAME_DAY, OVERNIGHT, TWO_OR_MORE_DAYSTime frame for merchandise delivery.
- giftCardPurchase {advancedPayments/gift-card-purchase
- totalAmountinteger (int32)Total value of gift cards being purchased (major units, e.g. for GBP 12.99, use 12).
- currencystring (3 chars)Currency code of cards being purchased.
- countinteger (int32, max 99)Total number of cards being purchased.
} - preorderbooleanWas this a pre-order of merchandise which will be available in the future?
- preorderDatestring (date)For pre-orders, the date at which merchandise is expected to be available.
- reorderbooleanWas the cardholder re-ordering merchandise previously purchased from this merchant?
- shippingTostringPossible values: BILLING_ADDRESS, VERIFIED_ADDRESS, OTHER_ADDRESS, STORE, DIGITAL, TRAVEL_EVENT, OTHERIndicates the type of shipping address (or shipping method) for the merchandise.
} - accountInfo {advancedPayments/account-information
- accountOpened {advancedPayments/account-opened
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was opened.
- datestring (date)Date the account was opened.
} - accountLastChanged {advancedPayments/account-last-changed
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was last changed.
- datestring (date)Date the account was last changed.
} - passwordLastChanged {advancedPayments/password-last-changed
- periodstringPossible values: NO_CHANGE, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the password was last changed.
- datestring (date)Date the password was last changed.
} - activity {advancedPayments/activity
- purchasesInLastSixMonthsinteger (int32, max 9999)Number of purchases made with the account in the previous six months.
- addCardAttemptsInLast24Hoursinteger (int32, max 999)Number of attempts to add a payment card to the account in the previous 24 hours.
- transactionAttemptsInLast24Hoursinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous 24 hours.
- transactionAttemptsInLastYearinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous year.
} - paymentAccountRegistered {advancedPayments/payment-account-registered
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the payment account registration.
- datestring (date)Date the payment account was registered.
} - shippingAddressFirstUsed {advancedPayments/shipping-address-first-used
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the first use of the shipping address.
- datestring (date)Date the shipping address was first used.
} - shippingNameSameAsAccountNamebooleanIs the name on the account identical to the recipient name in the shipping address?
- suspiciousActivitybooleanHas suspicious activity (including fraud) previously occurred on this account?
} - authenticationInfo {advancedPayments/authentication-with-merchant-information
- methodstringPossible values: NONE, MERCHANT_CREDENTIAL, FEDERATED_CREDENTIAL, ISSUER_CREDENTIAL, THIRD_PARTY, FIDO_AUTHENTICATORMethod used to authenticate.
- timestring (date-time)Date/time (in UTC) of authentication.
} - priorAuthenticationInfo {advancedPayments/prior3-d-sv2-authentication-information
- referencestring (36 chars)ACS transaction ID (returned in threeDSecure.acsTransactionId) for the previous authentication.
- methodstringPossible values: FRICTIONLESS_AUTH, CHALLENGE_AUTH, AVS, OTHER_ISSUERMethod used in prior authentication.
- timestring (date-time)Date/time (in UTC) of prior authentication.
}
} - schedule {advancedPayments/schedule-response-detail
- scheduleIdstringThe identifier for the created schedule
- errorstringDetails of the causes of the error if an error occurred creating the schedule.
} - recipient {advancedPayments/recipient-detailsPayout recipient details, required by some acquirers.
- givenNamestring (≤ 255 chars)Recipient given name.
- surnamestring (≤ 255 chars)Recipient surname.
} - link [ {advancedPayments/link
- hrefstringDirect link to the resource.
- relstringIdentifies the relationship to the requested resource.
} ]
}
400Refund rejected
response body:
shared schema
advancedPayments/transaction-response-resource{
- processing {advancedPayments/processing-response-detailInformation about the authorisation status of your transaction.
- modelstringPossible values: MANAGE, REPORT, ADVICE, IMPORT
- authResponse {advancedPayments/auth-response-detail
- statusCodestring (≤ 255 chars)The code for the status received from the authoriser, if applicable.
- acquirerReferencestring (≤ 255 chars)The reference received from the authoriser for your transaction, if applicable.
- acquirerNamestring (≤ 255 chars)Name of the authoriser, if applicable.
- messagestring (≤ 255 chars)The message received from the authoriser, if applicable.
- authCodestring (≤ 255 chars)The code received from the authoriser, if applicable.
- gatewayReferencestring (≤ 255 chars)The reference received from the processing engine.
- gatewaySettlementstring (date)The date the processing engine will settle the transaction. in YYYY-MM-DD format.
- gatewayCodestring (≤ 255 chars)The code for the status received from the processing engine.
- gatewayMessagestring (≤ 255 chars)The message received from the processing engine.
- avsAddressCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the Address Verification checks, if applicable, if applicable.
- avsPostcodeCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the PostCode Verification checks, if applicable.
- cv2CheckstringPossible values: NOT_CHECKED, MATCHED, NOT_MATCHEDResults for the CV2 Verification checks, if applicable.
- gatewayStatusstring (≤ 255 chars)The status received from the processing engine.
- statusstringPossible values: AUTHORISED, DECLINED, REVERSED, REVERSE_FAILED, ERROR, PROCESSINGThe status received from the authoriser, if applicable.
- correlationIds [ {advancedPayments/correlation-id
- namestringReturnedPossible values: SET, GET, DO, REFUND, VOID, CAPTURE
- valuestringReturnedThe ID assigned to the transaction by PayPal. In the event of a technical issue, PayPal will require this ID for investigation purposes.
} ] - recurringAdvicestringPossible values: STOPOnly in the response when the Cardholder has advised their bank to stop this recurring or instalment payment.
} - authData {advancedPayments/auth-data
- acquirerNamestring (≤ 255 chars)The name of the acquirer. Maximum of 255 characters.
- acquirerstring (write-only)
} - decision {advancedPayments/decision-detailInformation about the results of a Fraud check.
- decisionResultstringPossible values: DEFER, BLOCK, PROCEEDThe result of the Fraud check.
- decisionSourcestringPossible values: RULE, TERRITORY_MANAGEMENT, BLACKLIST, NEGATIVE_LIST, WHITELIST, POSITIVE_LIST, RISK_CONTROLSWhat caused the Fraud check result.
- requestedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe type of transaction that was submitted to Access PaySuite Advanced Payments.
- decidedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe new transaction type for the transaction following the Fraud check. For example, a transaction submitted as a Payment may be updated to an Authorisation (PreAuth) to allow manual review before the transaction is approved for settlement.
- rulesTriggered [ {advancedPayments/rule-triggeredAn array containing information about the Optimize fraud rules triggered.
- namestringThe rule name.
- actionstringThe action advised by the rule.
- descriptionstringThe rule description.
- deferParameterstring
} ] - decisionReasonstringPossible values: DERIVED_BY_TRIGGERED_RULE_ACTION, DECIDED_BY_RISK_CONTROLS, RULE_ENGINE_UNAVAILABLE, UNABLE_TO_DEFER_TRANSACTION, NO_RULES_TRIGGEREDThe reason for the decision.
} - routestring (≤ 255 chars)The name of the processing engine your transaction was submitted to.
- routeData {advancedPayments/route-data
- fundsstring (≤ 255 chars)
- paymentDescriptorstring (≤ 255 chars)
} - voidSuccessfulbooleanIndicates if the transaction was voided by a Post Authorisation callback.
} - clientRedirect {advancedPayments/redirect-response-detailInformation about where to send your customer in the case of 3DS or a Callback.
- typestring (≤ 255 chars)ReturnedThe type of client redirect.
- urlstringReturnedThe URL the Customer should be redirected to.
- framestringPossible values: CONTAINER, TOPThe redirect type when the transaction is set to suspend and redirect to a new URL.
- pareqstringReturned when the transaction is suspended for 3DS authorisation.
- threeDSServerTransIdstring
- customerInstructions {advancedPayments/customer-instructions
- htmlstring
- expirationDatestring
- workingHoursUrlstring
}
} - paymentMethod {advancedPayments/payment-method-response-detailInformation about the Payment Method used in the request.
- registeredbooleanIndicates that the customer choose to register this card payment method. This field will not be present for non-card payment methods.
- isPrimarybooleanIndicates if this was Customer's primary registered payment method.
- paymentAccountFingerprintstringMerchant defined unique identifier for the payment method.
- billingAddress {advancedPayments/postal-addressThe billing address of the Customer. Will be used for AVS checks. We'll save the billing address when the customer makes their first payment. Providing a billing address for subsequent payments will update the address we've saved if you send new, empty or no values for each field.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - reuse {advancedPayments/payment-method-reuse-response
- storagestringPossible values: NEW, EXISTING, NONESpecifies whether the payment credentials for this transaction will be stored, are being reused, or will not be stored. This will reflect any override in the request.
- agreementstringPossible values: RECURRING, INSTALMENT, ADHOCSpecifies the agreement under which stored credentials will be used/are being reused. This will reflect any override in the request.
- originalSchemeReferencestringScheme reference corresponding to the transaction that first stored a payment credential, if available. This will reflect any value given in the request. Where Access PaySuite has stored and reused a value on behalf of the merchant, it will be shown here.
- receivedSchemeReferencestringScheme reference corresponding to the transaction that has been created, if one was received. For the initial storage of payment credentials, this will be the value that Access PaySuite will store and reuse on behalf of the merchant when necessary. For transactions which reuse a stored payment credential, this value may or may not differ from that of originalSchemeReference.
} - paymentClassstring (≤ 255 chars)ReturnedThe classification of payment method used.
- card {ConditionaladvancedPayments/card-response-detailPresent when the payment method was a card. Only one payment method object is returned, indicated by paymentClass.
- cardTokenstringThe token for the card.
- cardFingerprintstringAn identifier for the card number. If multiple customers register cards with the same PAN they will get different card tokens, but the card fingerprint will be the same for them all. When a saved card is backed by a Network Token rather than the original PAN, the field is not populated.
- cardTypestring (≤ 255 chars)The type of card. Eg. MC_DEBIT, VISA_CREDIT, AMEX.
- cardUsageTypestringPossible values: CREDIT, DEBITThe usage type of card. Eg. DEBIT, CREDIT.
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe scheme of card. Eg. VISA, MASTERCARD, AMEX.
- cardCategorystringPossible values: CREDIT, DEBIT, ELECTRON, COMMERCIAL, BUSINESS, CORPORATE, PURCHASING, SIGNIA, WORLD, FLEET, MAESTRO_INTL, MAESTRO_UK, MAESTRO_UK_DOM, LASERThe category of card. Eg. CREDIT, DEBIT, CORPORATE, BUSINESS.
- maskedPanstring (≤ 255 chars)The masked card number. eg. 123456******1234. Where possible, this will include the first six and last four digits; in some cases, only the last four digits will be available.
- expiryDatestring (≤ 255 chars)The expiry date of the card. Formatted as MMYY.
- issuerstring (≤ 255 chars)The Issuer of the card.
- issuerCountrystring (≤ 255 chars)The country of the card Issuer.
- cardHolderNamestring (≤ 255 chars)The Cardholder's name.
- cardNicknamestring (≤ 255 chars)The name the Customer provided for their Card to allow easy selection where they registered multiple cards.
- issueNumberstring (≤ 255 chars)The issue number of the card used in the request.
- validDatestring (≤ 255 chars)The valid from date of the card. Formatted as MMYY.
- sourcestringPossible values: VISA_CHECKOUT, GOOGLEPAYThis will always be GOOGLEPAY.
- networkToken {advancedPayments/network-tokenOnly present if a network token was provisioned or used during this transaction
- statusstringPossible values: ACTIVE, SUSPENDED, DELETED, EXPIRED, UNPROVISIONEDStatus of the token at the time of this transaction: ACTIVE - active and usable SUSPENDED - temporarily suspended, may be re-activated in future DELETED - permanently deleted; need to re-engage cardholder EXPIRED - expired, should be refreshed in future UNPROVISIONED - no token
- usagestringPossible values: PROVISIONED, PROVISIONED_AND_USED, PROVISION_FAILED, USED, RENEWEDWhat happened to the token during this transaction: PROVISIONED - transaction created a network token PROVISION_FAILED - tried to create a network token but failed USED - transaction used an existing network token
- tokenErrorstringPossible values: CARD_TOKENISATION_NOT_ALLOWED, DECLINED, SERVICE_UNAVAILABLE, SYSTEM_ERRORReason for provisioning failure: CARD_TOKENISATION_NOT_ALLOWED - card not supported (or, not at this time) DECLINED - card scheme or issuer refused to provision a network token SERVICE_UNAVAILABLE - scheme token service not available SYSTEM_ERROR - unspecified error attempting to provision
- expiryDatestringToken expiry date. Formatted as MMYY.
} - newboolean
} - paypal {ConditionaladvancedPayments/pay-pal-response-detailPresent when the payment method was PayPal. Only one payment method object is returned, indicated by paymentClass.
- payerIDstring (≤ 255 chars)PayPal's identifier for the payer.
- emailstring (≤ 255 chars)The email associated with the PayPal account.
- accountVerifiedbooleanIndicates whether PayPal has verified the account.
- checkoutTokenstringThe PayPal checkout token for the session the payment was taken in.
- sourcestringPossible values: PAYPAL, PAYPAL_ONE_TOUCHWhich PayPal integration took the payment - PAYPAL for Express Checkout, or PAYPAL_ONE_TOUCH.
- bnCodestringThe PayPal partner attribution code the payment was made under.
- payeeAccountstringThe PayPal account the funds were paid to.
} - applepay {ConditionaladvancedPayments/apple-pay-response-detailPresent when the payment method was Apple Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Apple Pay uses for this card (e.g. VISA 1234)
- transactionIdentifierstring (≤ 255 chars)
- cardTypestring (≤ 255 chars)Information about the type of card used by the Apple Pay transaction.
- cardUsageTypestringPossible values: CREDIT, DEBITThe card usage type (credit or debit)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The token for the card.
} - googlepay {ConditionaladvancedPayments/google-pay-response-detailPresent when the payment method was Google Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Google Pay uses for this card (e.g. Visa •••• 1111)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The unique token for the payment method, returned when a card is registered. A savedAccountToken will be returned for both Google Pay non-tokenized cards (FPAN) and Android device token (DPAN) payment methods and can be used to make subsequent payments of that type.
- cardDetailsstringDescrptive details of the card as provided by Google Pay. This will always be the last 4 digits of the card number
- cardHolderNamestringThe cardholder name for the Google Pay payment method
} - merchantDefined {ConditionaladvancedPayments/merchant-defined-response-detailPresent when the payment method was merchant defined. Only one payment method object is returned, indicated by paymentClass.
- accountHolderNamestring (≤ 255 chars)The account holder name that was supplied in the request.
- paymentMethodNamestring (≤ 127 chars)The payment method name that was supplied in the request.
} - openbanking {ConditionaladvancedPayments/open-banking-response-detailPresent when the payment method was Pay by Bank. Only one payment method object is returned, indicated by paymentClass.
- remittanceReferencestringThe reference the payer's bank shows against the payment.
- userInterfaceDetailsobject (map)Details the payer's bank supplied for display, as name and value pairs. The members vary by bank.
- account {advancedPayments/open-banking-accountThe bank account the payment came from.
- sortCodestringSort code of the payer's bank account.
- accountNumberstringNumber of the payer's bank account.
- bankNamestringName of the payer's bank.
} - multiAuthorisationstringPossible values: AUTHORISED, INCOMPLETEWhere the payer's bank requires more than one person to authorise a payment, whether every authorisation has been given yet.
- modestringPossible values: REDIRECTHow the payer was taken to their bank to authorise the payment.
}
} - customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - threeDSecure {advancedPayments/three-d-secure-response-detailInformation about the 3D Secure status of your transaction.
- versioninteger (int32)Major version of 3D Secure applied to this transaction.
- protocolVersionstring (≤ 255 chars)Full protocol version of 3D Secure applied to this transaction.
- versionsAttempted [ {advancedPayments/three-d-secure-version-attemptedVersions of 3D Secure that were attempted for this transaction, in order of use. This can be used to determine when 3DSv2 could not be used, and why. A version will only be included in this list if it was meaningfully attempted, which means that the transaction must have been eligible (e.g. type, channel, payment method etc.) and the merchant's account must have been capable (e.g. the corresponding 3D Secure version was enabled on the MID, etc.) This field may be populated even if no others in this section are, e.g. to indicate that the issuer didn't support any version of 3D Secure.
- versioninteger (int32, min 1, max 2)Major version of 3D Secure that was attempted.
- availabilitystringPossible values: INSUFFICIENT_DATA, ISSUER_NO_V2, ISSUER_NO_V1, ISSUER_NO_3DS, ERROR, AVAILABLEHigh-level indication of the actual availability of the given 3D Secure version and what happened during the attempt to use it.
} ] - schemestring (≤ 255 chars)The scheme that processed the transaction for 3DS.
- statusstringPossible values: AUTHENTICATED, BYPASSED, FAILED, NOT_ENROLLED, ATTEMPTED, ENROLMENT_CHECK_FAILURE, INCOMPLETE, NOT_AVAILABLE, NOT_IMPLEMENTEDThe overall 3DS result for the transaction.
- ecistring (≤ 255 chars)Electronic Commerce Indicator (ECI) for this transaction; used by the card issuer/scheme/acquirer to describe the security (inc. authentication) that has been applied. This value reflects what was obtained from the 3D Secure process; it may be modified/transformed prior to submission to an acquirer. It is provided for informational purposes only; merchants do not need to use it as part of processing, and should rely on the status and other fields for a stable interpretation of the outcome. Common values include: 01 - Attempted authentication (Mastercard) 02 - Authenticated (Mastercard) 05 - Authenticated (Visa, American Express) 06 - Attempted authentication (Visa, American Express) 07/00 - Not authenticated/no 3D Secure Other values not listed here may be seen for some types of transaction, at the discretion of the card scheme and/or ACS operator.
- threeDSServerTransIdstring (≤ 255 chars)Access PaySuite 3DSv2 transaction ID.
- dsTransactionIdstring (≤ 255 chars)Directory Server 3DSv2 transaction ID.
- acsTransactionIdstring (≤ 255 chars)Access Control Server (ACS) 3DSv2 transaction ID.
- challengeRequeststringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATEDIndicates whether a challenge was ultimately requested or not; this reflects the final 3DSv2 request made by Access PaySuite Advanced Payments after taking into account any merchant preference and card scheme rules.
- frictionlessbooleanWhether the cardholder was authenticated without a challenge (frictionless flow).
- cardHolderMessagestringMessage returned by the issuer containing instructions for the cardholder.
} - customer {advancedPayments/return-customer-detailInformation about the Customer.
- idstring (≤ 255 chars)Our ID for the Customer.
- merchantRefstring (≤ 255 chars)Your reference for the Customer.
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, echoed from the request
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. For a PAN, the first six and last four digits of the PAN; otherwise up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - accountFunding {advancedPayments/account-fundingSupplementary data for Account Funding Transactions (AFT), echoed from the request
- recipient {advancedPayments/account-funding-recipient-detailsDetails about the funding recipient
- givenNamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's given name
- surnamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's surname/family name
- addressstring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's address
- citystring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient city
- statestring (2–3 chars, pattern ^[A-Za-z0-9]+$)ConditionalOnly for recipients based in the US or Canada Recipient state/province code (2-3 characters), e.g. "CA", "DE", "MD", "TN" et al. in the US; "AB", "ON", "QC", "SK" et al. in Canada
- countryCodestring (≤ 3 chars, pattern ^[A-Z]+$)Recipient country code (ISO-3166-alpha-3), e.g. "CAN", "GBR", "USA" et al.
}
} - transaction {advancedPayments/transaction-state-response-detail
- transactionIdstring (≤ 255 chars)Our ID for the transaction.
- deferredbooleanIndicates if the Payment capture is deferred.
- deferralExpiresstring (date-time)
- recurringbooleanIndicates if the payment was a recurring payment.
- instalmentbooleanIndicates if the payment was an instalment.
- merchantRefstring (≤ 255 chars)Your reference for the transaction.
- merchantDescriptionstring (≤ 255 chars)The description of the transaction provided in the request.
- statusstringPossible values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDEDThe current state of the transaction.
- typestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYIndicates the type of the transaction.
- amountfloatIndicates the requested amount of the transaction.
- consumerSpendfloatIndicates the actual amount of the transaction. This will be zero for any type of INITIALIZE transaction, deferred transactions, and rejected transactions.
- currencystring (≤ 3 chars)Indicates the currency of the transaction. Use the 3 character ISO-4217 code.
- transactionTimestring (date-time)The date and time we processed the transaction in ISO-8601 format.
- receivedTimestring (date-time)The date and time we received the transaction in ISO-8601 format.
- commerceTypestringPossible values: ECOM, MOTO, CNPThe Commerce Type of the transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe Sales Channel of the transaction.
- relatedTransaction {advancedPayments/related-transactionThis field is not applicable for Payments. In case of Refunds it indicates the transaction that was refunded.
- transactionIdstring (≤ 255 chars)ReturnedOur ID for the transaction that was original.
- merchantRefstring (≤ 255 chars)Your reference for the transaction that was original.
} - billingDescriptorstring
- customerInitiatedboolean
- stagestringPossible values: INITIALIZE, THREE_D_SECURE, FRAUD_RULES, AUTHORISATION, EXTERNAL_PROCESSING, COMPLETEThe logical stage the transaction has reached.
- continuousAuthorityAgreement {advancedPayments/continuous-authority-agreementThe continuous authority agreement established with the cardholder. Required if you want to process a transaction initiating a recurring or instalment series using 3DSv2.
- minFrequencyinteger (int32, min 1, max 9999)ConditionalMinimum number of days expected between payments in a recurring or instalment sequence. Must be >= 1.
- expirystring (date)ConditionalDate (YYYY-MM-DD) at which recurring/instalment agreement expires, or at which it will need to be re-authenticated in order to continue. Must be in the future.
- numberOfInstalmentsinteger (int32, min 2, max 999)ConditionalTotal number of payments in an instalment sequence - including this one, if starting with a payment. Required only for instalments; must be >= 2.
}
} - paypalSellerProtection {advancedPayments/paypal-seller-protection
- sellerProtectionTypestring (≤ 255 chars)Indicates the level of Seller Protection PayPal has assigned to this transaction. Please refer to PayPal's documentation for more information.
} - outcome {ReturnedadvancedPayments/outcome-response-detailInformation about the overall outcome of the request.
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors. In the case of a decline this message can be very general. There can be useful guidance to the cause of the decline in processing.authResponse.gatewayMessage.
} - anyarray (object items)
- tracestring
- order {advancedPayments/order
- orderRefstring (≤ 255 chars)Your reference for the order. Maximum length: 255.
- taxAmountfloat
- taxRatefloat
- shippingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - items [ {advancedPayments/line-itemList of products/services in the order.
- namestring (≤ 255 chars)ReturnedName of the item. Maximum length: 255.
- descriptionstring (≤ 255 chars)Description of the item. Maximum length: 255.
- itemRefstring (≤ 255 chars)Your reference for the item. Maximum length: 255.
- lineRefstring (≤ 255 chars)Your reference for the line item of the order. Maximum length: 255.
- itemAmountfloatReturnedThe individual amount of the item.
- quantityinteger (int32)The quantity of items in the order. Defaults to 1 if not provided.
- totalAmountfloatThe total amount of the items. Defaults to itemAmount × quantity if not provided.
- itemTaxAmountfloat
- taxRatefloat
- totalTaxAmountfloat
- customFields [ {advancedPayments/custom-field
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} ]
} - strongCustomerAuthentication {advancedPayments/strong-customer-authentication
- transactionTypestringPossible values: GOODS_OR_SERVICES, CHECK_ACCEPTANCE, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATIONDetailed classification of the transaction.
- challengeRequestedstringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
- merchantRisk {advancedPayments/merchant-risk-indicator
- deliveryEmailstring (≤ 254 chars)For electronic delivery, the email address to which the merchandise was delivered.
- deliveryTimeframestringPossible values: ELECTRONIC, SAME_DAY, OVERNIGHT, TWO_OR_MORE_DAYSTime frame for merchandise delivery.
- giftCardPurchase {advancedPayments/gift-card-purchase
- totalAmountinteger (int32)Total value of gift cards being purchased (major units, e.g. for GBP 12.99, use 12).
- currencystring (3 chars)Currency code of cards being purchased.
- countinteger (int32, max 99)Total number of cards being purchased.
} - preorderbooleanWas this a pre-order of merchandise which will be available in the future?
- preorderDatestring (date)For pre-orders, the date at which merchandise is expected to be available.
- reorderbooleanWas the cardholder re-ordering merchandise previously purchased from this merchant?
- shippingTostringPossible values: BILLING_ADDRESS, VERIFIED_ADDRESS, OTHER_ADDRESS, STORE, DIGITAL, TRAVEL_EVENT, OTHERIndicates the type of shipping address (or shipping method) for the merchandise.
} - accountInfo {advancedPayments/account-information
- accountOpened {advancedPayments/account-opened
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was opened.
- datestring (date)Date the account was opened.
} - accountLastChanged {advancedPayments/account-last-changed
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was last changed.
- datestring (date)Date the account was last changed.
} - passwordLastChanged {advancedPayments/password-last-changed
- periodstringPossible values: NO_CHANGE, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the password was last changed.
- datestring (date)Date the password was last changed.
} - activity {advancedPayments/activity
- purchasesInLastSixMonthsinteger (int32, max 9999)Number of purchases made with the account in the previous six months.
- addCardAttemptsInLast24Hoursinteger (int32, max 999)Number of attempts to add a payment card to the account in the previous 24 hours.
- transactionAttemptsInLast24Hoursinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous 24 hours.
- transactionAttemptsInLastYearinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous year.
} - paymentAccountRegistered {advancedPayments/payment-account-registered
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the payment account registration.
- datestring (date)Date the payment account was registered.
} - shippingAddressFirstUsed {advancedPayments/shipping-address-first-used
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the first use of the shipping address.
- datestring (date)Date the shipping address was first used.
} - shippingNameSameAsAccountNamebooleanIs the name on the account identical to the recipient name in the shipping address?
- suspiciousActivitybooleanHas suspicious activity (including fraud) previously occurred on this account?
} - authenticationInfo {advancedPayments/authentication-with-merchant-information
- methodstringPossible values: NONE, MERCHANT_CREDENTIAL, FEDERATED_CREDENTIAL, ISSUER_CREDENTIAL, THIRD_PARTY, FIDO_AUTHENTICATORMethod used to authenticate.
- timestring (date-time)Date/time (in UTC) of authentication.
} - priorAuthenticationInfo {advancedPayments/prior3-d-sv2-authentication-information
- referencestring (36 chars)ACS transaction ID (returned in threeDSecure.acsTransactionId) for the previous authentication.
- methodstringPossible values: FRICTIONLESS_AUTH, CHALLENGE_AUTH, AVS, OTHER_ISSUERMethod used in prior authentication.
- timestring (date-time)Date/time (in UTC) of prior authentication.
}
} - schedule {advancedPayments/schedule-response-detail
- scheduleIdstringThe identifier for the created schedule
- errorstringDetails of the causes of the error if an error occurred creating the schedule.
} - recipient {advancedPayments/recipient-detailsPayout recipient details, required by some acquirers.
- givenNamestring (≤ 255 chars)Recipient given name.
- surnamestring (≤ 255 chars)Recipient surname.
} - link [ {advancedPayments/link
- hrefstringDirect link to the resource.
- relstringIdentifies the relationship to the requested resource.
} ]
}
401Unauthorized
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
403Forbidden
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
500Internal Server Error
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
Hosted sessions
POST/hosted/rest/sessions/{instId}/paymentsInitialise Pay by Bank hosted session#
description:
Creates a hosted payment session that can include Pay by Bank for the supplied installation.
authorization:HTTP Basic
content-type: application/json
path parameters:
{
- instIdstringMandatoryThe installation id
}
request body:
shared schema
advancedPayments/initialise-hosted-payment-rest-request{
- restrictedPermissions {advancedPayments/hosted-permissions
- canregistercardboolean (default true)
- cansuspendboolean (default false)
- canunsuspendboolean (default false)
- canmakepaymentboolean (default true)
- candepositboolean (default true)
- canmakepayoutboolean (default true)
- canwithdrawboolean (default true)
- canviewcustomernameboolean (default true)
- canregisterduplicatecardboolean (default false)
- canreversependingpayoutsboolean (default true)
- canreversependingwithdrawalsboolean (default true)
- canoverridefraudrulesboolean (default false)
- canviewfraudfailuresboolean (default false)
- candeletecardboolean (default true)
} - localestringThe ISO-639-1 code for your Customer's locale.
- session {MandatoryadvancedPayments/hosted-session-configuration
- preAuthCallback {advancedPayments/callback-descriptorDetails of the callback made before the transaction is sent for authorisation.
- urlstringMandatoryThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstringPossible values: REST_XML, REST_JSONThe format of the callback content.
} - postAuthCallback {advancedPayments/callback-descriptorDetails of the callback made after the transaction is sent for authorisation.
- urlstringMandatoryThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstringPossible values: REST_XML, REST_JSONThe format of the callback content.
} - transactionNotification {advancedPayments/callback-descriptorDetails of the notification sent after transaction completion.
- urlstringMandatoryThe URL you want the callback or notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no callback or notification will be sent.
- formatstringPossible values: REST_XML, REST_JSONThe format of the callback content.
} - returnUrl {MandatoryadvancedPayments/redirect-descriptorThe URL that we will return your customer to after processing the transaction.
- urlstringMandatory
} - cancelUrl {advancedPayments/redirect-descriptorThe URL that we will return your customer to if they cancel the hosted session. If omitted the returnUrl is used if they cancel.
- urlstringMandatory
} - restoreUrl {ConditionaladvancedPayments/redirect-descriptorThe URL we will return your customer to after visiting an external payment service that required escaping any iframe, e.g. Pay By Bank. Use this if you iframe the PaySuite Payment Page. Visits to this will include the query parameter "hfSessionORTURL", use this as the URL for the iframe to resume the hosted session.
- urlstringMandatory
} - skinstring (≤ 255 chars)The ID of the skin used to drive look and feel for this session. Refer to Customise hosted look and feel for more information
- siteDomainstring (pattern ^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$)ConditionalThe domain of the site that the iframe will be on. Mandatory for Apple Pay payments when the hosted page will be used in an iframe.
} - transaction {MandatoryadvancedPayments/transaction-templateDetails of the transaction you want to create.
- merchantReferencestring (≤ 255 chars)Your reference for the transaction.
- money {MandatoryadvancedPayments/money-specification
- currencystring (≤ 255 chars)MandatoryThe currency of your Customer's transaction. Use the 3 character ISO-4217 code.
- amount {MandatoryadvancedPayments/amount-specificationChoose one of fixed, choice, range or suggested amount specifications.
- fixedfloatConditionalUse if you want your customer to only make a payment for a fixed amount. The customer can not change the amount.
- choice {ConditionaladvancedPayments/amount-choiceUse if you want your customer to select from a predefined set of amounts.
- optionarray (min 1 items, number items)MandatoryMandatory if Amount Choice included in the request.
} - range {ConditionaladvancedPayments/amount-rangeUse if you want your customer to choose an amount between a minimum and maximum value or within a part-bounded range. You can also provide a default amount.
- minfloatMandatory if Amount Range included in the request and max value not present.
- maxfloatMandatory if Amount Range included in the request and min value not present.
- defaultfloat
} - suggested {ConditionaladvancedPayments/suggestedUse if you want to your customer to choose an amount between a minimum and maximum value or from a predefined set of amounts.
- choice {MandatoryadvancedPayments/amount-choiceMandatory if Suggested included in the request.
- optionarray (min 1 items, number items)MandatoryMandatory if Amount Choice included in the request.
} - range {MandatoryadvancedPayments/amount-rangeMandatory if Suggested included in the request.
- minfloatMandatory if Amount Range included in the request and max value not present.
- maxfloatMandatory if Amount Range included in the request and min value not present.
- defaultfloat
}
}
}
} - descriptionstring (≤ 255 chars)The description of the transaction.
- commerceTypestringPossible values: ECOM, MOTO, CNPThe commerce type for your Customer's transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe sales channel for your Customer's transaction. If no channel is provided we'll automatically classify the channel as WEB
- deferredboolean (default false)Indicates if you want the Payment to be Authorised and Captured separately.
- recurringboolean (default false)Set this field if you want to start a recurring Continuous Authority relationship from this transaction.
- instalmentboolean (default false)Set this field if you want to start an instalment Continuous Authority relationship from this transaction.
- do3DSecurebooleanIndicates if the transaction should be processed with 3DS. This will override account configuration for 3DS.
- billingDescriptorstring
- continuousAuthorityAgreement {ConditionaladvancedPayments/continuous-authority-agreementThe continuous authority agreement established with the cardholder. Required if you want to process a transaction initiating a recurring or instalment series using 3DSv2
- minFrequencyinteger (int32, min 1, max 9999)ConditionalMinimum number of days expected between payments in a recurring or instalment sequence. Must be >= 1.
- expirystring (date)ConditionalDate (YYYY-MM-DD) at which recurring/instalment agreement expires, or at which it will need to be re-authenticated in order to continue. Must be in the future.
- numberOfInstalmentsinteger (int32, min 2, max 999)ConditionalTotal number of payments in an instalment sequence - including this one, if starting with a payment. Required only for instalments; must be >= 2.
}
} - customer {advancedPayments/customer
- createboolean (default true)Deprecated. Use 'registered' instead, as this will be removed in the future.
- registeredboolean (default true)Indicates if you wish to create or use a registered customer. False if you do not wish to register your customer, otherwise set to true. Default value is true.
- identity {advancedPayments/customer-identityMandatory when registering a new customer, or using an already registered customer, optional otherwise.
- platformCustomerIdstring (≤ 255 chars)ConditionalOur ID for your customer.
- merchantCustomerIdstring (≤ 255 chars)ConditionalYour ID for the customer.
} - details {ConditionaladvancedPayments/customer-detailsMandatory when registering a new customer, optional otherwise. NB - If details element is present when fetching an existing customer, the details stored for that customer will be updated with those present in the request.
- namestring (≤ 255 chars)ConditionalThe Customer's name. Required when registering a new customer, optional otherwise.
- address {advancedPayments/postal-addressMandatory when registering a new customer, optional otherwise. This is used to pre-populate the customers billing address fields.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - telephonestring (≤ 255 chars)Telephone number for the customer. For best results, use international format, e.g. "+441234567890".
- emailAddressstring (≤ 255 chars)Email address for the Customer.
- ipAddressstring (≤ 255 chars)The Customer's IP address.
- defaultCurrencystring (≤ 255 chars)
- dateOfBirthstring (date)
}
} - customFields {advancedPayments/custom-fields
- dataFieldOrTextFieldOrLabelField [ {advancedPayments/custom-field
- namestring (≤ 255 chars)MandatoryThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} - financialServices {ConditionaladvancedPayments/financial-servicesSupplementary data for Financial Services payments, including loan repayments and other credit-related activities. UK- and Europe-based merchants with merchant category code (MCC) 6012, and some merchants coded MCC 6051 or MCC 7299, are required to provide this information about the primary recipient, who may be different from the customer making payment. Consult your acquirer if you are not sure whether you should submit this. Cannot be submitted in conjunction with accountFunding.
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. If the name is longer than six characters, then provide the first six. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. If this is a PAN, then provide the first six and last four digits of the PAN. Otherwise, provide up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - features {advancedPayments/featuresHolder of features that can be enabled/disabled during a hosted session.
- paymentMethodRegistrationstringPossible values: always, optionalAllow the customer to choose if they wish their payment method to be registered.
- payPalAccessTokenstringThe PayPal access token to be used in the PayPal session for "seamless checkout". If not provided or not valid at the time of use, the customer will be redirected to the PayPal login.
- paymentMethodsarray (string items)Possible values: APPLEPAY, CARD, GOOGLEPAY, MERCHANTDEFINED, PAYPAL, VISACHECKOUT, OPENBANKINGSpecify which payment methods are to be displayed, in the specified order. The array should contain strings for the names of payment methods. This is only available for a version 2 skin. Any payment methods not enabled on your account will not be displayed.Use to control the payment methods shown and their order. Include `openbanking` to enable Pay by Bank.
- sendEmailReceiptbooleanIf true, an email receipt will be sent for this transaction. If false, no receipt will be sent. If not present, your account configuration determines if an email is sent.
- showResultsPagebooleanConditionalIf true, after processing the transaction, a result page with a summary of key transaction details is shown prior to returning the customer. Default is false. If omitted, your account configuration will determine whether this is shown. Only available when using a version 2 skin.
- newAccountPayoutEnabledbooleanConditionalIf true, the customer requesting the payout will be able to complete it by entering a new payment account; the usual restriction of forcing payouts to go to an existing saved account won't apply to this session. NOTE: This feature needs to be enabled on your processing account first; please contact our Implementations team if you wish to use this.
- addNewPaymentMethodLinkbooleanWorks in conjunction with the newAccountPayoutEnabled
- provisionNetworkTokenbooleanSet false to opt out of provisioning a token Omit or set true to provision according to account configuration.
} - order {advancedPayments/order
- orderRefstring (≤ 255 chars)Your reference for the order. Maximum length: 255.
- taxAmountfloat
- taxRatefloat
- shippingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - items [ {advancedPayments/line-itemList of products/services in the order.
- namestring (≤ 255 chars)MandatoryName of the item. Maximum length: 255.
- descriptionstring (≤ 255 chars)Description of the item. Maximum length: 255.
- itemRefstring (≤ 255 chars)Your reference for the item. Maximum length: 255.
- lineRefstring (≤ 255 chars)Your reference for the line item of the order. Maximum length: 255.
- itemAmountfloatMandatoryThe individual amount of the item.
- quantityinteger (int32)The quantity of items in the order. Defaults to 1 if not provided.
- totalAmountfloatThe total amount of the items. Defaults to itemAmount × quantity if not provided.
- itemTaxAmountfloat
- taxRatefloat
- totalTaxAmountfloat
- customFields [ {advancedPayments/custom-field
- namestring (≤ 255 chars)MandatoryThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} ]
} - paymentMethodData {advancedPayments/payment-method-data
- consumerRefstring (1–255 chars)
- qiwi {advancedPayments/qiwi-payment-method-data
- siteIdstring (≤ 255 chars)
} - paypal {advancedPayments/paypal-payment-method-data
- bnCodestring
}
} - strongCustomerAuthentication {advancedPayments/strong-customer-authentication
- transactionTypestringPossible values: GOODS_OR_SERVICES, CHECK_ACCEPTANCE, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATIONDetailed classification of the transaction.
- challengeRequestedstringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
- merchantRisk {advancedPayments/merchant-risk-indicator
- deliveryEmailstring (≤ 254 chars)For electronic delivery, the email address to which the merchandise was delivered.
- deliveryTimeframestringPossible values: ELECTRONIC, SAME_DAY, OVERNIGHT, TWO_OR_MORE_DAYSTime frame for merchandise delivery.
- giftCardPurchase {advancedPayments/gift-card-purchase
- totalAmountinteger (int32)Total value of gift cards being purchased (major units, e.g. for GBP 12.99, use 12).
- currencystring (3 chars)Currency code of cards being purchased.
- countinteger (int32, max 99)Total number of cards being purchased.
} - preorderbooleanWas this a pre-order of merchandise which will be available in the future?
- preorderDatestring (date)For pre-orders, the date at which merchandise is expected to be available.
- reorderbooleanWas the cardholder re-ordering merchandise previously purchased from this merchant?
- shippingTostringPossible values: BILLING_ADDRESS, VERIFIED_ADDRESS, OTHER_ADDRESS, STORE, DIGITAL, TRAVEL_EVENT, OTHERIndicates the type of shipping address (or shipping method) for the merchandise.
} - accountInfo {advancedPayments/account-information
- accountOpened {advancedPayments/account-opened
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was opened.
- datestring (date)Date the account was opened.
} - accountLastChanged {advancedPayments/account-last-changed
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was last changed.
- datestring (date)Date the account was last changed.
} - passwordLastChanged {advancedPayments/password-last-changed
- periodstringPossible values: NO_CHANGE, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the password was last changed.
- datestring (date)Date the password was last changed.
} - activity {advancedPayments/activity
- purchasesInLastSixMonthsinteger (int32, max 9999)Number of purchases made with the account in the previous six months.
- addCardAttemptsInLast24Hoursinteger (int32, max 999)Number of attempts to add a payment card to the account in the previous 24 hours.
- transactionAttemptsInLast24Hoursinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous 24 hours.
- transactionAttemptsInLastYearinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous year.
} - paymentAccountRegistered {advancedPayments/payment-account-registered
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the payment account registration.
- datestring (date)Date the payment account was registered.
} - shippingAddressFirstUsed {advancedPayments/shipping-address-first-used
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the first use of the shipping address.
- datestring (date)Date the shipping address was first used.
} - shippingNameSameAsAccountNamebooleanIs the name on the account identical to the recipient name in the shipping address?
- suspiciousActivitybooleanHas suspicious activity (including fraud) previously occurred on this account?
} - authenticationInfo {advancedPayments/authentication-with-merchant-information
- methodstringPossible values: NONE, MERCHANT_CREDENTIAL, FEDERATED_CREDENTIAL, ISSUER_CREDENTIAL, THIRD_PARTY, FIDO_AUTHENTICATORMethod used to authenticate.
- timestring (date-time)Date/time (in UTC) of authentication.
} - priorAuthenticationInfo {advancedPayments/prior3-d-sv2-authentication-information
- referencestring (36 chars)ACS transaction ID (returned in threeDSecure.acsTransactionId) for the previous authentication.
- methodstringPossible values: FRICTIONLESS_AUTH, CHALLENGE_AUTH, AVS, OTHER_ISSUERMethod used in prior authentication.
- timestring (date-time)Date/time (in UTC) of prior authentication.
}
} - schedule {advancedPayments/schedule-definition
- startDatestring (date)The date the schedule becomes active and, if relevant that epiode calculations start from
- timeOfDaystring (time)The time of day that any episodes will be triggered, as HH:mm:ss
- frequency {ConditionaladvancedPayments/frequencyOne and only one of Fixed, Frequency or Pattern must be provided
- unitstringMandatoryPossible values: DAY, WEEK, MONTH, YEARunit must be provided for a frequency schedule
- quantityinteger (int32)default: 1
- ratestringPossible values: FIXED, RELATIVEdefault: RELATIVE
} - pattern {ConditionaladvancedPayments/patternOne and only one of Fixed, Frequency or Pattern must be provided
- dayOfWeekstringPossible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAYThe specific day of the week to peform the transaction
- daysOfWeekarray (string items)Possible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAYThe specific days of the week to peform the transaction
- dayOfMonthinteger (int32)There specific day of the month to peform the transaction (up to 31, in shorter months this will run on the last day of the month)
- daysOfMontharray (int32 items)The specific days of the month to peform the transaction (up to 31, in shorter months this will run on the last day of the month)
- weekOfMonthinteger (int32)The specific week of the month to peform the transaction (up to 4)
- weeksOfMontharray (int32 items)The specific weeks of the month to peform the transaction (up to 4)
- monthOfYearstringPossible values: JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
- monthsOfYeararray (string items)Possible values: JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
} - fixedarray (date items)Conditionalthe dates on which an episode will be triggered. One and only one of Fixed, Frequency or Pattern must be provided
- terminator {advancedPayments/terminator
- episodeLimitinteger (int32)Conditionalthe number of episodes to run before the schedule is complete
- endOnstring (date)Conditionalthe scheduler will not run after this date. If there is an episode due on this date, it will be run.
- suspend {advancedPayments/suspend
- failureCountinteger (int32)The number episode failures before the Schedule suspends (this should be higher than the maximum retry count)
}
} - retry {advancedPayments/retry
- unitstringMandatoryPossible values: HOUR, DAY, WEEK, MONTHcombined with quantity when and should a retry be attempted
- quantityinteger (int32)combined with unit when and should a retry be attempted
- maxRetriesinteger (int32)How many retries shoudl be attewmpted before the episode fails.
- processWhileRetryingbooleancontinue to process scheduled episodes while retrying a failed epsiode. default: false.
- catchupAfterRetryingbooleanprocess any episodes missed while retrying a failed epsiode. default: false.
} - amountsarray (number items)specific amounts to process in order. If there are less amounts than episodes the final amount will repeat. If no amounts are specified the amount on the original transaction will be used.
- merchantRefstringA merchant defined reference to be added to the repeated repeats triggered by the schedule. If the place-holder {DATE} is included this will be replaced by the date the payment is actually processed in yyyy-MM-dd format. If the place-holder {EPISODE_INDEX} is used this will be replaced with the index of the episode which triggered the transaction.
- descriptionstringA merchant defined description to be added to the repeated repeats triggered by the schedule. If the place-holder {DATE} is included this will be replaced by the date the payment is actually processed in yyyy-MM-dd format. If the place-holder {EPISODE_INDEX} is used this will be replaced with the index of the episode which triggered the transaction.
} - recipient {advancedPayments/recipient-detailsPayout recipient details, required by some acquirers.
- givenNamestring (≤ 255 chars)Recipient given name.
- surnamestring (≤ 255 chars)Recipient surname.
} - accountFunding {advancedPayments/account-fundingSupplementary data for Account Funding Transactions (AFT), e.g. money transfers. You should provide this if advised by your acquirer. Cannot be submitted in conjunction with financialServices.
- recipient {advancedPayments/account-funding-recipient-detailsDetails about the funding recipient
- givenNamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's given name
- surnamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's surname/family name
- addressstring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's address
- citystring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient city
- statestring (2–3 chars, pattern ^[A-Za-z0-9]+$)ConditionalOnly for recipients based in the US or Canada Recipient state/province code (2-3 characters), e.g. "CA", "DE", "MD", "TN" et al. in the US; "AB", "ON", "QC", "SK" et al. in Canada
- countryCodestring (≤ 3 chars, pattern ^[A-Z]+$)Recipient country code (ISO-3166-alpha-3), e.g. "CAN", "GBR", "USA" et al.
}
} - customerNotice {advancedPayments/customer-noticeAdditional information/instructional text to display to the customer while collecting payment details; see Customer Notice
- contentstringMandatoryText to display to the cardholder, up to 1000 characters. Supports a limited subset of HTML.
- locatorstringPossible values: FORM_TOP, FORM_BOTTOM, FORM_AFTERPosition of the notice on the page. Defaults to FORM_TOP if not set.
}
}
Responses
201Created
response body:
shared schema
advancedPayments/initialise-hosted-payment-response{
- sessionIdstring (≤ 255 chars)Our ID for the hosted session.
- redirectUrlstringThe URL you should direct your customer to to start the hosted session.
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGIndicates the status of the session creation.
- reasonCodestring (≤ 255 chars)Further information about the status of the session creation.
- reasonMessagestring (≤ 255 chars)Further information about the status of the session creation. This is where we will provide detailed information about any errors.
- tracestring
}
400Bad Request
response body:
shared schema
advancedPayments/validation-failure-outcome{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors.
- fieldErrors [ {advancedPayments/field-error
- fieldstring
- messagestring
} ]
}
403Forbidden
response body:
shared schema
advancedPayments/hosted-initialisation-response{
- sessionIdstring (≤ 255 chars)Our ID for the hosted session.
- redirectUrlstringThe URL you should direct your customer to to start the hosted session.
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGIndicates the status of the session creation.
- reasonCodestring (≤ 255 chars)Further information about the status of the session creation.
- reasonMessagestring (≤ 255 chars)Further information about the status of the session creation. This is where we will provide detailed information about any errors.
- tracestring
}
404Not Found
response body:
shared schema
advancedPayments/get-hosted-session-status-response{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGoutcome of session retrieval request, SUCCESS or FAILED.
- reasonCodestringReturnedMachine-readable code for why the request could not be fulfilled.
- reasonMessagestringReturnedmessage describing session retrieval error.
- hostedSessionStatus {advancedPayments/hosted-session-status
- sessionIdstringReturnedThe id of the session.
- contextstringReturnedweb context of the hosted session.
- stalebooleanReturned
- lastInteractionstring (date-time)Returned
- sessionStatestringReturnedPossible values: INITIALISED, STARTED, SUSPENDED, TERMINATED, EXPIREDsession status, possible values:
- transactionState {ReturnedadvancedPayments/hosted-transaction
- idstringid of the transaction produced by the session, could change if processing retry is available, such as after PayPal cancel.
- transactionStatestringReturnedPossible values: NOT_SUBMITTED, PROCESSING, PENDING, SUCCESS, FAILED, EXPIRED, CANCELLED, VOIDEDstatus of the transactions, possible values:
}
}
}
415Unsupported Media Type
response body:
shared schema
advancedPayments/outcome-response-detail{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors. In the case of a decline this message can be very general. There can be useful guidance to the cause of the decline in processing.authResponse.gatewayMessage.
}
500Internal Server Error
response body:
shared schema
advancedPayments/hosted-initialisation-response{
- sessionIdstring (≤ 255 chars)Our ID for the hosted session.
- redirectUrlstringThe URL you should direct your customer to to start the hosted session.
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGIndicates the status of the session creation.
- reasonCodestring (≤ 255 chars)Further information about the status of the session creation.
- reasonMessagestring (≤ 255 chars)Further information about the status of the session creation. This is where we will provide detailed information about any errors.
- tracestring
}
Transactions
GET/acceptor/rest/transactions/{instId}/{transactionId}Get a Pay by Bank transaction#
description:
Retrieves a single transaction by its identifier for the given installation
authorization:HTTP Basic
content-type: application/json
path parameters:
{
- instIdstringMandatoryInstallation identifier
- transactionIdstringMandatoryTransaction identifier
}
Responses
200Transaction retrieved
response body:
shared schema
advancedPayments/transaction-resource{
- localestring (≤ 255 chars)
- processing {advancedPayments/processing-response-detailInformation about the authorisation status of your transaction.
- modelstringPossible values: MANAGE, REPORT, ADVICE, IMPORT
- authResponse {advancedPayments/auth-response-detail
- statusCodestring (≤ 255 chars)The code for the status received from the authoriser, if applicable.
- acquirerReferencestring (≤ 255 chars)The reference received from the authoriser for your transaction, if applicable.
- acquirerNamestring (≤ 255 chars)Name of the authoriser, if applicable.
- messagestring (≤ 255 chars)The message received from the authoriser, if applicable.
- authCodestring (≤ 255 chars)The code received from the authoriser, if applicable.
- gatewayReferencestring (≤ 255 chars)The reference received from the processing engine.
- gatewaySettlementstring (date)The date the processing engine will settle the transaction. in YYYY-MM-DD format.
- gatewayCodestring (≤ 255 chars)The code for the status received from the processing engine.
- gatewayMessagestring (≤ 255 chars)The message received from the processing engine.
- avsAddressCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the Address Verification checks, if applicable, if applicable.
- avsPostcodeCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the PostCode Verification checks, if applicable.
- cv2CheckstringPossible values: NOT_CHECKED, MATCHED, NOT_MATCHEDResults for the CV2 Verification checks, if applicable.
- gatewayStatusstring (≤ 255 chars)The status received from the processing engine.
- statusstringPossible values: AUTHORISED, DECLINED, REVERSED, REVERSE_FAILED, ERROR, PROCESSINGThe status received from the authoriser, if applicable.
- correlationIds [ {advancedPayments/correlation-id
- namestringReturnedPossible values: SET, GET, DO, REFUND, VOID, CAPTURE
- valuestringReturnedThe ID assigned to the transaction by PayPal. In the event of a technical issue, PayPal will require this ID for investigation purposes.
} ] - recurringAdvicestringPossible values: STOPOnly in the response when the Cardholder has advised their bank to stop this recurring or instalment payment.
} - authData {advancedPayments/auth-data
- acquirerNamestring (≤ 255 chars)The name of the acquirer. Maximum of 255 characters.
- acquirerstring (write-only)
} - decision {advancedPayments/decision-detailInformation about the results of a Fraud check.
- decisionResultstringPossible values: DEFER, BLOCK, PROCEEDThe result of the Fraud check.
- decisionSourcestringPossible values: RULE, TERRITORY_MANAGEMENT, BLACKLIST, NEGATIVE_LIST, WHITELIST, POSITIVE_LIST, RISK_CONTROLSWhat caused the Fraud check result.
- requestedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe type of transaction that was submitted to Access PaySuite Advanced Payments.
- decidedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe new transaction type for the transaction following the Fraud check. For example, a transaction submitted as a Payment may be updated to an Authorisation (PreAuth) to allow manual review before the transaction is approved for settlement.
- rulesTriggered [ {advancedPayments/rule-triggeredAn array containing information about the Optimize fraud rules triggered.
- namestringThe rule name.
- actionstringThe action advised by the rule.
- descriptionstringThe rule description.
- deferParameterstring
} ] - decisionReasonstringPossible values: DERIVED_BY_TRIGGERED_RULE_ACTION, DECIDED_BY_RISK_CONTROLS, RULE_ENGINE_UNAVAILABLE, UNABLE_TO_DEFER_TRANSACTION, NO_RULES_TRIGGEREDThe reason for the decision.
} - routestring (≤ 255 chars)The name of the processing engine your transaction was submitted to.
- routeData {advancedPayments/route-data
- fundsstring (≤ 255 chars)
- paymentDescriptorstring (≤ 255 chars)
} - voidSuccessfulbooleanIndicates if the transaction was voided by a Post Authorisation callback.
} - paymentMethod {advancedPayments/payment-method-response-detailThe payment method a transaction was taken from, as returned on a response. Carries the details of whichever method was used, named by paymentClass, together with the billing address and whether the method was stored for reuse.
- registeredbooleanIndicates that the customer choose to register this card payment method. This field will not be present for non-card payment methods.
- isPrimarybooleanIndicates if this was Customer's primary registered payment method.
- paymentAccountFingerprintstringMerchant defined unique identifier for the payment method.
- billingAddress {advancedPayments/postal-addressThe billing address of the Customer. Will be used for AVS checks. We'll save the billing address when the customer makes their first payment. Providing a billing address for subsequent payments will update the address we've saved if you send new, empty or no values for each field.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - reuse {advancedPayments/payment-method-reuse-response
- storagestringPossible values: NEW, EXISTING, NONESpecifies whether the payment credentials for this transaction will be stored, are being reused, or will not be stored. This will reflect any override in the request.
- agreementstringPossible values: RECURRING, INSTALMENT, ADHOCSpecifies the agreement under which stored credentials will be used/are being reused. This will reflect any override in the request.
- originalSchemeReferencestringScheme reference corresponding to the transaction that first stored a payment credential, if available. This will reflect any value given in the request. Where Access PaySuite has stored and reused a value on behalf of the merchant, it will be shown here.
- receivedSchemeReferencestringScheme reference corresponding to the transaction that has been created, if one was received. For the initial storage of payment credentials, this will be the value that Access PaySuite will store and reuse on behalf of the merchant when necessary. For transactions which reuse a stored payment credential, this value may or may not differ from that of originalSchemeReference.
} - paymentClassstring (≤ 255 chars)ReturnedThe classification of payment method used.
- card {ConditionaladvancedPayments/card-response-detailPresent when the payment method was a card. Only one payment method object is returned, indicated by paymentClass.
- cardTokenstringThe token for the card.
- cardFingerprintstringAn identifier for the card number. If multiple customers register cards with the same PAN they will get different card tokens, but the card fingerprint will be the same for them all. When a saved card is backed by a Network Token rather than the original PAN, the field is not populated.
- cardTypestring (≤ 255 chars)The type of card. Eg. MC_DEBIT, VISA_CREDIT, AMEX.
- cardUsageTypestringPossible values: CREDIT, DEBITThe usage type of card. Eg. DEBIT, CREDIT.
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe scheme of card. Eg. VISA, MASTERCARD, AMEX.
- cardCategorystringPossible values: CREDIT, DEBIT, ELECTRON, COMMERCIAL, BUSINESS, CORPORATE, PURCHASING, SIGNIA, WORLD, FLEET, MAESTRO_INTL, MAESTRO_UK, MAESTRO_UK_DOM, LASERThe category of card. Eg. CREDIT, DEBIT, CORPORATE, BUSINESS.
- maskedPanstring (≤ 255 chars)The masked card number. eg. 123456******1234. Where possible, this will include the first six and last four digits; in some cases, only the last four digits will be available.
- expiryDatestring (≤ 255 chars)The expiry date of the card. Formatted as MMYY.
- issuerstring (≤ 255 chars)The Issuer of the card.
- issuerCountrystring (≤ 255 chars)The country of the card Issuer.
- cardHolderNamestring (≤ 255 chars)The Cardholder's name.
- cardNicknamestring (≤ 255 chars)The name the Customer provided for their Card to allow easy selection where they registered multiple cards.
- issueNumberstring (≤ 255 chars)The issue number of the card used in the request.
- validDatestring (≤ 255 chars)The valid from date of the card. Formatted as MMYY.
- sourcestringPossible values: VISA_CHECKOUT, GOOGLEPAYThis will always be GOOGLEPAY.
- networkToken {advancedPayments/network-tokenOnly present if a network token was provisioned or used during this transaction
- statusstringPossible values: ACTIVE, SUSPENDED, DELETED, EXPIRED, UNPROVISIONEDStatus of the token at the time of this transaction: ACTIVE - active and usable SUSPENDED - temporarily suspended, may be re-activated in future DELETED - permanently deleted; need to re-engage cardholder EXPIRED - expired, should be refreshed in future UNPROVISIONED - no token
- usagestringPossible values: PROVISIONED, PROVISIONED_AND_USED, PROVISION_FAILED, USED, RENEWEDWhat happened to the token during this transaction: PROVISIONED - transaction created a network token PROVISION_FAILED - tried to create a network token but failed USED - transaction used an existing network token
- tokenErrorstringPossible values: CARD_TOKENISATION_NOT_ALLOWED, DECLINED, SERVICE_UNAVAILABLE, SYSTEM_ERRORReason for provisioning failure: CARD_TOKENISATION_NOT_ALLOWED - card not supported (or, not at this time) DECLINED - card scheme or issuer refused to provision a network token SERVICE_UNAVAILABLE - scheme token service not available SYSTEM_ERROR - unspecified error attempting to provision
- expiryDatestringToken expiry date. Formatted as MMYY.
} - newboolean
} - paypal {ConditionaladvancedPayments/pay-pal-response-detailPresent when the payment method was PayPal. Only one payment method object is returned, indicated by paymentClass.
- payerIDstring (≤ 255 chars)PayPal's identifier for the payer.
- emailstring (≤ 255 chars)The email associated with the PayPal account.
- accountVerifiedbooleanIndicates whether PayPal has verified the account.
- checkoutTokenstringThe PayPal checkout token for the session the payment was taken in.
- sourcestringPossible values: PAYPAL, PAYPAL_ONE_TOUCHWhich PayPal integration took the payment - PAYPAL for Express Checkout, or PAYPAL_ONE_TOUCH.
- bnCodestringThe PayPal partner attribution code the payment was made under.
- payeeAccountstringThe PayPal account the funds were paid to.
} - applepay {ConditionaladvancedPayments/apple-pay-response-detailPresent when the payment method was Apple Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Apple Pay uses for this card (e.g. VISA 1234)
- transactionIdentifierstring (≤ 255 chars)
- cardTypestring (≤ 255 chars)Information about the type of card used by the Apple Pay transaction.
- cardUsageTypestringPossible values: CREDIT, DEBITThe card usage type (credit or debit)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The token for the card.
} - googlepay {ConditionaladvancedPayments/google-pay-response-detailPresent when the payment method was Google Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Google Pay uses for this card (e.g. Visa •••• 1111)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The unique token for the payment method, returned when a card is registered. A savedAccountToken will be returned for both Google Pay non-tokenized cards (FPAN) and Android device token (DPAN) payment methods and can be used to make subsequent payments of that type.
- cardDetailsstringDescrptive details of the card as provided by Google Pay. This will always be the last 4 digits of the card number
- cardHolderNamestringThe cardholder name for the Google Pay payment method
} - merchantDefined {ConditionaladvancedPayments/merchant-defined-response-detailPresent when the payment method was merchant defined. Only one payment method object is returned, indicated by paymentClass.
- accountHolderNamestring (≤ 255 chars)The account holder name that was supplied in the request.
- paymentMethodNamestring (≤ 127 chars)The payment method name that was supplied in the request.
} - openbanking {ConditionaladvancedPayments/open-banking-response-detailPresent when the payment method was Pay by Bank. Only one payment method object is returned, indicated by paymentClass.
- remittanceReferencestringThe reference the payer's bank shows against the payment.
- userInterfaceDetailsobject (map)Details the payer's bank supplied for display, as name and value pairs. The members vary by bank.
- account {advancedPayments/open-banking-accountThe bank account the payment came from.
- sortCodestringSort code of the payer's bank account.
- accountNumberstringNumber of the payer's bank account.
- bankNamestringName of the payer's bank.
} - multiAuthorisationstringPossible values: AUTHORISED, INCOMPLETEWhere the payer's bank requires more than one person to authorise a payment, whether every authorisation has been given yet.
- modestringPossible values: REDIRECTHow the payer was taken to their bank to authorise the payment.
}
} - customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - threeDSecure {advancedPayments/three-d-secure-response-detailInformation about the 3D Secure status of your transaction.
- versioninteger (int32)Major version of 3D Secure applied to this transaction.
- protocolVersionstring (≤ 255 chars)Full protocol version of 3D Secure applied to this transaction.
- versionsAttempted [ {advancedPayments/three-d-secure-version-attemptedVersions of 3D Secure that were attempted for this transaction, in order of use. This can be used to determine when 3DSv2 could not be used, and why. A version will only be included in this list if it was meaningfully attempted, which means that the transaction must have been eligible (e.g. type, channel, payment method etc.) and the merchant's account must have been capable (e.g. the corresponding 3D Secure version was enabled on the MID, etc.) This field may be populated even if no others in this section are, e.g. to indicate that the issuer didn't support any version of 3D Secure.
- versioninteger (int32, min 1, max 2)Major version of 3D Secure that was attempted.
- availabilitystringPossible values: INSUFFICIENT_DATA, ISSUER_NO_V2, ISSUER_NO_V1, ISSUER_NO_3DS, ERROR, AVAILABLEHigh-level indication of the actual availability of the given 3D Secure version and what happened during the attempt to use it.
} ] - schemestring (≤ 255 chars)The scheme that processed the transaction for 3DS.
- statusstringPossible values: AUTHENTICATED, BYPASSED, FAILED, NOT_ENROLLED, ATTEMPTED, ENROLMENT_CHECK_FAILURE, INCOMPLETE, NOT_AVAILABLE, NOT_IMPLEMENTEDThe overall 3DS result for the transaction.
- ecistring (≤ 255 chars)Electronic Commerce Indicator (ECI) for this transaction; used by the card issuer/scheme/acquirer to describe the security (inc. authentication) that has been applied. This value reflects what was obtained from the 3D Secure process; it may be modified/transformed prior to submission to an acquirer. It is provided for informational purposes only; merchants do not need to use it as part of processing, and should rely on the status and other fields for a stable interpretation of the outcome. Common values include: 01 - Attempted authentication (Mastercard) 02 - Authenticated (Mastercard) 05 - Authenticated (Visa, American Express) 06 - Attempted authentication (Visa, American Express) 07/00 - Not authenticated/no 3D Secure Other values not listed here may be seen for some types of transaction, at the discretion of the card scheme and/or ACS operator.
- threeDSServerTransIdstring (≤ 255 chars)Access PaySuite 3DSv2 transaction ID.
- dsTransactionIdstring (≤ 255 chars)Directory Server 3DSv2 transaction ID.
- acsTransactionIdstring (≤ 255 chars)Access Control Server (ACS) 3DSv2 transaction ID.
- challengeRequeststringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATEDIndicates whether a challenge was ultimately requested or not; this reflects the final 3DSv2 request made by Access PaySuite Advanced Payments after taking into account any merchant preference and card scheme rules.
- frictionlessbooleanWhether the cardholder was authenticated without a challenge (frictionless flow).
- cardHolderMessagestringMessage returned by the issuer containing instructions for the cardholder.
} - customer {advancedPayments/transaction-customer-details
- merchantRefstring (≤ 255 chars)Your reference for the Customer.
- idstring (≤ 255 chars)The ID given to the Customer by the processing engine.
- displayNamestring (≤ 255 chars)The Customer's name.
- billingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - emailstring (≤ 255 chars)Email address for the Customer.
- dobstring (≤ 255 chars)Date of birth for the Customer.
- dateOfBirthstring (date)
- telephonestring (≤ 255 chars)Telephone number for the Customer.
- defaultCurrencystring (≤ 255 chars)The Customer's default currency.
- ipstring (≤ 255 chars)The Customer's IP address.
- registeredbooleanReturnedIndicates if the customer was registered.
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, including loan repayments and other credit-related activities, as submitted with the transaction.
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. For a PAN, the first six and last four digits of the PAN; otherwise up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - accountFunding {advancedPayments/account-fundingSupplementary data for Account Funding Transactions (AFT), e.g. money transfers, as submitted with the transaction.
- recipient {advancedPayments/account-funding-recipient-detailsDetails about the funding recipient
- givenNamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's given name
- surnamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's surname/family name
- addressstring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's address
- citystring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient city
- statestring (2–3 chars, pattern ^[A-Za-z0-9]+$)ConditionalOnly for recipients based in the US or Canada Recipient state/province code (2-3 characters), e.g. "CA", "DE", "MD", "TN" et al. in the US; "AB", "ON", "QC", "SK" et al. in Canada
- countryCodestring (≤ 3 chars, pattern ^[A-Z]+$)Recipient country code (ISO-3166-alpha-3), e.g. "CAN", "GBR", "USA" et al.
}
} - transaction {advancedPayments/transaction-state-response-detail
- transactionIdstring (≤ 255 chars)Our ID for the transaction.
- deferredbooleanIndicates if the Payment capture is deferred.
- deferralExpiresstring (date-time)
- recurringbooleanIndicates if the payment was a recurring payment.
- instalmentbooleanIndicates if the payment was an instalment.
- merchantRefstring (≤ 255 chars)Your reference for the transaction.
- merchantDescriptionstring (≤ 255 chars)The description of the transaction provided in the request.
- statusstringPossible values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDEDThe current state of the transaction.
- typestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYIndicates the type of the transaction.
- amountfloatIndicates the requested amount of the transaction.
- consumerSpendfloatIndicates the actual amount of the transaction. This will be zero for any type of INITIALIZE transaction, deferred transactions, and rejected transactions.
- currencystring (≤ 3 chars)Indicates the currency of the transaction. Use the 3 character ISO-4217 code.
- transactionTimestring (date-time)The date and time we processed the transaction in ISO-8601 format.
- receivedTimestring (date-time)The date and time we received the transaction in ISO-8601 format.
- commerceTypestringPossible values: ECOM, MOTO, CNPThe Commerce Type of the transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe Sales Channel of the transaction.
- relatedTransaction {advancedPayments/related-transactionThis field is not applicable for Payments. In case of Refunds it indicates the transaction that was refunded.
- transactionIdstring (≤ 255 chars)ReturnedOur ID for the transaction that was original.
- merchantRefstring (≤ 255 chars)Your reference for the transaction that was original.
} - billingDescriptorstring
- customerInitiatedboolean
- stagestringPossible values: INITIALIZE, THREE_D_SECURE, FRAUD_RULES, AUTHORISATION, EXTERNAL_PROCESSING, COMPLETEThe logical stage the transaction has reached.
- continuousAuthorityAgreement {advancedPayments/continuous-authority-agreementThe continuous authority agreement established with the cardholder. Required if you want to process a transaction initiating a recurring or instalment series using 3DSv2.
- minFrequencyinteger (int32, min 1, max 9999)ConditionalMinimum number of days expected between payments in a recurring or instalment sequence. Must be >= 1.
- expirystring (date)ConditionalDate (YYYY-MM-DD) at which recurring/instalment agreement expires, or at which it will need to be re-authenticated in order to continue. Must be in the future.
- numberOfInstalmentsinteger (int32, min 2, max 999)ConditionalTotal number of payments in an instalment sequence - including this one, if starting with a payment. Required only for instalments; must be >= 2.
}
} - paypalSellerProtection {advancedPayments/paypal-seller-protection
- sellerProtectionTypestring (≤ 255 chars)Indicates the level of Seller Protection PayPal has assigned to this transaction. Please refer to PayPal's documentation for more information.
} - sessionIdstring (≤ 255 chars)
- history [ {advancedPayments/transaction-event-history-detail
- transactionStatusstringReturnedPossible values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDED
- reasonCodestring (≤ 255 chars)Returned
- reasonMessagestring (≤ 255 chars)Returned
- timeStampstring (date-time)ReturnedDate and time in ISO-8601 format.
- stagestringPossible values: INITIALIZE, THREE_D_SECURE, FRAUD_RULES, AUTHORISATION, EXTERNAL_PROCESSING, COMPLETE
} ] - followUpStatus {advancedPayments/transaction-follow-up-status-detail
- status [ {advancedPayments/transaction-follow-up-status-entry-detail
- namestringReturnedPossible values: REFUNDED, PARTIALLY_REFUNDED, REPEATED, CANCELLED, CAPTURED, REVERSED, PAID, EXPIRED, COMPLETED
- followUpTransaction [ {ReturnedadvancedPayments/follow-up-transaction-detail
- transactionIdstring (≤ 255 chars)
- timeStampstring (date-time)ReturnedDate and time in ISO-8601 format.
} ]
} ]
} - order {advancedPayments/order
- orderRefstring (≤ 255 chars)Your reference for the order. Maximum length: 255.
- taxAmountfloat
- taxRatefloat
- shippingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - items [ {advancedPayments/line-itemList of products/services in the order.
- namestring (≤ 255 chars)ReturnedName of the item. Maximum length: 255.
- descriptionstring (≤ 255 chars)Description of the item. Maximum length: 255.
- itemRefstring (≤ 255 chars)Your reference for the item. Maximum length: 255.
- lineRefstring (≤ 255 chars)Your reference for the line item of the order. Maximum length: 255.
- itemAmountfloatReturnedThe individual amount of the item.
- quantityinteger (int32)The quantity of items in the order. Defaults to 1 if not provided.
- totalAmountfloatThe total amount of the items. Defaults to itemAmount × quantity if not provided.
- itemTaxAmountfloat
- taxRatefloat
- totalTaxAmountfloat
- customFields [ {advancedPayments/custom-field
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} ]
} - strongCustomerAuthentication {advancedPayments/strong-customer-authentication
- transactionTypestringPossible values: GOODS_OR_SERVICES, CHECK_ACCEPTANCE, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATIONDetailed classification of the transaction.
- challengeRequestedstringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
- merchantRisk {advancedPayments/merchant-risk-indicator
- deliveryEmailstring (≤ 254 chars)For electronic delivery, the email address to which the merchandise was delivered.
- deliveryTimeframestringPossible values: ELECTRONIC, SAME_DAY, OVERNIGHT, TWO_OR_MORE_DAYSTime frame for merchandise delivery.
- giftCardPurchase {advancedPayments/gift-card-purchase
- totalAmountinteger (int32)Total value of gift cards being purchased (major units, e.g. for GBP 12.99, use 12).
- currencystring (3 chars)Currency code of cards being purchased.
- countinteger (int32, max 99)Total number of cards being purchased.
} - preorderbooleanWas this a pre-order of merchandise which will be available in the future?
- preorderDatestring (date)For pre-orders, the date at which merchandise is expected to be available.
- reorderbooleanWas the cardholder re-ordering merchandise previously purchased from this merchant?
- shippingTostringPossible values: BILLING_ADDRESS, VERIFIED_ADDRESS, OTHER_ADDRESS, STORE, DIGITAL, TRAVEL_EVENT, OTHERIndicates the type of shipping address (or shipping method) for the merchandise.
} - accountInfo {advancedPayments/account-information
- accountOpened {advancedPayments/account-opened
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was opened.
- datestring (date)Date the account was opened.
} - accountLastChanged {advancedPayments/account-last-changed
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was last changed.
- datestring (date)Date the account was last changed.
} - passwordLastChanged {advancedPayments/password-last-changed
- periodstringPossible values: NO_CHANGE, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the password was last changed.
- datestring (date)Date the password was last changed.
} - activity {advancedPayments/activity
- purchasesInLastSixMonthsinteger (int32, max 9999)Number of purchases made with the account in the previous six months.
- addCardAttemptsInLast24Hoursinteger (int32, max 999)Number of attempts to add a payment card to the account in the previous 24 hours.
- transactionAttemptsInLast24Hoursinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous 24 hours.
- transactionAttemptsInLastYearinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous year.
} - paymentAccountRegistered {advancedPayments/payment-account-registered
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the payment account registration.
- datestring (date)Date the payment account was registered.
} - shippingAddressFirstUsed {advancedPayments/shipping-address-first-used
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the first use of the shipping address.
- datestring (date)Date the shipping address was first used.
} - shippingNameSameAsAccountNamebooleanIs the name on the account identical to the recipient name in the shipping address?
- suspiciousActivitybooleanHas suspicious activity (including fraud) previously occurred on this account?
} - authenticationInfo {advancedPayments/authentication-with-merchant-information
- methodstringPossible values: NONE, MERCHANT_CREDENTIAL, FEDERATED_CREDENTIAL, ISSUER_CREDENTIAL, THIRD_PARTY, FIDO_AUTHENTICATORMethod used to authenticate.
- timestring (date-time)Date/time (in UTC) of authentication.
} - priorAuthenticationInfo {advancedPayments/prior3-d-sv2-authentication-information
- referencestring (36 chars)ACS transaction ID (returned in threeDSecure.acsTransactionId) for the previous authentication.
- methodstringPossible values: FRICTIONLESS_AUTH, CHALLENGE_AUTH, AVS, OTHER_ISSUERMethod used in prior authentication.
- timestring (date-time)Date/time (in UTC) of prior authentication.
}
} - schedule {advancedPayments/schedule-response-detail
- scheduleIdstringThe identifier for the created schedule
- errorstringDetails of the causes of the error if an error occurred creating the schedule.
} - recipient {advancedPayments/recipient-detailsPayout recipient details, required by some acquirers.
- givenNamestring (≤ 255 chars)Recipient given name.
- surnamestring (≤ 255 chars)Recipient surname.
} - link [ {advancedPayments/link
- hrefstringDirect link to the resource.
- relstringIdentifies the relationship to the requested resource.
} ]
}
400Invalid installation or transaction identifier
response body:
shared schema
advancedPayments/validation-failure-outcome{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors.
- fieldErrors [ {advancedPayments/field-error
- fieldstring
- messagestring
} ]
}
401Unauthorized
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
403Access denied
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
404Transaction not found
response body:
shared schema
advancedPayments/validation-failure-outcome{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors.
- fieldErrors [ {advancedPayments/field-error
- fieldstring
- messagestring
} ]
}
500Internal Server Error
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
GET/acceptor/rest/transactions/{instId}/byRefFind Pay by Bank transactions by merchant reference#
description:
Retrieves transactions matching the supplied merchant reference for the given installation
authorization:HTTP Basic
content-type: application/json
path parameters:
{
- instIdstringMandatoryInstallation identifier
}
query parameters:
{
- merchantRefstringMandatoryMerchant reference to search for
}
Responses
200Transactions retrieved
response body:
shared schema
advancedPayments/transaction-resource[ {
- localestring (≤ 255 chars)
- processing {advancedPayments/processing-response-detailInformation about the authorisation status of your transaction.
- modelstringPossible values: MANAGE, REPORT, ADVICE, IMPORT
- authResponse {advancedPayments/auth-response-detail
- statusCodestring (≤ 255 chars)The code for the status received from the authoriser, if applicable.
- acquirerReferencestring (≤ 255 chars)The reference received from the authoriser for your transaction, if applicable.
- acquirerNamestring (≤ 255 chars)Name of the authoriser, if applicable.
- messagestring (≤ 255 chars)The message received from the authoriser, if applicable.
- authCodestring (≤ 255 chars)The code received from the authoriser, if applicable.
- gatewayReferencestring (≤ 255 chars)The reference received from the processing engine.
- gatewaySettlementstring (date)The date the processing engine will settle the transaction. in YYYY-MM-DD format.
- gatewayCodestring (≤ 255 chars)The code for the status received from the processing engine.
- gatewayMessagestring (≤ 255 chars)The message received from the processing engine.
- avsAddressCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the Address Verification checks, if applicable, if applicable.
- avsPostcodeCheckstringPossible values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDEDResults for the PostCode Verification checks, if applicable.
- cv2CheckstringPossible values: NOT_CHECKED, MATCHED, NOT_MATCHEDResults for the CV2 Verification checks, if applicable.
- gatewayStatusstring (≤ 255 chars)The status received from the processing engine.
- statusstringPossible values: AUTHORISED, DECLINED, REVERSED, REVERSE_FAILED, ERROR, PROCESSINGThe status received from the authoriser, if applicable.
- correlationIds [ {advancedPayments/correlation-id
- namestringReturnedPossible values: SET, GET, DO, REFUND, VOID, CAPTURE
- valuestringReturnedThe ID assigned to the transaction by PayPal. In the event of a technical issue, PayPal will require this ID for investigation purposes.
} ] - recurringAdvicestringPossible values: STOPOnly in the response when the Cardholder has advised their bank to stop this recurring or instalment payment.
} - authData {advancedPayments/auth-data
- acquirerNamestring (≤ 255 chars)The name of the acquirer. Maximum of 255 characters.
- acquirerstring (write-only)
} - decision {advancedPayments/decision-detailInformation about the results of a Fraud check.
- decisionResultstringPossible values: DEFER, BLOCK, PROCEEDThe result of the Fraud check.
- decisionSourcestringPossible values: RULE, TERRITORY_MANAGEMENT, BLACKLIST, NEGATIVE_LIST, WHITELIST, POSITIVE_LIST, RISK_CONTROLSWhat caused the Fraud check result.
- requestedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe type of transaction that was submitted to Access PaySuite Advanced Payments.
- decidedTypestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYThe new transaction type for the transaction following the Fraud check. For example, a transaction submitted as a Payment may be updated to an Authorisation (PreAuth) to allow manual review before the transaction is approved for settlement.
- rulesTriggered [ {advancedPayments/rule-triggeredAn array containing information about the Optimize fraud rules triggered.
- namestringThe rule name.
- actionstringThe action advised by the rule.
- descriptionstringThe rule description.
- deferParameterstring
} ] - decisionReasonstringPossible values: DERIVED_BY_TRIGGERED_RULE_ACTION, DECIDED_BY_RISK_CONTROLS, RULE_ENGINE_UNAVAILABLE, UNABLE_TO_DEFER_TRANSACTION, NO_RULES_TRIGGEREDThe reason for the decision.
} - routestring (≤ 255 chars)The name of the processing engine your transaction was submitted to.
- routeData {advancedPayments/route-data
- fundsstring (≤ 255 chars)
- paymentDescriptorstring (≤ 255 chars)
} - voidSuccessfulbooleanIndicates if the transaction was voided by a Post Authorisation callback.
} - paymentMethod {advancedPayments/payment-method-response-detailThe payment method a transaction was taken from, as returned on a response. Carries the details of whichever method was used, named by paymentClass, together with the billing address and whether the method was stored for reuse.
- registeredbooleanIndicates that the customer choose to register this card payment method. This field will not be present for non-card payment methods.
- isPrimarybooleanIndicates if this was Customer's primary registered payment method.
- paymentAccountFingerprintstringMerchant defined unique identifier for the payment method.
- billingAddress {advancedPayments/postal-addressThe billing address of the Customer. Will be used for AVS checks. We'll save the billing address when the customer makes their first payment. Providing a billing address for subsequent payments will update the address we've saved if you send new, empty or no values for each field.
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - reuse {advancedPayments/payment-method-reuse-response
- storagestringPossible values: NEW, EXISTING, NONESpecifies whether the payment credentials for this transaction will be stored, are being reused, or will not be stored. This will reflect any override in the request.
- agreementstringPossible values: RECURRING, INSTALMENT, ADHOCSpecifies the agreement under which stored credentials will be used/are being reused. This will reflect any override in the request.
- originalSchemeReferencestringScheme reference corresponding to the transaction that first stored a payment credential, if available. This will reflect any value given in the request. Where Access PaySuite has stored and reused a value on behalf of the merchant, it will be shown here.
- receivedSchemeReferencestringScheme reference corresponding to the transaction that has been created, if one was received. For the initial storage of payment credentials, this will be the value that Access PaySuite will store and reuse on behalf of the merchant when necessary. For transactions which reuse a stored payment credential, this value may or may not differ from that of originalSchemeReference.
} - paymentClassstring (≤ 255 chars)ReturnedThe classification of payment method used.
- card {ConditionaladvancedPayments/card-response-detailPresent when the payment method was a card. Only one payment method object is returned, indicated by paymentClass.
- cardTokenstringThe token for the card.
- cardFingerprintstringAn identifier for the card number. If multiple customers register cards with the same PAN they will get different card tokens, but the card fingerprint will be the same for them all. When a saved card is backed by a Network Token rather than the original PAN, the field is not populated.
- cardTypestring (≤ 255 chars)The type of card. Eg. MC_DEBIT, VISA_CREDIT, AMEX.
- cardUsageTypestringPossible values: CREDIT, DEBITThe usage type of card. Eg. DEBIT, CREDIT.
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe scheme of card. Eg. VISA, MASTERCARD, AMEX.
- cardCategorystringPossible values: CREDIT, DEBIT, ELECTRON, COMMERCIAL, BUSINESS, CORPORATE, PURCHASING, SIGNIA, WORLD, FLEET, MAESTRO_INTL, MAESTRO_UK, MAESTRO_UK_DOM, LASERThe category of card. Eg. CREDIT, DEBIT, CORPORATE, BUSINESS.
- maskedPanstring (≤ 255 chars)The masked card number. eg. 123456******1234. Where possible, this will include the first six and last four digits; in some cases, only the last four digits will be available.
- expiryDatestring (≤ 255 chars)The expiry date of the card. Formatted as MMYY.
- issuerstring (≤ 255 chars)The Issuer of the card.
- issuerCountrystring (≤ 255 chars)The country of the card Issuer.
- cardHolderNamestring (≤ 255 chars)The Cardholder's name.
- cardNicknamestring (≤ 255 chars)The name the Customer provided for their Card to allow easy selection where they registered multiple cards.
- issueNumberstring (≤ 255 chars)The issue number of the card used in the request.
- validDatestring (≤ 255 chars)The valid from date of the card. Formatted as MMYY.
- sourcestringPossible values: VISA_CHECKOUT, GOOGLEPAYThis will always be GOOGLEPAY.
- networkToken {advancedPayments/network-tokenOnly present if a network token was provisioned or used during this transaction
- statusstringPossible values: ACTIVE, SUSPENDED, DELETED, EXPIRED, UNPROVISIONEDStatus of the token at the time of this transaction: ACTIVE - active and usable SUSPENDED - temporarily suspended, may be re-activated in future DELETED - permanently deleted; need to re-engage cardholder EXPIRED - expired, should be refreshed in future UNPROVISIONED - no token
- usagestringPossible values: PROVISIONED, PROVISIONED_AND_USED, PROVISION_FAILED, USED, RENEWEDWhat happened to the token during this transaction: PROVISIONED - transaction created a network token PROVISION_FAILED - tried to create a network token but failed USED - transaction used an existing network token
- tokenErrorstringPossible values: CARD_TOKENISATION_NOT_ALLOWED, DECLINED, SERVICE_UNAVAILABLE, SYSTEM_ERRORReason for provisioning failure: CARD_TOKENISATION_NOT_ALLOWED - card not supported (or, not at this time) DECLINED - card scheme or issuer refused to provision a network token SERVICE_UNAVAILABLE - scheme token service not available SYSTEM_ERROR - unspecified error attempting to provision
- expiryDatestringToken expiry date. Formatted as MMYY.
} - newboolean
} - paypal {ConditionaladvancedPayments/pay-pal-response-detailPresent when the payment method was PayPal. Only one payment method object is returned, indicated by paymentClass.
- payerIDstring (≤ 255 chars)PayPal's identifier for the payer.
- emailstring (≤ 255 chars)The email associated with the PayPal account.
- accountVerifiedbooleanIndicates whether PayPal has verified the account.
- checkoutTokenstringThe PayPal checkout token for the session the payment was taken in.
- sourcestringPossible values: PAYPAL, PAYPAL_ONE_TOUCHWhich PayPal integration took the payment - PAYPAL for Express Checkout, or PAYPAL_ONE_TOUCH.
- bnCodestringThe PayPal partner attribution code the payment was made under.
- payeeAccountstringThe PayPal account the funds were paid to.
} - applepay {ConditionaladvancedPayments/apple-pay-response-detailPresent when the payment method was Apple Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Apple Pay uses for this card (e.g. VISA 1234)
- transactionIdentifierstring (≤ 255 chars)
- cardTypestring (≤ 255 chars)Information about the type of card used by the Apple Pay transaction.
- cardUsageTypestringPossible values: CREDIT, DEBITThe card usage type (credit or debit)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The token for the card.
} - googlepay {ConditionaladvancedPayments/google-pay-response-detailPresent when the payment method was Google Pay. Only one payment method object is returned, indicated by paymentClass.
- displayNamestring (≤ 255 chars)The display name Google Pay uses for this card (e.g. Visa •••• 1111)
- cardSchemestringPossible values: AMEX, DINERS, DISCOVER, VISA, MASTERCARD, JCB, LASERThe card scheme (VISA, Mastercard, Amex, etc)
- savedAccountTokenstring (≤ 255 chars)The unique token for the payment method, returned when a card is registered. A savedAccountToken will be returned for both Google Pay non-tokenized cards (FPAN) and Android device token (DPAN) payment methods and can be used to make subsequent payments of that type.
- cardDetailsstringDescrptive details of the card as provided by Google Pay. This will always be the last 4 digits of the card number
- cardHolderNamestringThe cardholder name for the Google Pay payment method
} - merchantDefined {ConditionaladvancedPayments/merchant-defined-response-detailPresent when the payment method was merchant defined. Only one payment method object is returned, indicated by paymentClass.
- accountHolderNamestring (≤ 255 chars)The account holder name that was supplied in the request.
- paymentMethodNamestring (≤ 127 chars)The payment method name that was supplied in the request.
} - openbanking {ConditionaladvancedPayments/open-banking-response-detailPresent when the payment method was Pay by Bank. Only one payment method object is returned, indicated by paymentClass.
- remittanceReferencestringThe reference the payer's bank shows against the payment.
- userInterfaceDetailsobject (map)Details the payer's bank supplied for display, as name and value pairs. The members vary by bank.
- account {advancedPayments/open-banking-accountThe bank account the payment came from.
- sortCodestringSort code of the payer's bank account.
- accountNumberstringNumber of the payer's bank account.
- bankNamestringName of the payer's bank.
} - multiAuthorisationstringPossible values: AUTHORISED, INCOMPLETEWhere the payer's bank requires more than one person to authorise a payment, whether every authorisation has been given yet.
- modestringPossible values: REDIRECTHow the payer was taken to their bank to authorise the payment.
}
} - customFields {advancedPayments/custom-field-stateInformation about the custom fields you submitted in the request.
- fieldState [ {advancedPayments/field-state
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
- transientbooleanIndicates if the custom field is transient and should not be stored as part of the transaction.
} ]
} - threeDSecure {advancedPayments/three-d-secure-response-detailInformation about the 3D Secure status of your transaction.
- versioninteger (int32)Major version of 3D Secure applied to this transaction.
- protocolVersionstring (≤ 255 chars)Full protocol version of 3D Secure applied to this transaction.
- versionsAttempted [ {advancedPayments/three-d-secure-version-attemptedVersions of 3D Secure that were attempted for this transaction, in order of use. This can be used to determine when 3DSv2 could not be used, and why. A version will only be included in this list if it was meaningfully attempted, which means that the transaction must have been eligible (e.g. type, channel, payment method etc.) and the merchant's account must have been capable (e.g. the corresponding 3D Secure version was enabled on the MID, etc.) This field may be populated even if no others in this section are, e.g. to indicate that the issuer didn't support any version of 3D Secure.
- versioninteger (int32, min 1, max 2)Major version of 3D Secure that was attempted.
- availabilitystringPossible values: INSUFFICIENT_DATA, ISSUER_NO_V2, ISSUER_NO_V1, ISSUER_NO_3DS, ERROR, AVAILABLEHigh-level indication of the actual availability of the given 3D Secure version and what happened during the attempt to use it.
} ] - schemestring (≤ 255 chars)The scheme that processed the transaction for 3DS.
- statusstringPossible values: AUTHENTICATED, BYPASSED, FAILED, NOT_ENROLLED, ATTEMPTED, ENROLMENT_CHECK_FAILURE, INCOMPLETE, NOT_AVAILABLE, NOT_IMPLEMENTEDThe overall 3DS result for the transaction.
- ecistring (≤ 255 chars)Electronic Commerce Indicator (ECI) for this transaction; used by the card issuer/scheme/acquirer to describe the security (inc. authentication) that has been applied. This value reflects what was obtained from the 3D Secure process; it may be modified/transformed prior to submission to an acquirer. It is provided for informational purposes only; merchants do not need to use it as part of processing, and should rely on the status and other fields for a stable interpretation of the outcome. Common values include: 01 - Attempted authentication (Mastercard) 02 - Authenticated (Mastercard) 05 - Authenticated (Visa, American Express) 06 - Attempted authentication (Visa, American Express) 07/00 - Not authenticated/no 3D Secure Other values not listed here may be seen for some types of transaction, at the discretion of the card scheme and/or ACS operator.
- threeDSServerTransIdstring (≤ 255 chars)Access PaySuite 3DSv2 transaction ID.
- dsTransactionIdstring (≤ 255 chars)Directory Server 3DSv2 transaction ID.
- acsTransactionIdstring (≤ 255 chars)Access Control Server (ACS) 3DSv2 transaction ID.
- challengeRequeststringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATEDIndicates whether a challenge was ultimately requested or not; this reflects the final 3DSv2 request made by Access PaySuite Advanced Payments after taking into account any merchant preference and card scheme rules.
- frictionlessbooleanWhether the cardholder was authenticated without a challenge (frictionless flow).
- cardHolderMessagestringMessage returned by the issuer containing instructions for the cardholder.
} - customer {advancedPayments/transaction-customer-details
- merchantRefstring (≤ 255 chars)Your reference for the Customer.
- idstring (≤ 255 chars)The ID given to the Customer by the processing engine.
- displayNamestring (≤ 255 chars)The Customer's name.
- billingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - emailstring (≤ 255 chars)Email address for the Customer.
- dobstring (≤ 255 chars)Date of birth for the Customer.
- dateOfBirthstring (date)
- telephonestring (≤ 255 chars)Telephone number for the Customer.
- defaultCurrencystring (≤ 255 chars)The Customer's default currency.
- ipstring (≤ 255 chars)The Customer's IP address.
- registeredbooleanReturnedIndicates if the customer was registered.
} - financialServices {advancedPayments/financial-servicesSupplementary data for Financial Services payments, including loan repayments and other credit-related activities, as submitted with the transaction.
- dateOfBirthstring (pattern ^[0-9]{8}$)Date of birth of the recipient, in YYYYMMDD format. For example, for Jan 2nd, 1980, this would be "19800102".
- surnamestring (pattern ^\p{L}{1,6}$)Surname/family name of the recipient; up to six characters, excluding numbers or special characters. For example, for "Smith", this would be "Smith"; for "Williams", this would be "Willia".
- accountNumberstring (pattern ^[a-zA-Z0-9]{1,10}$)Account number used to identify the recipient or loan. For a PAN, the first six and last four digits of the PAN; otherwise up to ten characters of the account number.
- postCodestring (pattern ^[a-zA-Z0-9]{1,6}$)First part of the postal code of the recipient; up to six characters. For example, if the postal code is "EC2A 1AE", this would be "EC2A".
} - accountFunding {advancedPayments/account-fundingSupplementary data for Account Funding Transactions (AFT), e.g. money transfers, as submitted with the transaction.
- recipient {advancedPayments/account-funding-recipient-detailsDetails about the funding recipient
- givenNamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's given name
- surnamestring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's surname/family name
- addressstring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient's address
- citystring (≤ 255 chars, pattern ^[a-zA-Z0-9][A-Za-z0-9 ]*$)Recipient city
- statestring (2–3 chars, pattern ^[A-Za-z0-9]+$)ConditionalOnly for recipients based in the US or Canada Recipient state/province code (2-3 characters), e.g. "CA", "DE", "MD", "TN" et al. in the US; "AB", "ON", "QC", "SK" et al. in Canada
- countryCodestring (≤ 3 chars, pattern ^[A-Z]+$)Recipient country code (ISO-3166-alpha-3), e.g. "CAN", "GBR", "USA" et al.
}
} - transaction {advancedPayments/transaction-state-response-detail
- transactionIdstring (≤ 255 chars)Our ID for the transaction.
- deferredbooleanIndicates if the Payment capture is deferred.
- deferralExpiresstring (date-time)
- recurringbooleanIndicates if the payment was a recurring payment.
- instalmentbooleanIndicates if the payment was an instalment.
- merchantRefstring (≤ 255 chars)Your reference for the transaction.
- merchantDescriptionstring (≤ 255 chars)The description of the transaction provided in the request.
- statusstringPossible values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDEDThe current state of the transaction.
- typestringPossible values: PAYMENT, PREAUTH, PAYOUT, REFUND, CAPTURE, CANCEL, REPEAT, CASH_ISSUE, CASH_PAYMENT, CASH_EXPIRE, VERIFY, PAYMENT_INITIALIZE, PAYMENT_UPDATE, PAYMENT_COMPLETE, PAYOUT_INITIALIZE, PAYOUT_UPDATE, PAYOUT_COMPLETE, RETURN, IMPORTED_PAYMENT, IMPORTED_VERIFYIndicates the type of the transaction.
- amountfloatIndicates the requested amount of the transaction.
- consumerSpendfloatIndicates the actual amount of the transaction. This will be zero for any type of INITIALIZE transaction, deferred transactions, and rejected transactions.
- currencystring (≤ 3 chars)Indicates the currency of the transaction. Use the 3 character ISO-4217 code.
- transactionTimestring (date-time)The date and time we processed the transaction in ISO-8601 format.
- receivedTimestring (date-time)The date and time we received the transaction in ISO-8601 format.
- commerceTypestringPossible values: ECOM, MOTO, CNPThe Commerce Type of the transaction.
- channelstringPossible values: WEB, MOBILE, SMS, RETAIL, MOTO, IVR, VIRTUAL_TERMINAL, OTHERThe Sales Channel of the transaction.
- relatedTransaction {advancedPayments/related-transactionThis field is not applicable for Payments. In case of Refunds it indicates the transaction that was refunded.
- transactionIdstring (≤ 255 chars)ReturnedOur ID for the transaction that was original.
- merchantRefstring (≤ 255 chars)Your reference for the transaction that was original.
} - billingDescriptorstring
- customerInitiatedboolean
- stagestringPossible values: INITIALIZE, THREE_D_SECURE, FRAUD_RULES, AUTHORISATION, EXTERNAL_PROCESSING, COMPLETEThe logical stage the transaction has reached.
- continuousAuthorityAgreement {advancedPayments/continuous-authority-agreementThe continuous authority agreement established with the cardholder. Required if you want to process a transaction initiating a recurring or instalment series using 3DSv2.
- minFrequencyinteger (int32, min 1, max 9999)ConditionalMinimum number of days expected between payments in a recurring or instalment sequence. Must be >= 1.
- expirystring (date)ConditionalDate (YYYY-MM-DD) at which recurring/instalment agreement expires, or at which it will need to be re-authenticated in order to continue. Must be in the future.
- numberOfInstalmentsinteger (int32, min 2, max 999)ConditionalTotal number of payments in an instalment sequence - including this one, if starting with a payment. Required only for instalments; must be >= 2.
}
} - paypalSellerProtection {advancedPayments/paypal-seller-protection
- sellerProtectionTypestring (≤ 255 chars)Indicates the level of Seller Protection PayPal has assigned to this transaction. Please refer to PayPal's documentation for more information.
} - sessionIdstring (≤ 255 chars)
- history [ {advancedPayments/transaction-event-history-detail
- transactionStatusstringReturnedPossible values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDED
- reasonCodestring (≤ 255 chars)Returned
- reasonMessagestring (≤ 255 chars)Returned
- timeStampstring (date-time)ReturnedDate and time in ISO-8601 format.
- stagestringPossible values: INITIALIZE, THREE_D_SECURE, FRAUD_RULES, AUTHORISATION, EXTERNAL_PROCESSING, COMPLETE
} ] - followUpStatus {advancedPayments/transaction-follow-up-status-detail
- status [ {advancedPayments/transaction-follow-up-status-entry-detail
- namestringReturnedPossible values: REFUNDED, PARTIALLY_REFUNDED, REPEATED, CANCELLED, CAPTURED, REVERSED, PAID, EXPIRED, COMPLETED
- followUpTransaction [ {ReturnedadvancedPayments/follow-up-transaction-detail
- transactionIdstring (≤ 255 chars)
- timeStampstring (date-time)ReturnedDate and time in ISO-8601 format.
} ]
} ]
} - order {advancedPayments/order
- orderRefstring (≤ 255 chars)Your reference for the order. Maximum length: 255.
- taxAmountfloat
- taxRatefloat
- shippingAddress {advancedPayments/postal-address
- namestring (≤ 255 chars)
- line1string (≤ 255 chars)Line 1 of the address.
- line2string (≤ 255 chars)Line 2 of the address.
- line3string (≤ 255 chars)Line 3 of the address.
- line4string (≤ 255 chars)Line 4 of the address.
- districtstring (≤ 255 chars)
- citystring (≤ 255 chars)City of the address.
- statestring (≤ 255 chars)
- regionstring (≤ 255 chars)Region of the address.
- postcodestring (≤ 255 chars)Post Code of the address.
- countrystring (≤ 255 chars)Country name of the Customer's billing address.
- countryCodestring (≤ 3 chars)The 3 character ISO-3166-1 code for the address country.
} - items [ {advancedPayments/line-itemList of products/services in the order.
- namestring (≤ 255 chars)ReturnedName of the item. Maximum length: 255.
- descriptionstring (≤ 255 chars)Description of the item. Maximum length: 255.
- itemRefstring (≤ 255 chars)Your reference for the item. Maximum length: 255.
- lineRefstring (≤ 255 chars)Your reference for the line item of the order. Maximum length: 255.
- itemAmountfloatReturnedThe individual amount of the item.
- quantityinteger (int32)The quantity of items in the order. Defaults to 1 if not provided.
- totalAmountfloatThe total amount of the items. Defaults to itemAmount × quantity if not provided.
- itemTaxAmountfloat
- taxRatefloat
- totalTaxAmountfloat
- customFields [ {advancedPayments/custom-field
- namestring (≤ 255 chars)ReturnedThe name of the custom field.
- valuestring (≤ 255 chars)The value of the custom field.
} ]
} ]
} - strongCustomerAuthentication {advancedPayments/strong-customer-authentication
- transactionTypestringPossible values: GOODS_OR_SERVICES, CHECK_ACCEPTANCE, ACCOUNT_FUNDING, QUASI_CASH, PREPAID_ACTIVATIONDetailed classification of the transaction.
- challengeRequestedstringPossible values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
- merchantRisk {advancedPayments/merchant-risk-indicator
- deliveryEmailstring (≤ 254 chars)For electronic delivery, the email address to which the merchandise was delivered.
- deliveryTimeframestringPossible values: ELECTRONIC, SAME_DAY, OVERNIGHT, TWO_OR_MORE_DAYSTime frame for merchandise delivery.
- giftCardPurchase {advancedPayments/gift-card-purchase
- totalAmountinteger (int32)Total value of gift cards being purchased (major units, e.g. for GBP 12.99, use 12).
- currencystring (3 chars)Currency code of cards being purchased.
- countinteger (int32, max 99)Total number of cards being purchased.
} - preorderbooleanWas this a pre-order of merchandise which will be available in the future?
- preorderDatestring (date)For pre-orders, the date at which merchandise is expected to be available.
- reorderbooleanWas the cardholder re-ordering merchandise previously purchased from this merchant?
- shippingTostringPossible values: BILLING_ADDRESS, VERIFIED_ADDRESS, OTHER_ADDRESS, STORE, DIGITAL, TRAVEL_EVENT, OTHERIndicates the type of shipping address (or shipping method) for the merchandise.
} - accountInfo {advancedPayments/account-information
- accountOpened {advancedPayments/account-opened
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was opened.
- datestring (date)Date the account was opened.
} - accountLastChanged {advancedPayments/account-last-changed
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the account was last changed.
- datestring (date)Date the account was last changed.
} - passwordLastChanged {advancedPayments/password-last-changed
- periodstringPossible values: NO_CHANGE, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period when the password was last changed.
- datestring (date)Date the password was last changed.
} - activity {advancedPayments/activity
- purchasesInLastSixMonthsinteger (int32, max 9999)Number of purchases made with the account in the previous six months.
- addCardAttemptsInLast24Hoursinteger (int32, max 999)Number of attempts to add a payment card to the account in the previous 24 hours.
- transactionAttemptsInLast24Hoursinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous 24 hours.
- transactionAttemptsInLastYearinteger (int32, max 999)Number of transactions (successful and abandoned) for the account in the previous year.
} - paymentAccountRegistered {advancedPayments/payment-account-registered
- periodstringPossible values: GUEST_CHECKOUT, THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the payment account registration.
- datestring (date)Date the payment account was registered.
} - shippingAddressFirstUsed {advancedPayments/shipping-address-first-used
- periodstringPossible values: THIS_TRANSACTION, LESS_THAN_30_DAYS, BETWEEN_30_AND_60_DAYS, MORE_THAN_60_DAYSRelative time period for the first use of the shipping address.
- datestring (date)Date the shipping address was first used.
} - shippingNameSameAsAccountNamebooleanIs the name on the account identical to the recipient name in the shipping address?
- suspiciousActivitybooleanHas suspicious activity (including fraud) previously occurred on this account?
} - authenticationInfo {advancedPayments/authentication-with-merchant-information
- methodstringPossible values: NONE, MERCHANT_CREDENTIAL, FEDERATED_CREDENTIAL, ISSUER_CREDENTIAL, THIRD_PARTY, FIDO_AUTHENTICATORMethod used to authenticate.
- timestring (date-time)Date/time (in UTC) of authentication.
} - priorAuthenticationInfo {advancedPayments/prior3-d-sv2-authentication-information
- referencestring (36 chars)ACS transaction ID (returned in threeDSecure.acsTransactionId) for the previous authentication.
- methodstringPossible values: FRICTIONLESS_AUTH, CHALLENGE_AUTH, AVS, OTHER_ISSUERMethod used in prior authentication.
- timestring (date-time)Date/time (in UTC) of prior authentication.
}
} - schedule {advancedPayments/schedule-response-detail
- scheduleIdstringThe identifier for the created schedule
- errorstringDetails of the causes of the error if an error occurred creating the schedule.
} - recipient {advancedPayments/recipient-detailsPayout recipient details, required by some acquirers.
- givenNamestring (≤ 255 chars)Recipient given name.
- surnamestring (≤ 255 chars)Recipient surname.
} - link [ {advancedPayments/link
- hrefstringDirect link to the resource.
- relstringIdentifies the relationship to the requested resource.
} ]
} ]
400Invalid installation identifier or merchant reference
response body:
shared schema
advancedPayments/validation-failure-outcome{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors.
- fieldErrors [ {advancedPayments/field-error
- fieldstring
- messagestring
} ]
}
401Unauthorized
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
403Access denied
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}
404No transactions found
response body:
shared schema
advancedPayments/validation-failure-outcome{
- statusstringReturnedPossible values: SUCCESS, FAILED, PROCESSINGThe overall outcome of the request.
- reasonCodestring (≤ 255 chars)ReturnedA code indicating the overall outcome of the request. Refer to Errors for more information.
- reasonMessagestring (≤ 255 chars)ReturnedA message indicating the overall outcome of the request. This is where we'll provide detailed reasons for any errors.
- fieldErrors [ {advancedPayments/field-error
- fieldstring
- messagestring
} ]
}
500Internal Server Error
response body:
shared schema
advancedPayments/error-response{
- statusstring
- errorstring
- messagestring
- pathstring
- timestampstring (date-time)
}