Payment Methods
Endpoints for managing payment methods
List Payment Methods
/payment-methodsReturns a paginated list of payment methods that have been configured in the system for the authenticated merchant.
IDs of both "Physical" payment terminals that can be used to process Card Present transactions and IDs of "Virtual" payment methods (hosted payment forms / iframes) that can be used to process Card Not Present and bank transfer transactions (ACH) will be returned.
Filtering and Sorting
You can filter and sort the results using query parameters:
Available Filter/Sort Fields:
id- Payment method IDpaymentMethodType- Type of payment method (Physical, Virtual, VirtualAch)currency- Currency (USD, CAD)description- Payment method descriptionownerId- The Merchant ID that owns this Payment Method ID
Filter Operators:
| Operator | Meaning |
|---|---|
== |
Equals |
!= |
Not equals |
> |
Greater than |
< |
Less than |
>= |
Greater than or equal to |
<= |
Less than or equal to |
@= |
Contains |
_= |
Starts with |
_-= |
Ends with |
!@= |
Does not Contains |
!_= |
Does not Starts with |
!_-= |
Does not Ends with |
@=* |
Case-insensitive string Contains |
_=* |
Case-insensitive string Starts with |
_-=* |
Case-insensitive string Ends with |
==* |
Case-insensitive string Equals |
!=* |
Case-insensitive string Not equals |
!@=* |
Case-insensitive string does not Contains |
!_=* |
Case-insensitive string does not Starts with |
Examples:
- Filter by type:
?filters=paymentMethodType==Physical - Multiple filters:
?filters=paymentMethodType==Physical,currency==USD - Sort results:
?sorts=paymentMethodType,description - Combined:
?filters=currency==USD&sorts=description
Parameters
| Name | In | Type | Description |
|---|---|---|---|
filters | query | string | Filter criteria in the format: field==value,field!=value Multiple filters can be separated by commas. Available fields: id, paymentMethodType, currency, description, ownerId |
sorts | query | string | Sort criteria as comma-separated field names. Available fields: id, paymentMethodType, currency, description, ownerId |
page | query | integer | Page number to retrieve (starts at 1). For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20. |
pageSize | query | integer | Number of records per page. For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20. |
Responses
200
A successful paginated response containing available payment methods
application/json · PaymentMethodsListResponse
totalCount integer requiredTotal number of payment methods that match the filter criteria
Example: 2
page integer requiredThe current page number (starts at 1)
Example: 1
pageSize integer requiredNumber of items per page
Example: 10
totalPages integer requiredTotal number of pages available
Example: 1
hasNextPage boolean requiredTrue if there are more pages of results available
Example: false
hasPreviousPage boolean requiredTrue if there are previous pages of results available
Example: false
items array of object requiredArray of payment methods for the current page
Child attributes
id string requiredThe unique identifier of the payment method. This ID has a prefix that makes it human-readable (pmt_trm_ for physical terminals, pmt_vrt_ for virtual card terminals, pmt_ach_ for virtual ACH terminals, pmt_tkn_ for tokens, which store a card or an ACH bank account), but applications should always use the type field to determine the payment method type rather than parsing this ID.
Example: "pmt_tkn_01JRZPRGFF4J2SZC3HMDBYEN2J"
dateDeleted string (date-time)The date and time (UTC) when this payment method token was removed from the system using the Remove Token endpoint. This parameter will only be returned if the token was removed/deleted from the system.
This field will be present in three scenarios:
- As part of a successful Remove Token endpoint response
- In token.removed webhook notifications
- In List Transactions responses for transactions where the associated token was later removed
When this field is present, sensitive card details (maskedCardNumber, cardExpDate) will be removed for security purposes, but all other transaction data remains intact.
Example: "2025-07-14T14:05:48.869225Z"
type string requiredThe type of payment method:
Physical- A physical payment terminal for Card Present transactionsVirtual- A hosted payment form/iframe for Card Not Present transactionsVirtualAch- A hosted payment form/iframe for ACH (US) bank transfer transactionsToken- A stored payment method (a card or an ACH bank account) for card-on-file and recurring transactionsVirtualEft- A virtual Canadian bank-transfer payment method, when configured.Unknown- The payment method type is not known.
Allowed: Unknown, Physical, Virtual, VirtualAch, VirtualEft, Token
Example: "Token"
currency string requiredThe currency of the payment method.
Allowed: USD, CAD
Example: "USD"
description stringA human-readable name for the payment method.
Example: "Token for John Doe's Visa"
billingContact objectBilling contact information associated with the payment method. Not returned on card present transactions or on refunds, captures, etc. of card present transactions.
Child attributes
name stringExample: "John Doe"
countryCode stringExample: "US"
zipCode stringExample: "12345"
address stringExample: "123 Main St"
state stringExample: "NY"
city stringExample: "Anytown"
address2 stringAdditional address information, when supplied.
Example: "Suite 200"
cardType stringThe type of card used for this transaction:
UNKNOWN- The card type is unknownDEBIT- Debit CardVISA- Visa Credit CardMASTERCARD- MasterCard Credit CardAMEX- American Express Credit CardDINERS- Diners Club Credit CardDISCOVER- Discover Credit CardJCB- JCB Credit CardUNIONPAY- UnionPay Credit CardMAESTRO- Maestro Debit CardGIFT- Gift CardCASH- All-cash TransactionEBT- Electronic Benefits Transfer CardINTERAC- Interac (Canadian PIN-debit network), Card Present onlyOTHER- Other tender types
Allowed: UNKNOWN, DEBIT, VISA, MASTERCARD, AMEX, DINERS, DISCOVER, JCB, UNIONPAY, MAESTRO, GIFT, CASH, EBT, INTERAC, OTHER
Example: "VISA"
maskedCardNumber stringThe masked card number. The format may vary (e.g. **0011, 4**0011, etc.)
Example: "************0011"
cardExpDate stringThe expiration date of the card in MMYY format.
Example: "1225"
accountType stringFunding-source classification of this token-type payment method.
- For card tokens:
CreditorDebit. - For ACH tokens:
CheckingorSavings. May be omitted for older tokens that pre-date this field, for non-token payment methods, or when the source did not provide a classification.
Allowed: Credit, Debit, Checking, Savings
Example: "Debit"
accountNumber stringMasked bank account number, when available for a bank-account token.
Example: "*****6789"
{
"totalCount": 1,
"page": 1,
"pageSize": 10,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"items": [
{
"id": "pmt_trm_01JRZPTMTBN41PC3VPQNZ5T3HF",
"type": "Physical",
"currency": "USD",
"description": "Main Store Terminal"
}
]
}
{
"totalCount": 3,
"page": 1,
"pageSize": 10,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"items": [
{
"id": "pmt_trm_01JRZPTMTBN41PC3VPQNZ5T3HF",
"type": "Physical",
"currency": "USD",
"description": "Main Store Terminal"
},
{
"id": "pmt_trm_01JRZQW7FXMG62D8HJTPK3Y5VB",
"type": "Physical",
"currency": "USD",
"description": "Secondary Store Terminal"
},
{
"id": "pmt_vrt_01JRZPTWS99Z7RB57Q1CVWSWDS",
"type": "Virtual",
"currency": "USD",
"description": "Online Checkout Iframe"
}
]
}
401
Unauthorized response due to an invalid or missing API key.
application/json · Error
code integerNumeric error code. These are grouped into ranges for easier identification and troubleshooting.
0- Unknown1000- AuthenticationGenericError1001- MerchantNotAuthorizedForResource2000- RequestValidationGenericError2010- InvalidPaymentMethodType - The payment method type is not supported for this operation. This includes: ACH tokens cannot be used for auth, void, or subscription transactions.2011- InvalidTransactionType2012- InvalidAmount2013- PaymentMethodUsageRestricted2014- PaymentMethodNotEnabled - The payment method or card brand is not enabled for the merchant. Returned with HTTP400byPOST /transactions/token-saleandPOST /transactions/token-auth. The message names what is not enabled:ACH payments are not enabled for this merchant.,Card payments are not enabled for this merchant.,{Brand} cards are not enabled for this merchant.(Visa, Mastercard, American Express, Discover, JCB, Diners Club, UnionPay, or Maestro), orThis card brand is not enabled for this merchant.2020- InvalidPaymentMethodOwner2021- InvalidAccountHolderOwner2100- InvalidAccountHolderInformation2101- InvalidCountryCode2102- InvalidZipCode2103- MissingCountryCodeOrZipCode2105- InvalidEmailAddress2201- MissingUniqueToken2202- TransactionDeclinedError2900- RequestValidationUnsupportedPayload2901- RequestValidationWebhookMissingTypeAndDmnType2902- RequestValidationUnsupportedWebhookTokenization2903- RequestValidationUnsupportedWebhookType3000- UnknownServerGenericError3201- InvalidOrExpiredSession3202- FailedToCreateSessionInAdapter3203- ErrorWhileTokenizingCard3204- FailedToLoadThirdPartySdk3205- SessionExpired3299- JavaScriptError3400- ResourceNotReadyError3401- TransactionNotCompleteYet3501- CouldNotCreateBillingSubscription3502- CouldNotCancelBillingSubscription3503- BillingSubscriptionInvalidStatus4000- ResourceNotFound4001- TokenizedCardNotFound4002- PaymentMethodNotFound4003- AccountHolderNotFound4004- BillingSubscriptionNotFound6000- SdkGenericError6001- SdkJavaScriptError6100- SdkSessionLoadFailed6101- SdkSessionExpired6102- SdkSessionNotInitialized6103- SdkEnvironmentMismatch6200- SdkCardFieldsInvalid6201- SdkCardTokenizationFailed6202- SdkCardInitFailed6203- SdkCardProcessingFailed6300- SdkAchFieldsInvalid6301- SdkAchProcessingFailed6400- SdkEftProcessingFailed6500- SdkWalletError6501- SdkWalletProcessingFailed6600- SdkThirdPartySdkLoadFailed6700- SdkFormValidationFailed6701- SdkBillingValidationFailed6800- Sdk3dsAuthenticationFailed - Issuer ACS rejected the 3DS authentication. Only emitted whenformConfig.enable3DSecure: true.6801- Sdk3dsAuthenticationUnavailable - 3DS authentication could not be completed due to an upstream technical issue.6802- Sdk3dsNotEnrolled - The card is not enrolled in 3DS.6900- SdkCardDeclined - The issuer declined the card on the hosted payment form or Payment SDK path. The specific reason is ontransactionResponses[0].responseCode(10-18) and inresultText.6901- SdkCardGatewayError - The gateway rejected or failed the hosted payment form payment because of validation or a gateway failure rather than an issuer decision.6902- SdkCardTokenMissing - The gateway reported no failure but returned no payment token.9000- UnhandledGenericError9999- MaxErrorCode
Allowed: 0, 1000, 1001, 2000, 2010, 2011, 2012, 2013, 2014, 2020, 2021, 2100, 2101, 2102, 2103, 2105, 2201, 2202, 2900, 2901, 2902, 2903, 3000, 3201, 3202, 3203, 3204, 3205, 3299, 3400, 3401, 3501, 3502, 3503, 4000, 4001, 4002, 4003, 4004, 6000, 6001, 6100, 6101, 6102, 6103, 6200, 6201, 6202, 6203, 6300, 6301, 6400, 6500, 6501, 6600, 6700, 6701, 6800, 6801, 6802, 6900, 6901, 6902, 9000, 9999
Example: 2000
status stringExecution status of the request sent to the payment gateway.
- Completed - The request completed successfully.
- Rejected - The request was rejected by the payment gateway. No action or side effects occurred. The transaction can safely be retried.
- Interrupted - The request was interrupted, and the final status is unknown. Possible side effects may have occurred (e.g., a Sale (Token) that returns Interrupted might still charge the customer, even if an error is returned). Additional checks are required before retrying the transaction.
- Unknown
Allowed: Completed, Rejected, Interrupted, Unknown
Example: "Rejected"
message stringDeveloper-facing error message.
Example: "One or more validation errors occurred."
traceId stringUnique trace identifier for tracking and debugging this request.
Example: "1-6838bcce-5c0074e82ac7170d4f990d87"
timestamp string (date-time)The timestamp when the error occurred (UTC).
Example: "2025-05-29T20:00:15.5752808Z"
errorDetails array of ErrorDetailChild attributes
code integerError code
Example: 2000
field stringThe field with the error
Example: "Amount"
message stringError message
Example: "Request validation failed"
details stringAdditional details about the error
Example: "The Amount field must be a positive number between 1 and 999,999,999."
{
"code": 1000,
"status": "Rejected",
"message": "API key cannot be empty",
"traceId": "1-6838be96-74c62f8e2804352739e63476",
"timestamp": "2025-05-29T20:07:50.4723483Z",
"errorDetails": []
}
400
Invalid request or query parameters.
application/json · Error
code integerNumeric error code. These are grouped into ranges for easier identification and troubleshooting.
0- Unknown1000- AuthenticationGenericError1001- MerchantNotAuthorizedForResource2000- RequestValidationGenericError2010- InvalidPaymentMethodType - The payment method type is not supported for this operation. This includes: ACH tokens cannot be used for auth, void, or subscription transactions.2011- InvalidTransactionType2012- InvalidAmount2013- PaymentMethodUsageRestricted2014- PaymentMethodNotEnabled - The payment method or card brand is not enabled for the merchant. Returned with HTTP400byPOST /transactions/token-saleandPOST /transactions/token-auth. The message names what is not enabled:ACH payments are not enabled for this merchant.,Card payments are not enabled for this merchant.,{Brand} cards are not enabled for this merchant.(Visa, Mastercard, American Express, Discover, JCB, Diners Club, UnionPay, or Maestro), orThis card brand is not enabled for this merchant.2020- InvalidPaymentMethodOwner2021- InvalidAccountHolderOwner2100- InvalidAccountHolderInformation2101- InvalidCountryCode2102- InvalidZipCode2103- MissingCountryCodeOrZipCode2105- InvalidEmailAddress2201- MissingUniqueToken2202- TransactionDeclinedError2900- RequestValidationUnsupportedPayload2901- RequestValidationWebhookMissingTypeAndDmnType2902- RequestValidationUnsupportedWebhookTokenization2903- RequestValidationUnsupportedWebhookType3000- UnknownServerGenericError3201- InvalidOrExpiredSession3202- FailedToCreateSessionInAdapter3203- ErrorWhileTokenizingCard3204- FailedToLoadThirdPartySdk3205- SessionExpired3299- JavaScriptError3400- ResourceNotReadyError3401- TransactionNotCompleteYet3501- CouldNotCreateBillingSubscription3502- CouldNotCancelBillingSubscription3503- BillingSubscriptionInvalidStatus4000- ResourceNotFound4001- TokenizedCardNotFound4002- PaymentMethodNotFound4003- AccountHolderNotFound4004- BillingSubscriptionNotFound6000- SdkGenericError6001- SdkJavaScriptError6100- SdkSessionLoadFailed6101- SdkSessionExpired6102- SdkSessionNotInitialized6103- SdkEnvironmentMismatch6200- SdkCardFieldsInvalid6201- SdkCardTokenizationFailed6202- SdkCardInitFailed6203- SdkCardProcessingFailed6300- SdkAchFieldsInvalid6301- SdkAchProcessingFailed6400- SdkEftProcessingFailed6500- SdkWalletError6501- SdkWalletProcessingFailed6600- SdkThirdPartySdkLoadFailed6700- SdkFormValidationFailed6701- SdkBillingValidationFailed6800- Sdk3dsAuthenticationFailed - Issuer ACS rejected the 3DS authentication. Only emitted whenformConfig.enable3DSecure: true.6801- Sdk3dsAuthenticationUnavailable - 3DS authentication could not be completed due to an upstream technical issue.6802- Sdk3dsNotEnrolled - The card is not enrolled in 3DS.6900- SdkCardDeclined - The issuer declined the card on the hosted payment form or Payment SDK path. The specific reason is ontransactionResponses[0].responseCode(10-18) and inresultText.6901- SdkCardGatewayError - The gateway rejected or failed the hosted payment form payment because of validation or a gateway failure rather than an issuer decision.6902- SdkCardTokenMissing - The gateway reported no failure but returned no payment token.9000- UnhandledGenericError9999- MaxErrorCode
Allowed: 0, 1000, 1001, 2000, 2010, 2011, 2012, 2013, 2014, 2020, 2021, 2100, 2101, 2102, 2103, 2105, 2201, 2202, 2900, 2901, 2902, 2903, 3000, 3201, 3202, 3203, 3204, 3205, 3299, 3400, 3401, 3501, 3502, 3503, 4000, 4001, 4002, 4003, 4004, 6000, 6001, 6100, 6101, 6102, 6103, 6200, 6201, 6202, 6203, 6300, 6301, 6400, 6500, 6501, 6600, 6700, 6701, 6800, 6801, 6802, 6900, 6901, 6902, 9000, 9999
Example: 2000
status stringExecution status of the request sent to the payment gateway.
- Completed - The request completed successfully.
- Rejected - The request was rejected by the payment gateway. No action or side effects occurred. The transaction can safely be retried.
- Interrupted - The request was interrupted, and the final status is unknown. Possible side effects may have occurred (e.g., a Sale (Token) that returns Interrupted might still charge the customer, even if an error is returned). Additional checks are required before retrying the transaction.
- Unknown
Allowed: Completed, Rejected, Interrupted, Unknown
Example: "Rejected"
message stringDeveloper-facing error message.
Example: "One or more validation errors occurred."
traceId stringUnique trace identifier for tracking and debugging this request.
Example: "1-6838bcce-5c0074e82ac7170d4f990d87"
timestamp string (date-time)The timestamp when the error occurred (UTC).
Example: "2025-05-29T20:00:15.5752808Z"
errorDetails array of ErrorDetailChild attributes
code integerError code
Example: 2000
field stringThe field with the error
Example: "Amount"
message stringError message
Example: "Request validation failed"
details stringAdditional details about the error
Example: "The Amount field must be a positive number between 1 and 999,999,999."
List Account Holder Payment Methods
/payment-methods/account-holder/{accountHolderId}Returns a paginated list of tokenized payment methods (cards) associated with a specific account holder.
You can specify either the account holder ID assigned by the API or the external account holder ID assigned by your system.
The endpoint supports filtering and sorting to help you organize and retrieve payment methods efficiently.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
accountHolderId required | path | string | The account holder ID to retrieve payment methods for. Can be either:
The account holder must belong to the merchant that owns the API key used for this request. An account holder belonging to a different merchant returns |
sorts | query | string | Comma-separated list of fields to sort by. Prefix with |
page | query | integer | Page number to retrieve (starts at 1). For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20. |
pageSize | query | integer | Number of records per page. For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20. |
Responses
200
A successful paginated response containing account holder payment methods
application/json · AccountHolderPaymentMethodsListResponse
totalCount integer requiredTotal number of payment methods that match the filter criteria
Example: 2
page integer requiredThe current page number (starts at 1)
Example: 1
pageSize integer requiredNumber of items per page
Example: 10
totalPages integer requiredTotal number of pages available
Example: 1
hasNextPage boolean requiredTrue if there are more pages of results available
Example: false
hasPreviousPage boolean requiredTrue if there are previous pages of results available
Example: false
items array of object requiredList of tokenized payment methods for the account holder
Child attributes
id string requiredThe unique identifier of the payment method. This ID has a prefix that makes it human-readable (pmt_trm_ for physical terminals, pmt_vrt_ for virtual card terminals, pmt_ach_ for virtual ACH terminals, pmt_tkn_ for tokens, which store a card or an ACH bank account), but applications should always use the type field to determine the payment method type rather than parsing this ID.
Example: "pmt_tkn_01JRZPRGFF4J2SZC3HMDBYEN2J"
dateDeleted string (date-time)The date and time (UTC) when this payment method token was removed from the system using the Remove Token endpoint. This parameter will only be returned if the token was removed/deleted from the system.
This field will be present in three scenarios:
- As part of a successful Remove Token endpoint response
- In token.removed webhook notifications
- In List Transactions responses for transactions where the associated token was later removed
When this field is present, sensitive card details (maskedCardNumber, cardExpDate) will be removed for security purposes, but all other transaction data remains intact.
Example: "2025-07-14T14:05:48.869225Z"
type string requiredThe type of payment method:
Physical- A physical payment terminal for Card Present transactionsVirtual- A hosted payment form/iframe for Card Not Present transactionsVirtualAch- A hosted payment form/iframe for ACH (US) bank transfer transactionsToken- A stored payment method (a card or an ACH bank account) for card-on-file and recurring transactionsVirtualEft- A virtual Canadian bank-transfer payment method, when configured.Unknown- The payment method type is not known.
Allowed: Unknown, Physical, Virtual, VirtualAch, VirtualEft, Token
Example: "Token"
currency string requiredThe currency of the payment method.
Allowed: USD, CAD
Example: "USD"
description stringA human-readable name for the payment method.
Example: "Token for John Doe's Visa"
billingContact objectBilling contact information associated with the payment method. Not returned on card present transactions or on refunds, captures, etc. of card present transactions.
Child attributes
name stringExample: "John Doe"
countryCode stringExample: "US"
zipCode stringExample: "12345"
address stringExample: "123 Main St"
state stringExample: "NY"
city stringExample: "Anytown"
address2 stringAdditional address information, when supplied.
Example: "Suite 200"
cardType stringThe type of card used for this transaction:
UNKNOWN- The card type is unknownDEBIT- Debit CardVISA- Visa Credit CardMASTERCARD- MasterCard Credit CardAMEX- American Express Credit CardDINERS- Diners Club Credit CardDISCOVER- Discover Credit CardJCB- JCB Credit CardUNIONPAY- UnionPay Credit CardMAESTRO- Maestro Debit CardGIFT- Gift CardCASH- All-cash TransactionEBT- Electronic Benefits Transfer CardINTERAC- Interac (Canadian PIN-debit network), Card Present onlyOTHER- Other tender types
Allowed: UNKNOWN, DEBIT, VISA, MASTERCARD, AMEX, DINERS, DISCOVER, JCB, UNIONPAY, MAESTRO, GIFT, CASH, EBT, INTERAC, OTHER
Example: "VISA"
maskedCardNumber stringThe masked card number. The format may vary (e.g. **0011, 4**0011, etc.)
Example: "************0011"
cardExpDate stringThe expiration date of the card in MMYY format.
Example: "1225"
accountType stringFunding-source classification of this token-type payment method.
- For card tokens:
CreditorDebit. - For ACH tokens:
CheckingorSavings. May be omitted for older tokens that pre-date this field, for non-token payment methods, or when the source did not provide a classification.
Allowed: Credit, Debit, Checking, Savings
Example: "Debit"
accountNumber stringMasked bank account number, when available for a bank-account token.
Example: "*****6789"
{
"totalCount": 3,
"page": 1,
"pageSize": 10,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"items": [
{
"id": "pmt_tkn_01JRZPMK5YQ1N8S7CXFVG2H9TB",
"type": "Token",
"currency": "USD",
"billingContact": {
"name": "Jane Smith",
"countryCode": "US",
"zipCode": "10001",
"address": "123 Broadway Ave",
"state": "NY",
"city": "New York"
},
"cardType": "MASTERCARD",
"maskedCardNumber": "5****1234",
"cardExpDate": "0927"
},
{
"id": "pmt_tkn_01JRZPN8K2R7M4J9BWEX3A6QFC",
"type": "Token",
"currency": "USD",
"billingContact": {
"name": "Jane Smith",
"countryCode": "US",
"zipCode": "10001",
"address": "123 Broadway Ave",
"state": "NY",
"city": "New York"
},
"cardType": "VISA",
"maskedCardNumber": "4****9876",
"cardExpDate": "1226"
},
{
"id": "pmt_tkn_01JRZPPV9X3K7K2DMQTY8Z5RGH",
"type": "Token",
"currency": "USD",
"billingContact": {
"name": "Jane Smith",
"countryCode": "US",
"zipCode": "10001",
"address": "123 Broadway Ave",
"state": "NY",
"city": "New York"
},
"cardType": "DISCOVER",
"maskedCardNumber": "6****5555",
"cardExpDate": "0328"
}
]
}
401
Unauthorized - Missing or invalid API key
application/json · object
code integerExample: 1000
status stringExample: "Rejected"
message stringExample: "API key cannot be empty"
traceId stringExample: "1-6838be96-74c62f8e2804352739e63476"
timestamp string (date-time)Example: "2025-05-29T20:07:50.472348Z"
errorDetails array of ErrorDetailChild attributes
code integerError code
Example: 2000
field stringThe field with the error
Example: "Amount"
message stringError message
Example: "Request validation failed"
details stringAdditional details about the error
Example: "The Amount field must be a positive number between 1 and 999,999,999."
{
"code": 1000,
"status": "Rejected",
"message": "API key cannot be empty",
"traceId": "1-6838be96-74c62f8e2804352739e63476",
"timestamp": "2025-05-29T20:07:50.4723483Z",
"errorDetails": []
}
404
Resource not found
application/json · object
code integerExample: 4000
status stringExample: "Rejected"
message stringExample: "Resource not found"
traceId stringExample: "1-68c8732b-3bbe2a8223345463532cef92"
timestamp string (date-time)Example: "2025-09-15T20:12:27.846948Z"
errorDetails array of ErrorDetailChild attributes
code integerError code
Example: 2000
field stringThe field with the error
Example: "Amount"
message stringError message
Example: "Request validation failed"
details stringAdditional details about the error
Example: "The Amount field must be a positive number between 1 and 999,999,999."
{
"code": 4000,
"status": "Rejected",
"message": "Resource not found",
"traceId": "1-68c8732b-3bbe2a8223345463532cef92",
"timestamp": "2025-09-15T20:12:27.8469482Z",
"errorDetails": []
}
{
"code": 4000,
"status": "Rejected",
"message": "Account holder with external ID usr_1234567890123 not found",
"traceId": "1-68c87350-11897437327b7fdb7611df33",
"timestamp": "2025-09-15T20:13:04.9126994Z",
"errorDetails": []
}
400
Invalid request or query parameters.
application/json · Error
code integerNumeric error code. These are grouped into ranges for easier identification and troubleshooting.
0- Unknown1000- AuthenticationGenericError1001- MerchantNotAuthorizedForResource2000- RequestValidationGenericError2010- InvalidPaymentMethodType - The payment method type is not supported for this operation. This includes: ACH tokens cannot be used for auth, void, or subscription transactions.2011- InvalidTransactionType2012- InvalidAmount2013- PaymentMethodUsageRestricted2014- PaymentMethodNotEnabled - The payment method or card brand is not enabled for the merchant. Returned with HTTP400byPOST /transactions/token-saleandPOST /transactions/token-auth. The message names what is not enabled:ACH payments are not enabled for this merchant.,Card payments are not enabled for this merchant.,{Brand} cards are not enabled for this merchant.(Visa, Mastercard, American Express, Discover, JCB, Diners Club, UnionPay, or Maestro), orThis card brand is not enabled for this merchant.2020- InvalidPaymentMethodOwner2021- InvalidAccountHolderOwner2100- InvalidAccountHolderInformation2101- InvalidCountryCode2102- InvalidZipCode2103- MissingCountryCodeOrZipCode2105- InvalidEmailAddress2201- MissingUniqueToken2202- TransactionDeclinedError2900- RequestValidationUnsupportedPayload2901- RequestValidationWebhookMissingTypeAndDmnType2902- RequestValidationUnsupportedWebhookTokenization2903- RequestValidationUnsupportedWebhookType3000- UnknownServerGenericError3201- InvalidOrExpiredSession3202- FailedToCreateSessionInAdapter3203- ErrorWhileTokenizingCard3204- FailedToLoadThirdPartySdk3205- SessionExpired3299- JavaScriptError3400- ResourceNotReadyError3401- TransactionNotCompleteYet3501- CouldNotCreateBillingSubscription3502- CouldNotCancelBillingSubscription3503- BillingSubscriptionInvalidStatus4000- ResourceNotFound4001- TokenizedCardNotFound4002- PaymentMethodNotFound4003- AccountHolderNotFound4004- BillingSubscriptionNotFound6000- SdkGenericError6001- SdkJavaScriptError6100- SdkSessionLoadFailed6101- SdkSessionExpired6102- SdkSessionNotInitialized6103- SdkEnvironmentMismatch6200- SdkCardFieldsInvalid6201- SdkCardTokenizationFailed6202- SdkCardInitFailed6203- SdkCardProcessingFailed6300- SdkAchFieldsInvalid6301- SdkAchProcessingFailed6400- SdkEftProcessingFailed6500- SdkWalletError6501- SdkWalletProcessingFailed6600- SdkThirdPartySdkLoadFailed6700- SdkFormValidationFailed6701- SdkBillingValidationFailed6800- Sdk3dsAuthenticationFailed - Issuer ACS rejected the 3DS authentication. Only emitted whenformConfig.enable3DSecure: true.6801- Sdk3dsAuthenticationUnavailable - 3DS authentication could not be completed due to an upstream technical issue.6802- Sdk3dsNotEnrolled - The card is not enrolled in 3DS.6900- SdkCardDeclined - The issuer declined the card on the hosted payment form or Payment SDK path. The specific reason is ontransactionResponses[0].responseCode(10-18) and inresultText.6901- SdkCardGatewayError - The gateway rejected or failed the hosted payment form payment because of validation or a gateway failure rather than an issuer decision.6902- SdkCardTokenMissing - The gateway reported no failure but returned no payment token.9000- UnhandledGenericError9999- MaxErrorCode
Allowed: 0, 1000, 1001, 2000, 2010, 2011, 2012, 2013, 2014, 2020, 2021, 2100, 2101, 2102, 2103, 2105, 2201, 2202, 2900, 2901, 2902, 2903, 3000, 3201, 3202, 3203, 3204, 3205, 3299, 3400, 3401, 3501, 3502, 3503, 4000, 4001, 4002, 4003, 4004, 6000, 6001, 6100, 6101, 6102, 6103, 6200, 6201, 6202, 6203, 6300, 6301, 6400, 6500, 6501, 6600, 6700, 6701, 6800, 6801, 6802, 6900, 6901, 6902, 9000, 9999
Example: 2000
status stringExecution status of the request sent to the payment gateway.
- Completed - The request completed successfully.
- Rejected - The request was rejected by the payment gateway. No action or side effects occurred. The transaction can safely be retried.
- Interrupted - The request was interrupted, and the final status is unknown. Possible side effects may have occurred (e.g., a Sale (Token) that returns Interrupted might still charge the customer, even if an error is returned). Additional checks are required before retrying the transaction.
- Unknown
Allowed: Completed, Rejected, Interrupted, Unknown
Example: "Rejected"
message stringDeveloper-facing error message.
Example: "One or more validation errors occurred."
traceId stringUnique trace identifier for tracking and debugging this request.
Example: "1-6838bcce-5c0074e82ac7170d4f990d87"
timestamp string (date-time)The timestamp when the error occurred (UTC).
Example: "2025-05-29T20:00:15.5752808Z"
errorDetails array of ErrorDetailChild attributes
code integerError code
Example: 2000
field stringThe field with the error
Example: "Amount"
message stringError message
Example: "Request validation failed"
details stringAdditional details about the error
Example: "The Amount field must be a positive number between 1 and 999,999,999."