Documentation

BankPay

  1. Home
  2. BankPay
  3. API
  4. Transactions

Transactions

Table of Contents

  • – Secret Key Required
  • – Publishable Key Required

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.
The meta property contains information about the results.
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

The list can be adjusted by passing the following parameters via the request URL.
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.

Back to Top

Was this article helpful to you? Yes No

How can we help?