AFT Funding Transactions

AFT Funding

Overview

AFT Funding Transactions initiate an instant debit from the user's debit card account to the Payer's merchant account. Funds are generally available within 30 minutes.

API Workflow

  1. Create Recipient (referred to as "user")
  2. Add Card Account
  3. Create Transaction with INSTANT_FUNDING

Widget Workflow

  1. Create Recipient (referred to as "user")
  2. Add Card Account via Widget
  3. Verify Card Account
  4. Create Transaction with INSTANT_FUNDING

Card Account Verification

Card account ownership will be verified using the card PAN, expiration date, security code, address, and name if applicable. Cards must pass verification to be eligible for AFT Funding transactions. Review the Verify Card Account details for data requirements, definitions, and errors.

API Workflow

The Add Card Account API call requires the account address for verification at the time of receiving the request. The API response will contain the result of each item matched and a verification_status to indicate account eligibility.

Widget Workflow

The Create Card Widget UI interface will accept the card number, expiration date, and security code. The verification process will first verify the data present. If a user's address has been added (Add Address), it will be included in the verification process.

A successful match results in a card account being created, but not yet eligible for AFT Funding. The Verify Card Account endpoint allows a secondary verification to be performed against a name and address. A MATCH value indicates the avs and ani data was verified. If any field is a not aMATCH, the error code will be present in the response. Name verification (ani) is only supported for Visa cards.

{
    "verification_id": "PAV-V5jn9KH5RDWWxdX4AkzMdA==",
    "network": "VISA",
    "pan": "MATCH",
    "cvv": "NOT_PROCESSED",
    "avs": {
        "street": "MATCH",
        "zip": "MATCH"
    },
    "ani": {
        "first_name": "MATCH",
        "last_name": "MATCH"
    },
    "created_date": "2024-03-01T15:18:57.464Z"
}
{
    "http_status": 200,
    "error_code": "ERR_CARD_PAV_FAILURE",
    "error_message": "Card account validation failed",
		"verification_id": "PAV-V5jn9KH5RDWWxdX4AkzMdA==",
    "network": "VISA",
    "pan": "MATCH",
    "cvv": "NOT_PROCESSED",
    "avs": {
        "street": "MATCH",
        "zip": "NO_MATCH"
    },
    "ani": {
        "first_name": "MATCH",
        "last_name": "MATCH"
    },
    "created_date": "2024-03-01T15:18:57.464Z"
}

The Get Card Account response will now indicate the verification_status as VERIFIED. The verification_result will contain the first match result.

{
    "account_id": "RPA-f9Qe4Pm_THaw7uDTqck4IQ==",
    "description": "Visa Debit 0167",
    "created_date": "2021-11-09T14:47:42.843Z",
    "bank_name": "Banco Popular",
    "card_number": "451530XXXXXX0167",
    "card_type": "DEBIT",
    "exp_date": "2026-08",
    "verification_status": "VERIFIED",
		"verification_result": {
    	"network": "VISA",
      "pan": "MATCH",
      "cvv": "MATCH",
      "avs": {
      	"street": "NOT_PROCESSED",
      	"zip": "NOT_PROCESSED"
      },
     	"ani": {
      	"first_name": "MATCH",
        "last_name": "MATCH"
      }
    }
}

Address Updates

Address updates should be processed through the Verify Card Account endpoint. A non-matching result will disable the card for AFT Funding until a successful address match can be performed.

Transaction

About Transactions and Create Transaction contain details on request and response structures, transaction status, and HTTP response codes. Sample request and response specific to AFT Funding (INSTANT_FUNDING) shown below.

{
    "recipient_id" : "REejizS5fnTLiQYhGTKYXZaQ==",
    "account_id" : "RPA-lOt8vNX9QweylLYpzrFiVQ==",
    "reference_id" : "abc-123",
    "method" : "INSTANT_FUNDING",
    "type" : "DEBIT",
    "amount" : 10.00
}
{
    "transaction_id": "ICTN-435-21313-73757-ETE",
    "method": "INSTANT_FUNDING",
    "fee": 0.00,
    "amount": 10.00,
    "status": "PAID",
    "created_date": "2021-11-09T20:29:17.758Z",
    "detail": "VISA DEBIT 0167",
    "account_id": "RPA-lOt8vNX9QweylLYpzrFiVQ==",
    "recipient_id" : "REejizS5fnTLiQYhGTKYXZaQ==",
    "paid_date": "2025-08-09T20:29:18.711Z",
    "network_approval_code": "ABC12345",
    "provider_reference_id": "987654321"
}
{
    "http_status": 422,
    "error_code": "ERR_INELIGIBLE_RECIPIENT_ACCOUNT",
    "error_message": "Ineligible account for transaction method"
}

The following Action codes should not be retried within 5 minutes. Retrying a transaction could result in additional transaction fees per network requirements.

Action CodeDescription
04Pickup Card (no fraud)
07Pick up card, special condition (fraud account)
12Invalid Transaction
15No such issuer
41Lost card, pick up (fraud account)
43Stolen card, pick up (fraud account)
46Closed account
57Transaction not permitted to cardholder