Table of Contents
- – Secret Key Required
- – Publishable Key Required
-
Standard Transaction Flow
-
Prerequisites
- There must be Consumer enrolled
- There must be a Bank Account
- Create a Transaction Intent
- Initialize SDK
- Authorize and Capture Transaction
-
Prerequisites
- Other Transaction Actions
- Other Transaction Creation Methods
- Viewing Transactions
- Misc. Info
Create Transaction Intent
Success
Request
POST /api/transaction-intents
Authorization: Bearer {SECRET_KEY}
{
"amount": 5.99,
"bank_account": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address": {
"city_locality": "Tampa",
"country_code": "US",
"line_1": "123 Main St.",
"line_2": "Suite 100",
"state_province": "FL",
"postal_code": "33603"
},
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"product_code": "0001",
"product_subcode": "0001",
"store_number": "1",
"submerchant_id": "1",
"type": "bankpay"
}
Create BNPL Transaction Intent
Success
Request
POST /api/transaction-intents
Authorization: Bearer {SECRET_KEY}
{
"amount": 5.99,
"bank_account": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address": {
"city_locality": "Tampa",
"country_code": "US",
"line_1": "123 Main St.",
"line_2": "Suite 100",
"state_province": "FL",
"postal_code": "33603"
},
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"product_code": "0001",
"product_subcode": "0001",
"store_number": "1",
"submerchant_id": "1",
"type": "bankpay_bnpl"
}
Parameter | Required | Data type | Description |
---|---|---|---|
amount |
Y | number | The currency amount of the transaction. |
bank_account |
Y | string | Permanent unique identifier of the bank account. |
billing_address |
N | object | Consumer’s address. See Address object. |
consumer_id |
Y | string | Permanent unique identifier of the consumer. |
extras |
N | custom object | A custom object of values to be attached to this record. |
product_code |
N | string | The product code for this transaction. |
product_subcode |
N | string | The product subcode for this transaction. |
store_number |
Y | string | Identifier of location to which payment is being submitted. |
submerchant_id |
N | string | The ID of the submerchant. *Issued by Certegy during onboarding |
type |
Y | string | The type of the transaction to create. One of bankpay or bankpay_bnpl .Defaults to bankpay .
|
Example curl
request:
curl https://bankpay.certegy.com/api/transaction-intents \
-H 'Accept: application/json' \
-H 'Authorization: Bearer secret_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H' \
-H 'Content-Type: application/json' \
-d '{
"amount": 5.99,
"bank_account": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"product_code": "0001",
"product_subcode": "0001",
"store_number": "1",
"submerchant_id": "1",
"type": "bankpay"
}'
Response
HTTP/1.1 201 Created
The data
property is a Transaction Intent object.
{
"data": {
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address": {
"id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHhH",
"standardized": true,
},
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "pending_service_fee_acceptance"
},
"meta": {
"type": "transaction_intent"
}
}
Example Errors
Failure: Invalid data
Response
HTTP/1.1 422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
"amount": [
"invalid"
],
"bank_account": [
"invalid"
],
"consumer_id": [
"invalid"
]
}
}
Failure: Bank account conflict
Response
HTTP/1.1 409 Conflict
{
"conflict": "bank_account_conflict",
"message": "Consumer’s bank account needs to be enrolled via allowed path."
}
Update Billing Address
Request
PATCH /api/transaction-intents/{ transaction_intent_id }/address
Authorization: Bearer {PUBLISHABLE_KEY}
{
"city": "Tampa",
"country_code": "US",
"line_1": "123 W Street",
"line_2": "#1018",
"state_province": "FL",
"zipcode": "33618",
...
}
Example Errors
Invalid required fields
Response
HTTP/1.1 422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
"line_one": [
"invalid"
],
"city_locality": [
"invalid"
],
"postal_code": [
"invalid"
],
"state_province": [
"invalid"
],
"country_code": [
"invalid"
],
....
}
}
Authorize Transaction
Success
Request
PATCH /api/transaction-intents/{transaction_intent_id}
Authorization: Bearer {SECRET_KEY}
{
"action": "authorize"
}
Example curl
request:
curl https://bankpay.certegy.com/api/transaction-intents/transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H\
-X PATCH \
-H 'Accept: application/json' \
-H 'Authorization: Bearer secret_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H' \
-H 'Content-Type: application/json' \
-d '{ "action": "authorize" }'
Response
The data
property is a Transaction Intent object.
HTTP/1.1 200 OK
{
"data": {
"amount_authorized": "5.99",
"amount_captured": null,
"amount_refunded_total": null,
"authorized_at": "2020-01-30T21:57:08Z",
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address_id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"cancel": null,
"captured_at": null,
"captured_status": null,
"capture_reference_id": null,
"chain_number": "291138",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"merchant_id": "291138",
"reason": "The transaction has been approved.",
"reference_id": "4604290000079",
"refund": null,
"service_fee": "5.00",
"service_fee_accepted_at": "2020-01-30T21:57:02Z",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "pending_capture",
"type": "bankpay"
},
"meta": {
"type": "pending_capture"
}
}
Example Errors
Invalid required fields
Response
HTTP/1.1 422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
"line_one": [
"invalid"
],
"city_locality": [
"invalid"
],
"postal_code": [
"invalid"
],
"first_name": [
"invalid"
],
"last_name": [
"invalid"
],
"company_name": [
"invalid"
],
....
}
}
Already authorized
Response
HTTP/1.1 409 Conflict
{
"action": "authorize",
"conflict": "already_occurred",
"message": "Transaction intent was already authorized."
}
Transaction intent not found
Response
HTTP/1.1 404 Not Found
{
"message": "not_found"
}
Capture Transaction
Success
Request
PATCH /api/transaction-intents/{transaction_intent_id}
Authorization: Bearer {SECRET_KEY}
{
"action": "capture",
"amount": "5.99"
}
Example curl
request
curl https://bankpay.certegy.com/api/transaction-intents/transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H \
-X PATCH \
-H 'Accept: application/json' \
-H 'Authorization: Bearer secret_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H' \
-H 'Content-Type: application/json' \
-d '{ "action": "capture", "amount": "5.99" }'
Response
HTTP/1.1 200 OK
The data
property is a Transaction Intent object.
{
"data": {
"amount_authorized": "5.99",
"amount_captured": "5.99",
"amount_refunded_total": null,
"authorized_at": "2020-01-30T21:57:08Z",
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address_id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"cancel": null,
"captured_at": "2020-01-30T22:05:30Z",
"captured_status": "succeeded",
"chain_number": "291138",
"capture_reference_id": "4604290000079",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"merchant_id": "291138",
"reason": "The transaction has been approved.",
"reference_id": "4604290000079",
"refund": null,
"service_fee": "5.00",
"service_fee_accepted_at": "2020-01-30T21:57:02Z",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "succeeded",
"type": "bankpay"
},
"meta": {
"type": "transaction_intent"
}
}
Example Errors
Transaction intent not found
Response
HTTP/1.1 404 Not found
{
"message": "not_found"
}
Refund Transaction
During integration, please email your representative each time you want to test refunds with the reference
number of the transactions.
Success
Request
PATCH /api/transaction-intents/{transaction_intent_id}
Authorization: Bearer {SECRET_KEY}
{
"action": "refund",
"amount": 5.99
}
Example curl
request
curl https://bankpay.certegy.com/api/transaction-intents/transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H \
-X PATCH \
-H 'Accept: application/json' \
-H 'Authorization: Bearer secret_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H' \
-H 'Content-Type: application/json' \
-d '{ "action": "refund", "amount": 5.99 }'
Response
HTTP/1.1 200 OK
The data
property is a Transaction Intent object.
{
"data": {
"amount_authorized": "5.99",
"amount_captured": "5.99",
"amount_refunded_total": "5.99",
"authorized_at": "2020-01-30T21:57:08Z",
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address_id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"cancel": null,
"captured_at": "2020-01-30T22:05:30Z",
"captured_status": "succeeded",
"capture_reference_id": "4604290000079",
"chain_number": "291138",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"merchant_id": "291138",
"reason": "The transaction has been approved.",
"reference_id": "4604290000079",
"refund": {
"amount": "5.99",
"created_at": "2020-01-30T22:30:30Z",
"message": "The previously authorized transaction has been recalled and successfully voided from Certegy's system.",
"reference_number": "4604290000096",
"response_code": "29",
"status": "succeeded"
},
"service_fee": "5.00",
"service_fee_accepted_at": "2020-01-30T21:57:02Z",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "refunded",
"type": "bankpay"
},
"meta": {
"type": "transaction_intent"
}
}
Example Errors
Not possible to refund
Response
HTTP/1.1 409 Conflict
{
"action": "refund",
"conflict": "not_ready",
"message": "Transaction intent is not ready for refund."
}
Cancel Transaction
Success
Request
PATCH /api/transaction-intents/{transaction_intent_id}
Authorization: Bearer {SECRET_KEY}
{
"action": "cancel"
}
Example curl
request
curl https://bankpay.certegy.com/api/transaction-intents/transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H \
-X PATCH \
-H 'Accept: application/json' \
-H 'Authorization: Bearer secret_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H' \
-H 'Content-Type: application/json' \
-d '{ "action": "cancel" }'
Response
HTTP/1.1 200 OK
The data
property is a Transaction Intent object.
{
"data": {
"amount_authorized": "5.99",
"amount_captured": "5.99",
"amount_refunded_total": null,
"authorized_at": "2020-01-30T21:57:08Z",
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address_id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"cancel": {
"amount": "5.99",
"created_at": "2020-01-30T22:30:30Z",
"message": "The previously authorized transaction has been recalled and successfully voided from Certegy's system.",
"reference_number": "4604290000098",
"response_code": "29",
"status": "succeeded"
},
"captured_at": null,
"captured_status": null,
"capture_reference_id": null,
"chain_number": "291138",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"merchant_id": "291138",
"reason": "The transaction has been approved.",
"reference_id": "4604290000079",
"refund": null,
"service_fee": "5.00",
"service_fee_accepted_at": "2020-01-30T21:57:02Z",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "canceled",
"type": "bankpay"
},
"meta": {
"type": "transaction_intent"
}
}
Example Errors
Not possible to cancel or already cancelled
Response
HTTP/1.1 409 Conflict
{
"action": "cancel",
"conflict": "already_occurred",
"message": "Transaction intent was already canceled."
}
Cancel Refund
Success
Request
PATCH /api/transaction-intents/{transaction_intent_id}
Authorization: Bearer {SECRET_KEY}
{
"action": "cancel_refund"
}
Example curl
request
curl https://bankpay.certegy.com/api/transaction-intents/transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H \
-X PATCH \
-H 'Accept: application/json' \
-H 'Authorization: Bearer secret_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H' \
-H 'Content-Type: application/json' \
-d '{ "action": "cancel_refund" }'
Response
HTTP/1.1 200 OK
The data
property is a Transaction Intent object.
{
"data": {
"amount_authorized": "5.99",
"amount_captured": "5.99",
"amount_refunded_total": null,
"authorized_at": "2020-01-30T21:57:08Z",
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address_id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"cancel": null,
"captured_at": null,
"captured_status": null,
"capture_reference_id": null,
"chain_number": "291138",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"merchant_id": "291138",
"reason": "The previously authorized transaction has been recalled and successfully voided from Certegy's system.",
"reference_id": "4604290000079",
"refund": {
"amount": "5.99",
"created_at": "2020-01-30T22:30:30Z",
"message": "The previously authorized transaction has been recalled and successfully voided from Certegy's system.",
"reference_number": "4604290000098",
"response_code": "29",
"status": "cancelled"
},
"service_fee": "5.00",
"service_fee_accepted_at": "2020-01-30T21:57:02Z",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "succeeded",
"type": "bankpay"
},
"meta": {
"type": "transaction_intent"
}
}
Example Errors
Not possible to cancel refund
Response
HTTP/1.1 409 Conflict
{
"action": "cancel_refund",
"conflict": "not_ready",
"message": "Transaction intent is not ready for refund cancel."
}
Create Transaction Intent with Authorization
Success
Request
POST /api/transaction-intents
Authorization: Bearer {SECRET_KEY}
{
"action": "authorize",
"amount": 5.99,
"bank_account": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address": {
"city_locality": "Tampa",
"country_code": "US",
"line_1": "123 Main St.",
"line_2": "Suite 100",
"state_province": "FL",
"postal_code": "33603"
},
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"product_code": "0001",
"product_subcode": "0001",
"store_number": "1",
"submerchant_id": "1",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H"
}
Parameter | Required | Data type | Description |
---|---|---|---|
action |
Y | string | The action to do after the creation of the transaction intent. |
amount |
Y | number | The currency amount of the transaction. |
bank_account |
Y | string | Permanent unique identifier of the bank account. |
billing_address |
N | object | Consumer’s address. See Address object. |
consumer_id |
Y | string | Permanent unique identifier of the consumer. |
extras |
N | custom object | A custom object of values to be attached to this record. |
product_code |
N | string | The product code for this transaction. |
product_subcode |
N | string | The product subcode for this transaction. |
store_number |
Y | string | Identifier of location to which payment is being submitted. |
submerchant_id |
N | string | The ID of the submerchant. *Issued by Certegy during onboarding |
service_fee_id |
Y | string | The service fee id Service Fee Object. |
Response
HTTP/1.1 201 Created
This response will mirror a Authorize Transaction Response
{
"data": {
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address": {
"id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"standardized": false
},
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "pending_capture"
},
"meta": {
"type": "transaction_intent"
}
}
Example Errors
Invalid required fields
Failure: Invalid data
Response
HTTP/1.1 422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
"amount": [
"invalid"
],
"action": [
"invalid"
],
"bank_account": [
"invalid"
],
"consumer_id": [
"invalid"
],
"service_fee_id": [
"invalid"
],
"line_one": [
"invalid"
],
"city_locality": [
"invalid"
],
"postal_code": [
"invalid"
],
"first_name": [
"invalid"
],
"last_name": [
"invalid"
],
"company_name": [
"invalid"
],
....
}
}
Create Transaction Intent with Authorization and Capture
Success
Request
POST /api/transaction-intents
Authorization: Bearer {SECRET_KEY}
{
"action": "authorize_and_capture",
"amount": 5.99,
"bank_account": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address": {
"city_locality": "Tampa",
"country_code": "US",
"line_1": "123 Main St.",
"line_2": "Suite 100",
"state_province": "FL",
"postal_code": "33603"
},
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"product_code": "0001",
"product_subcode": "0001",
"store_number": "1",
"submerchant_id": "1",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H"
}
Parameter | Required | Data type | Description |
---|---|---|---|
action |
Y | string | The action to do after the creation of the transaction intent. |
amount |
Y | number | The currency amount of the transaction. |
bank_account |
Y | string | Permanent unique identifier of the bank account. |
billing_address |
N | object | Consumer’s address. See Address object. |
consumer_id |
Y | string | Permanent unique identifier of the consumer. |
extras |
N | custom object | A custom object of values to be attached to this record. |
product_code |
N | string | The product code for this transaction. |
product_subcode |
N | string | The product subcode for this transaction. |
store_number |
Y | string | Identifier of location to which payment is being submitted. |
submerchant_id |
N | string | The ID of the submerchant. *Issued by Certegy during onboarding |
service_fee_id |
Y | string | The service fee id Service Fee Object. |
Response
HTTP/1.1 201 Created
This response will mirror a Capture Transaction Response
{
"data": {
"bank_account_id": "bank_account_7CJMP0g5u8Jm7gpbpfQfURKrgi8e9UlS",
"billing_address": {
"id": "address_uvmFpup6hxJfP6daezpREZKChLduGyf9",
"standardized": false
},
"consumer_id": "consumer_3qxEaKluLAu6IJTe9K4se37RBdIymhiG",
"extras": {
...Custom object
},
"id": "transaction_intent_bKg1QD52HRdteB3Z26AEyv2QtfiVXHrD",
"service_fee_id": "service_fee_1Xjrntj8hezL0P7mWcYvW8wTYCrFdXgn",
"status": "succeeded"
},
"meta": {
"type": "transaction_intent"
}
}
Example Errors
Failure: Invalid data
Response
HTTP/1.1 422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
"amount": [
"invalid"
],
"action": [
"invalid"
],
"bank_account": [
"invalid"
],
"consumer_id": [
"invalid"
],
"service_fee_id": [
"invalid"
],
"line_one": [
"invalid"
],
"city_locality": [
"invalid"
],
"postal_code": [
"invalid"
],
"first_name": [
"invalid"
],
"last_name": [
"invalid"
],
"company_name": [
"invalid"
],
.....
}
}
Failure: Authorization was declined and or failed
Response
HTTP/1.1 200 OK
{
"data": {
"bank_account_id": "bank_account_7CJMP0g5u8Jm7gpbpfQfURKrgi8e9UlS",
"billing_address": {
"id": "address_JNZkBtF5AyWmJU7aAjdnEWNpLTIKlLVR",
"standardized": false
},
"consumer_id": "consumer_3qxEaKluLAu6IJTe9K4se37RBdIymhiG",
"id": "transaction_intent_69mIiwGmrLDHXs09TVxk6KKlSaWFIajc",
"service_fee_id": "service_fee_1Xjrntj8hezL0P7mWcYvW8wTYCrFdXgn",
"status": "failed"
},
"meta": {
"type": "transaction_intent"
}
}
List Transactions
Success
Request
GET /api/transaction-intents
Authorization: Bearer {SECRET_KEY}
Example curl
request:
curl https://bankpay.certegy.com/api/transaction-intents \
-H 'Accept: application/json' \
-H 'Authorization: Bearer secret_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H'
Response
HTTP/1.1 200 OK
The data
property is an array of Transaction Intent objects.
{
"data": [
{
"amount_authorized": "100.00",
"amount_captured": null,
"amount_refunded_total": null,
"authorized_at": "2021-09-30T14:57:53Z",
"bank_account_id": "bank_account_mG8VrblAOAaHNyjWAvdrvPZ5GhSSoKC5",
"billing_address_id": "address_RS0gKoWaSDTq6e97gH8YkdVmcybvcq1l",
"cancel": null,
"captured_at": null,
"capture_reference_id": null,
"captured_status": null,
"chain_number": "291138",
"consumer_id": "consumer_4ED01g86F1GRXGpuSaHmFQ4ooEBb71Oh",
"extras": {
...Custom object
},
"id": "transaction_intent_eC0J3e1Daj6ydDBAlYfez1nnzoHLqUP3",
"is_mailable": false,
"merchant_id": "291138",
"reason": null,
"reference_id": null,
"refund": null,
"service_fee": null,
"service_fee_accepted_at": null,
"service_fee_id": null,
"status": "failed",
"transaction_adverse_type": false,
"type": "bankpay"
},
// ...
],
"links": {
"first": "[...]/api/transaction-intents?page=1",
"last": "[...]/api/transaction-intents?page=4",
"prev": "[...]/api/transaction-intents?page=1",
"next": "[...]/api/transaction-intents?page=3"
},
"meta": {
"current_page": 2,
"from": 11,
"last_page": 4,
"path": "[...]/api/transaction-intents",
"per_page": 10,
"to": 20,
"total": 35
}
}
Data | Data type | Description |
---|---|---|
first |
string | null | The first page URL. |
last |
string | null | The last page URL. |
prev |
string | null | The previous page URL. |
next |
string | null | The next page URL. |
Data | Data type | Description |
---|---|---|
current_page |
number | The current page number. |
from |
number | The first result index in this request. |
last_page |
number | The last page number. |
path |
string | The API route path. |
per_page |
number | The number of results returned per page. |
to |
number | The last result index in this request. |
total |
number | The total number of results. |
Query Parameters
Data | Data type | Description |
---|---|---|
page |
number | Changes the current page. |
per_page |
number | Changes the number of transactions returned per page. |
reference_number |
string | Filters the result set by reference number. |
station_number |
string | Filters the result set by station number. |
status |
string | Filters the result set by transaction status. |
submerchant_id |
number | Filters the result set by submerchant id. |
type |
string | Filters the result set by transaction type. |
Example Errors
Failure: Invalid filter
Response
HTTP/1.1 422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
"status": [
"invalid"
]
}
}
Read Transaction Intent
Success
Request
GET /api/transaction-intents/{transaction_intent_id}
Authorization: Bearer {PUBLISHABLE_KEY | SECRET_KEY}
Example curl
request
curl https://bankpay.certegy.com/api/transaction-intents/OWOMdb3CvaBV236C \
-H 'Accept: application/json' \
-H 'Authorization: Bearer secret_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H'
Response
The data
property is a Transaction Intent object.
HTTP/1.1 200 OK
Publishable Key Response
{
"data": {
"amount_authorized": "5.99",
"amount_captured": null,
"amount_refunded_total": null,
"authorized_at": "2020-01-30T21:57:08Z",
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address_id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"cancel": null,
"chain_number": "291138",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"is_mailable": false,
"merchant_id": "291138",
"reason": null,
"reference_id": null,
"refund": null,
"service_fee": "5.00",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "pending_authorization",
"type": "bankpay"
},
"meta": {
"type": "transaction_intent"
}
}
Secret Key Response
{
"data": {
"amount_authorized": "5.99",
"amount_captured": "5.99",
"amount_refunded_total": null,
"authorized_at": "2020-01-30T21:57:08Z",
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address_id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"cancel": null,
"captured_at": "2020-01-30T22:05:30Z",
"captured_status": "succeeded",
"capture_reference_id": "4604290000080",
"chain_number": "291138",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"merchant_id": "291138",
"reason": "The transaction has been approved.",
"reference_id": "4604290000079",
"refund": null,
"service_fee": "5.00",
"service_fee_accepted_at": "2020-01-30T21:57:02Z",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "succeeded",
"type": "bankpay"
},
"meta": {
"type": "transaction_intent"
}
}
Example Errors
Transaction intent not found
Response
HTTP/1.1 404 Not Found
{
"message": "not_found"
}
Transaction Intent object
{
"amount_authorized": "5.99",
"amount_captured": null,
"amount_refunded_total": null,
"authorized_at": "2020-01-30T21:57:08Z",
"bank_account_id": "bank_account_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"billing_address_id": "address_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"cancel": null,
"captured_at": null,
"captured_status": null,
"capture_reference_id": null,
"chain_number": "291138",
"consumer_id": "consumer_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"extras": {
...Custom object
},
"id": "transaction_intent_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"is_mailable": false,
"merchant_id": "291138",
"payments": [
{
"amount": "1.50",
"scheduled_for": "2020-01-30"
},
{
"amount": "1.50",
"scheduled_for": "2020-02-13"
},
{
"amount": "1.50",
"scheduled_for": "2020-02-27"
},
{
"amount": "1.49",
"scheduled_for": "2020-03-12"
}
],
"reason": "The transaction has been approved.",
"reference_id": "4604290000079",
"refund": null,
"service_fee": "5.00",
"service_fee_accepted_at": "2020-01-30T21:57:02Z",
"service_fee_id": "service_fee_Aa1ABb2BCc3CDd4DEe5EFf6FGg7GHh8H",
"status": "succeeded",
"type": "bankpay_bnpl"
}
Data | Data type | Description |
---|---|---|
amount_authorized |
string | The currency amount authorized of the transaction. |
amount_captured |
string | null | The currency amount captured of the transaction. |
amount_refunded_total |
string | null | The total amount refunded. |
authorized_at |
datetime string | null | The date and time when the transaction intent was authorized. |
bank_account_id |
string | Identifier of the associated bank account. |
billing_address_id |
string | null | Identifier of the associated billing address. |
cancel |
object | null | The latest cancel attempt. |
captured_at |
datetime string | null | The date and time when the funds were captured. |
capture_reference_id |
string | null | The latest capture attempt’s reference number. |
captured_status |
string | null | The status return during capture. One of duplicate_request , error ,error_cannot_confirm , expired , invalid_key_data , limit_exceeded or printed .
|
chain_number |
string | The unique chain number for the client. |
consumer_id |
string | Identifier of the associated consumer. |
extras |
one-dimensional object | null | An object of custom values the client can attach to a transaction object when it’s created. Keys must be string. |
id |
string | Permanent unique identifier of the transaction intent. |
is_mailable |
boolean | Indicates whether or not the adverse action email can be sent. This field is only displayed when the publishable key is used. |
merchant_id |
string | Deprecated. This field will be removed in a future release. Please use chain_number instead. |
payments |
array | The payments schedule for a Buy Now Pay Later transaction. This field will only be shown if the transaction type is bankpay_bnpl .
|
reference_id |
string | Identifier with which the consumer can reference the transaction. |
refund |
object | null | The latest refund attempt. |
service_fee |
string | The currency amount of the service fee. |
service_fee_accepted_at |
datetime string | The date and time when the service fee was accepted. |
service_fee_id |
datetime string | Identifier of the associated service fee. |
status |
string | The current status of the transaction intent. Possible values are:succeeded , failed , refunded , canceled ,pending_authorization , pending_capture , pending_service_fee ,or pending_service_fee_acceptance .
|
transaction_adverse_type |
boolean | Indicates whether or not the transaction has an Adverse Action. |
type |
string | The type of transaction. Possible vales are bankpay or bankpay_bnpl . |
Transaction Response Codes
Code | Label | Description |
---|---|---|
00 |
INVALID DL/STATE ID | The ID presented does not conform to known ID formats. |
01 |
ID/DOB MISMATCH | The identification does not match the date of birth provided or on file. |
03 |
INVALID SSN | The SSN or ITIN presented does not conform to known formats. |
04 |
INVALID SERVICE TYPE | The client’s account information is configured for a different type of service. Please contact Certegy Client Relations at 800-237-7506. |
05 |
INVALID DEVICE ID | The device ID is invalid. |
06 |
ID RESTRICTIONS | The type of identification presented is not acceptable. Please contact Certegy Client Relations at 800-237-7506 if you feel this is an error. |
07 |
DECLINE (NEGATIVE) | Certegy could not approve the transaction (Negative). * This response requires Adverse Action and the Reference ID to be displayed to the consumer and the ability for the consumer to print and/or email it. In order to obtain the Adverse Action language, you will need to call the Read Transaction Intent using your Publishable Key and display the “reason ” property.
|
08 |
APPROVAL | The transaction has been approved. |
09 |
INVALID ROUTING/ACCOUNT NUMBER | The Routing and/or Account Number does not conform to known formats. |
11 |
INVALID ACCOUNT TYPE | The bank account type is invalid. |
12 |
DECLINE (HIGH RISK) | Certegy could not approve the transaction (High Risk). * This response requires Adverse Action and the Reference ID to be displayed to the consumer and the ability for the consumer to print and/or email it. In order to obtain the Adverse Action language, you will need to call the Read Transaction Intent using your Publishable Key and display the “reason ” property. |
13 |
EDIT ERRORS (REQ’D FIELD MISSING) | Certain required information or data elements were missing from the request. |
14 |
INVALID STATION NUMBER | The client’s account information does not exist or has been deactivated in Certegy’s system. Please contact Certegy Client Relations at 800-237-7506. |
15 |
SYSTEM ERROR | Please contact the Certegy Help Desk at 800-237-7506. |
16 |
PHONE NUMBER MISSING | The consumer phone number is missing. |
17 |
PHONE NUMBER INVALID | The consumer phone number is invalid. |
18 |
INVALID EMAIL ADDRESS | The email address is invalid. |
19 |
ENTER THE DL AND DOB | Enter the driver license number and DOB and re-send. |
21 |
APPROVAL | The transaction has been approved. |
22 |
DECLINE (ROUTING/ACCOUNT NUMBER IS NOT ACHABLE) | Certegy has determined that the bank account does not permit ACH transactions. |
24 |
CHECK IS NOT ELIGIBLE CONVERSION | The check is not eligible for conversion. |
25 |
DECLINE (UNABLE TO DETERMINE IF ROUTING/ACCOUNT NUMBER IS ACHABLE) | Certegy is unable to determine if the bank account can be converted to an electronic transaction. |
29 |
VOID/CANCEL SUCCESSFUL | The previously authorized transaction has been recalled and successfully voided from Certegy’s system. |
30 |
CANNOT VOID/CANCEL | Certegy was not able to recall the previously authorized transaction from our settlement system. For a Refund or Credit, these transactions cannot be cancelled. |
31 |
ALREADY VOIDED/CANCELLED | The transaction presented has been previously voided in Certegy’s system. |
32 |
DUPLICATE EFT/TRANSACTION | This transaction has already been approved and processed through Certegy’s system and cannot be processed again. |
33 |
CERTEGY REF AND SEARCH REQUEST UID COMBINATION COULD NOT BE FOUND IN CERTEGY’S SYSTEM | The transaction was attempted to be voided, but the Certegy REF and Search Request UID do not match the original authorization. |
34 |
TOO LATE TO VOID/CANCEL | The transaction has already been processed through the ACH network. It can no longer be voided. |
38 |
INVALID CHECK TYPE | The check type is invalid. |
66 |
INVALID CONSUMER BILLING ADDRESS | Certegy could not approve this transaction. The consumers address is invalid. Please re-check the consumers address and try again. |
67 |
INVALID CONSUMER BILLING ADDRESS PLUS ROUTING/ACCOUNT NUMBER IS NOT ACHABLE | Certegy could not approve this transaction. The consumers address is invalid and this account cannot be processed as an ACH. |
68 |
INVALID SHIPPING ADDRESS | Certegy could not approve this transaction. The shipping address is invalid. Please re-check the shipping address and try again. |
69 |
INVALID SHIPPING ADDRESS PLUS ROUTING/ACCOUNT NUMBER IS NOT ACHABLE | Certegy could not approve this transaction. The shipping address is invalid and this account cannot be processed as an ACH. |
70 |
INVALID CONSUMER AND/OR SHIP TO FIRST NAME AND LAST NAME | Certegy could not approve this transaction. The consumer and/or shipping first and last name is invalid. Please re-check the first and last name and try again. |
71 |
INVALID CONSUMER AND/OR SHIP TO COMPANY NAME | Certegy could not approve this transaction. The consumer and/or shipping company name is invalid. Please re-check the company name and try again. |
72 |
INVALID CONSUMER AND/OR SHIP TO ADDRESS DATA. ADDRESS LINE 1 ADDRESS LINE 2 CITY STATE ZIP |
Certegy could not approve this transaction. The consumer and/or shipping address is invalid. Please re-check the address and try again. |
73 |
DEBIT CAPTURE REQUEST: TRANSACTION HAS ALREADY BEEN CAPTURED/ACKNOWLEDGE | This debit transaction has already been captured in Certegy’s system. |
74 |
GOODWILL LINKED AND UNLINKED CREDIT REQUESTS: CREDIT AMOUNT IS OVER THE LIMIT | The credit amount is over the limit. Please retry with a lower amount. |
75 |
REFUND REQUEST: REFUND AMOUNT EXCEEDS THE DEBIT AMOUNT | The Refund amount exceeds the total approved amount of the associated debit transaction. Please retry with a new amount that is equal or lower than the original approved debit. |
76 |
REFUND REQUEST: ORIGINAL APPROVED DEBIT HAS NOT BEEN CAPTURED | The original approved debit transaction has not been captured. Please ensure the capture has been successfully processed, then resubmit the Refund request. |
77 |
REFUND OR GOODWILL LINKED CREDIT REQUEST: ORIGINAL DEBIT TRANSACTIONS WAS CANCELLED | The original debit was cancelled; therefore, we are unable to process a Refund or Goodwill Linked Credit. If a credit is required, please rerun the request as a Goodwill Unlinked Credit. |
78 |
DEBIT CAPTURE REQUEST: CAPTURE ADJUSTED AMOUNT OVER THE LIMIT | The adjusted amount is over the limit. Please retry the capture request with a lower amount or use the original approved amount. |
79 |
DEBIT CAPTURE REQUEST: CAPTURE ADJUSTED AMOUNT OVER THE LIMIT AND EXCEEDED RETRIES | The adjusted amount is over the limit and has exceeded the number of retries. Please submit a new debit request. |
80 |
REFUND REQUEST: ORIGINAL DEBIT TRANSACTION HAS NOT BEEN SENT FOR SETTLEMENT | The refund cannot be processed since the original approved debit has not been sent to settlement. Please cancel the debit or submit a Goodwill Credit. |
81 |
REFUND REQUEST: ORIGINAL DEBIT TRANSACTION HAS NOT BEEN SENT FOR SETTLEMENT | The refund amount is less than the purchase amount. Partial refunds are not enabled at the time. |
82 |
REFUND REQUEST: ORIGINAL DEBIT TRANSACTION HAS NOT BEEN SENT FOR SETTLEMENT | The Debit transaction related to the Refund request has been returned from the bank. |