IPG Response Fields

Argentina
Brazil
Caribbean
Colombia
Mexico
Panama
Uruguay

Overview

This page explains the IPG transaction response fields and how merchants can use them to determine whether a transaction was processed using a payment card or a network token.

Response Fields

Transaction Authorization Identification

Use the following rules to identify whether the transaction was authorized using the payment card or a network token.

  1. Payment Card Authorization
    If the transaction is authorized using the payment card, the following fields will contain the same values:

    • Bin = FundingCardNumberBin
    • Last4 = FundingCardNumberLast4
  2. Network Token Authorization

    If the transaction is authorized using a Network Token:

    • Bin = Network Token first 6 digits
    • FundingCardNumberBin = Payment Card first 6 digits
    • Last4 = Network Token last 4 digits
    • FundingCardNumberLast4 = Payment Card last 4 digits

Identifying Payment Card Authorization

If the merchant has access to the original card details used in the request, the authorization source can be identified by comparing the following response fields.

When the transaction is authorized using the payment card, the values below will be identical:

  • Bin = FundingCardNumberBin
  • Last4 = FundingCardNumberLast4

Example:

  • Bin = FundingCardNumberBin = 123456
  • Last4 = FundingCardNumberLast4 = 1234

Identifying Network Token Authorization

If the merchant has access to the original card details used in the request, the authorization source can be identified by comparing the following response fields.

When the transaction is authorized using a network token, the values returned for the token and the underlying payment card will differ.

Example:

  • Bin = 520000 and FundingCardNumberBin = 411111
  • Last4 = 9999 and FundingCardNumberLast4 = 1111

Note: Bin and FundingCardNumberBin may be identical or different depending on the token configuration and issuer implementation.


{ 
 "requestType": "PaymentCardSaleTransaction", 
 "transactionAmount": { 
  "total": "10.00", 
  "currency": "XXX" 
 }, 
 "paymentMethod": { 
    "paymentCard": { 
      "number": "411111******1111", 
      "securityCode": "***", 
       "expiryDate": { 
        "month": "MM", 
        "year": "YY" 
   } 
  } 
} 
} 
{ 
    "type": "transactionResponse", 
    "clientRequestId": "CLIENT_REQUEST_ID", 
    "apiTraceId": "API_TRACE_ID", 
    "ipgTransactionId": "IPG_TRANSACTION_ID", 
    "orderId": "ORDER_ID", 
    "transactionType": "SALE", 
    "paymentToken": { 
        "reusable": true, 
        "declineDuplicates": false, 
        "brand": "CARD_BRAND", 
        "type": "PAYMENT_CARD" 
    }, 
    "transactionOrigin": "ECOM", 
    "paymentMethodDetails": { 
        "paymentCard": { 
            "expiryDate": { 
                "month": "MM", 
                "year": "YYYY" 
            }, 
            "fundingCardNumber": { 
                "bin": "411111", 
                "last4": "1111" 
            }, 
            "bin": "520000", 
            "last4": "9999", 
            "brand": "CARD_BRAND" 
        }, 
        "paymentMethodType": "PAYMENT_CARD", 
        "paymentMethodBrand": "CARD_BRAND" 
    }, 
    "terminalId": "TERMINAL_ID", 
    "merchantId": "MERCHANT_ID", 
    "transactionTime": 0000000000, 
    "approvedAmount": { 
        "total": 10.00, 
        "currency": "XXX", 
        "components": { 
          "subtotal": 10.00
 } 
    }, 
    "transactionAmount": { 
        "total": 10.00, 
        "currency": "XXX", 
        "components": { 
            "subtotal": 10.00 
        } 
    }, 
    "transactionStatus": "APPROVED", 
    "transactionResult": "APPROVED", 
    "approvalCode": "APPROVAL_CODE", 
    "processor": { 
        "referenceNumber": "REFERENCE_NUMBER", 
        "authorizationCode": "AUTHORIZATION_CODE", 
        "responseCode": "00", 
        "responseMessage": "APPROVED_RESPONSE", 
        "avsResponse": { 
            "streetMatch": "NO_INPUT_DATA", 
            "postalCodeMatch": "NO_INPUT_DATA", 
            "associationAvsResponse": "A" 
        }, 
        "taxRefundData": {} 
    }, 
    "additionalDetails": { 
        "additionalResponseData": { 
            "schemeECI": "00" 
        } 
    } 
}


Conclusion

The same identification logic applies to other network token request methods, including Hosted Data ID and Passthrough.

Merchants can use the response fields described above to identify whether the authorization was performed using the original payment card or a network token.


Did this page help you?