Note: Our gateway doesn’t return a links object for transactions that use the following endpoints:
This API supports HATEOAS responses. When you send a request to our gateway, our gateway returns a list of endpoint URLs in the links object of the response.
Depending on the type of request you send, the links object includes sub-objects for each type of transaction identifier you can use. For example, a sale request returns a sub-object for sale_id and a sub-object for reference_id. Each sub-object contains the information described in the Sub-object fields table.
Sub-object fields
| Field | Type | Description |
|---|---|---|
| href | String | Endpoint URL for the follow-on transaction. |
| relation | String | Relationship between the endpoint you sent the original request to and the endpoint for the follow-on transaction. The value is one of the following: • return - Follow-on transaction uses a returns endpoint.• self - Follow-on transaction uses the same type of endpoint as the original request.• void - Follow-on transaction uses a void endpoint. |
| method | String | HTTP method for sending the transaction. The value is one of the following: • GET• PATCH• POST• PUT |
| description | String | Text that describes the follow-on transaction, for example, void a sale transaction using the sale_id. |
To send a request using the HATEOAS response:
| HTTP status code | Description |
|---|---|
| 200 | Transaction was successful. |
| 201 | Transaction was created. |
| 470 | Processor declined the transaction. |
| 471 | Processor approved part of the transaction. |
| 472 | Processor declined the transaction and requested that you call the card issuer. |
| 473 | Processor approved the transaction with an AVS or CSC verification error. |
| 474 | Processor approved part of the transaction with an AVS or CSC verification error. |
Note: If the request contains more than one error, our gateway returns only the first error that it encounters.
| HTTP status code | Description |
|---|---|
| 400 | Our gateway cannot accept this request. Check the request and try again. |
| 401 | Request did not include a valid API key. |
| 402 | Request failed. Try again. |
| 403 | Our gateway cannot process the request using the data you provided. |
| 404 | Resource you requested does not exist. |
| 409 | Request conflicts with another request. This response can occur if you use the same idempotency key. |
| 429 | You sent too many requests. Wait and try again. |
| 500 | Internal server error. |
| 503 | Internal server error. |
If the request was unsuccessful, our gateway returns an error object in the response that provides details of why our gateway couldn’t process the request. For a list of fields, see the error object.
| Field | Type | Description |
|---|---|---|
| code | String | Text that indicates the reason our gateway couldn’t process the request. For a list of possible values, see the Error response codes. |
| message | String | Text that describes the error. |
| detail | Object | Information that specifies the error’s location in the message body. Our gateway returns this object only when you receive an HTTP status code of 400. For a list of fields, see the detail object. |
| info | String | A link to our website for more information. |
| Field | Type | Description |
|---|---|---|
| description | String | Text that provides specific information about the error. |
| data_path | String | Location of the error, for example, transaction/create_token_reason. |
| Value | Description | Example scenario |
|---|---|---|
processing_forbidden | Our gateway couldn’t process the request. | The application used HTTP to send the request instead of HTTPS. |
invalid_input | The request is missing parameters or contains incorrect parameter or header values. | A sale request didn’t contain the amount parameter. |
server_error | There was an issue connecting to our gateway. | Our gateway took too long to process a sale request. |
unauthorized | The request didn’t contain a valid API key. | A sale request contains an incorrect value for the X-GP-API-Key header parameter. |
The following enumerations are described on this page:
| Value | Description |
|---|---|
| full_match | Customer provided an address that matches the registered address of the payment card. |
| partial_match | Customer provided an address that partially matches the registered address of the payment card. |
| no_match | Customer provided an address that doesn't match the registered address of the payment card. |
| unavailable | Our gateway couldn't run an AVS check. |
| not_supported | Issuing bank does not support AVS. |
| Value | Description |
|---|---|
| match | Customer provided a CSC that matched the CSC on the payment card. |
| no_match | Customer provided a CSC that doesn't match the CSC on the payment card. |
| unavailable | Our gateway couldn't verify the CSC. |
| not_supported | Issuing bank confirmed that a CSC should be on the payment card but the merchant indicates that there is not CSC on the card. |
| Value |
|---|
| visa |
| mastercard |
| discover |
| interac |
| americanexpress |
| american express |
| diners club |
| jcb |
| paypal |
| unionpay |
| na |
| Value | Description |
|---|---|
| 036 | Australia |
| 124 | Canada |
| 554 | New Zealand |
| 826 | United Kingdom |
| 840 | United States |
| Value | Description |
|---|---|
| 036 | Australia |
| 048 | Bahrain |
| 124 | Canada |
| 156 | China |
| 208 | Denmark |
| 344 | Hong Kong |
| 356 | India |
| 376 | Israel |
| 392 | Japan |
| 410 | Korea |
| 414 | Kuwait |
| 422 | Lebanon |
| 458 | Malaysia |
| 554 | New Zealand |
| 566 | Nigeria |
| 578 | Norway |
| 634 | Qatar |
| 643 | Russia |
| 682 | Saudi Arabia |
| 702 | Singapore |
| 710 | South Africa |
| 752 | Sweden |
| 756 | Switzerland |
| 764 | Thailand |
| 784 | United Arab Emirates |
| 818 | Egypt |
| 840 | United States |
| 949 | Turkey |
| 978 | Portugal |
| 980 | Ukraine |
| 985 | Poland |
| 986 | Brazil |
| Value | Description |
|---|---|
| 1 | Mail order or telephone order. |
| 2 | Recurring transaction using saved card details. |
| 3 | Installment transaction using saved card details. |
| 5 | Near field communication (NFC) was used to collect the customer's card details. |
| 7 | Online transaction using a secure connection, for example, transport layer security (TLS). |
| Value |
|---|
| keyed |
| swiped |
| inserted |
| contactless |
| Value | Description |
|---|---|
| en-US | US English |
| en-CA | Canadian English |
| fr-CA | French Canadian |
| en-AU | English |
| en-NZ | English |
| en-GB | English |
| Value |
|---|
| cash |
| credit |
| check |
| debit/credit |
| debit/atm |
| fsa |
| Value | Description |
|---|---|
| completed | Transaction is complete. |
| user_cancelled | User cancelled the transaction. |
| pos_cancelled | POS cancelled the transaction. |
| terminal_busy | Terminal can't run the transaction because it is busy. |
| Value | Description |
|---|---|
| 124 | Canada |
| 0124 | Canada |
| 840 | United States |
| 0840 | United States |
| Value | Description |
|---|---|
| 124 | Canada |
| 0124 | Canada |
| 840 | United States |
| 0840 | United States |
| Value | Description |
|---|---|
| approved | Transaction was approved |
| approved_avs_mismatch | Transaction was approved, but the AVS information that the user entered didn't match the AVS information for the card |
| approved_csc mismatch | Transaction was approved, but the CSC that the user entered didn't match the CSC on the card |
| approved_avs_csc_mismatch | Transaction was approved, but the AVS information and CSC that the user entered didn't match the AVS information and CSC for the card |
| approved_token_creation_failed | Transaction was approved, and our gateway couldn’t save the card details |
| call_issuer | Transaction couldn’t be approved. Merchant needs to call the issuing bank to request authorization |
| call_issuer_token_creation_failed | Transaction couldn’t be approved, and our gateway couldn't save the card details. Merchant needs to call the issuing bank to request authorization |
| captured | Transaction successfully captured |
| closed | Transaction is closed |
| declined | Transaction was declined |
| declined_token_creation_failed | Transaction was declined, and our gateway couldn't save the card details |
| partially_approved | Part of the total amount of the transaction was approved |
| partially_approved_avs_mismatch | Part of the total dollar amount of the transaction was approved, but the AVS information the user entered didn't match the AVS information for the card |
| partially_approved_csc_mismatch | Part of the total dollar amount of the transaction was approved, but the CSC the user entered didn't match the CSC on the card |
| partially_approved_avs_csc_mismatch | Part of the total dollar amount of the transaction was approved, but the AVS and CSC information the user entered didn't match the AVS information and CSC for the card |
| voided | Transaction was voided. |