Skip to main content

Cards

The Online Payments API supports many different card brands and transaction types across countries. The following tables describe what is supported where, as well as the fundamentals of card processing.

Transaction type availability by country or region:

Transaction type availability by country or region
Transaction type US Australia Canada Europe U.K. Notes
Authorization Y Y Y Y Y  
Capture Y Y Y Y Y  
Card verification Y Y Y Y Y  
Fraud-only request Y Y Y      
Incremental authorization Y   Y Y Y Not supported for Cartes Bancaires in EU.
Partial reversal Y   Y Y Y  
Refund Y Y Y Y Y  
Sale Y Y Y Y Y  
Void Y Y Y Y Y  

Card brand support in the US by transaction type:

Card brand support in the US by transaction type
Card brand
Sale Authorization Refund Card verification Void/reversal Partial reversal
American Express Y Y Y Y Y Y
ChaseNet Y Y Y Y Y Y
Diners Club Y Y Y Y Y Y
Discover Y Y Y Y Y Y
Japan Credit Bureau (JCB)
Y Y Y Y Y Y
Mastercard (MC) Y Y Y Y Y Y
UnionPay Y Y Y Y Y Y
US PINless debit Y Y Y   Y  
Visa Y Y Y Y Y Y

Card brand support in Canada by transaction type:

Card brand support in Canada by transaction type
Card brand
Sale Authorization Refund Card verification Void/reversal Partial reversal
American Express
Y Y
Y
Y
Y
 
ChaseNet Y Y Y Y Y Y
Diners Club Y Y Y Y Y Y
Japan Credit Bureau
Y Y Y   Y Y
Mastercard Y Y Y Y Y Y
Mastercard restricted debit Y Y Y Y Y Y
UnionPay
Y
Y
Y
Y Y
Y
Visa
Y
Y
Y
Y
Y
Y
Visa restricted debit
Y Y Y Y Y Y

Card brand support in Europe and the U.K. by transaction type:

Card brand support in Europe and the U.K. by transaction type
Card brand
Sale Authorization Refund Card verification Void/reversal Partial reversal
American Express Y Y Y Y Y  
Cartes Bancaires Y Y Y Y Y Y
International Maestro
Y Y Y Y Y Y
Japan Credit Bureau (JPY only)
Y Y Y   Y Y
Mastercard Y Y Y Y Y Y
Visa Y Y Y Y Y Y

Card brand support in Australia by transaction type:

Card brand support in Australia by transaction type
Card brand Sale Authorization Refund Card verification Void/reversal Partial reversal
American Express Y Y Y Y Y Y
eftpos Y   Y      
Japan Credit Bureau Y Y Y   Y Y
Mastercard Y Y Y Y Y Y
Visa Y Y Y Y Y Y

Authentication

Each country or region has consumer protection regulations that may include cardholder authentication. Ensure that you are aware of these requirements and preferences, as authorization rates and processing costs could be impacted. Supported authentication options are:

  • Address verification service (AVS)
  • Card verification value (CVV)
  • 3-D Secure (3DS)

AVS contains consumer information sent within a verification or authorization request to the issuer. The issuer validates the billing information and provides a result code in the response. You should interrogate the result code in the response to ensure the consumer information submitted is correct before proceeding with the payment. Not all regions or issuers support this service.

The CVV is the 3 or 4-digit value printed on the front or back of a payment card. The issuer validates this code, and then sends back the card security result code in the response. You should interrogate the card verification result code to ensure it indicates that the submitted CVV is correct before proceeding with the payment.

The 3DS protocol allows issuers to directly authenticate cardholders prior to authorization and is required in some countries for e-commerce merchants. After a cardholder is authenticated, 3DS response fields are included in the authorization request. You should interrogate the 3DS response field results to ensure the cardholder authentication is a match before proceeding with the payment.

Tip

Learn more about 3D Secure authentication.

Cardholder statement descriptors

Cardholder statement descriptors are used to populate merchant specific data on the cardholder’s statement, if supported by the settlement processor and the issuer. Be sure that the submitted data is understandable and recognizable to the cardholder, since unrecognizable descriptors may result in the consumer disputing the payment.

You can use the statementDescriptor to indicate your name as you want it to appear on the consumer’s statement (if you want your name on the consumer’s statement to be different from the default name, you can set it up during the onboarding process).

Note

In the US, Canada, Europe, and the U.K., the statementDescriptor field has a maximum length of 38 characters. If you send more than 38 characters, the value is truncated from the right.

Soft merchant data

To provide additional merchant specific information for the consumer’s statement, you have the option of populating soft merchant data fields. Soft merchant data is currently supported only for US merchants and must be enabled during onboarding for your use. There are no minimum required fields. A merchant may submit any number and combination of fields.

Benefits

  • Reduced chargebacks and disputes: Clear and accurate descriptors help cardholders recognize transactions on their statements, reducing the likelihood of disputes and chargebacks. When cardholders can easily identify a transaction, they are less likely to mistakenly report it as unauthorized or fraudulent.
  • Improved customer experience: By providing recognizable and informative descriptors, merchants can enhance the customer experience. Cardholders appreciate being able to quickly understand their statements without having to contact customer support for clarification.
  • Brand recognition: Including the merchant's name and relevant details in the descriptor helps reinforce brand recognition. This is particularly important for businesses with multiple brands or product lines, as it helps customers associate the transaction with the correct brand.
  • Enhanced transparency: Descriptors provide transparency by clearly communicating the nature of the transaction. This transparency builds trust between the merchant and the cardholder, as customers feel more confident in their purchases.
  • Efficient customer support: When cardholders can easily identify transactions, they are less likely to contact customer support for assistance. This reduces the burden on customer service teams and allows them to focus on more complex inquiries.
  • Flexibility with dynamic descriptors: For businesses that offer a variety of products or services, dynamic descriptors allow for customization of transaction details. This flexibility ensures that cardholders receive specific information about each purchase, further aiding in transaction recognition.

The following fields are supported for softMerchant data:

Tip

If you send both soft merchant data and a statement descriptor in the payment request, the soft merchant data takes precedence and is sent to the issuer.

Json
{
    "softMerchant": {
        "name": " DoggieDaycare Boarding ",
        "phone": "1234567890",
        "email": "example@example.com",
        "url": "https://www.example.com",
        "address": {
            "line1": "1234 Main Street",
            "line2": "Suite 3B",
            "city": "New York",
            "state": "NY",
            "postalCode": "10111",
            "countryCode": "USA",
        },
        "merchantPurchaseDescription": "softmerchant description",
        "visaMerchantVerificationValueId": "string",
        "masterCardMerchantVerificationValueId": "string",
        "merchantIncorporationStatus": "string",
        "foreignMerchantIndicator": true
    }
}

Sub-merchant data

For clients who aggregate transactions submitted to J.P. Morgan on behalf of multiple merchants (sub-merchants), we provide the means to send sub-merchant identifying fields as required by the card brands. This can be accomplished by sending soft merchant data and sub-merchant data fields in your API request to identify the sub-merchant.

Attention

Soft merchant data and sub-merchant data require additional setup by J.P. Morgan to activate these features. As a new client, contact your sales representative. For existing clients, contact your relationship manager.

To identify your sub-merchant, submit the following fields in the subMerchantSupplementalData.merchantIdentification object:

  • subMerchantId — Generate a unique value to identify your sub-merchant. 
  • serviceEntitlementNumber — Assigned by the payment brand.
  • sellerIdentifier — Assigned by J.P. Morgan to process American Express. This is used for American Express Opt Blue merchants. 
Tip

If you want to see your subMerchantId on reporting, it should be populated in the first portion of the merchantOrderNumber. Keep in mind that the max length of the merchant order number is 22 characters. If the merchant order number length is greater than 22, we truncate from the left.  

For aggregators, American Express transactions require the following fields:

  • merchant.merchantCategoryCode
  • merchant.softMerchant.name
  • merchant.softMerchant.phone
  • merchant.softMerchant.email
  • merchant.softMerchant.address.line1
  • merchant.softMerchant.address.city
  • merchant.softMerchant.address.state
  • merchant.softMerchant.address.postalCode
  • merchant.softMerchant.address.countryCode
  • subMerchantSupplementalData.merchantIdentification.sellerIdentifier – Required for Amex Blue Merchants
  • subMerchantSupplementalData.merchantIdentification.sellerIdentifier
  • subMerchantSupplementalData.merchantIdentification.serviceEntitlementNumber

For other card brands the subMerchantID is required. 

Here is an example of all sub-merchant and soft merchant data fields:

Json
{
        "merchantCategoryCode": 8398,
        "softMerchant": {
            "visaMerchantVerificationValueId": "123",
            "masterCardMerchantVerificationValueId": "123",
            "merchantIncorporationStatus": "6",
            "foreignMerchantIndicator": true,
            "name": "DoggieDaycare Boarding",
            "phone": "877-777-7777",
            "email": "example@example.com",
            "url": "softmerchanturl",
            "address": {
                "line1": "252 Walkabout Road",
                "line2": "Suite 252",
                "city": "Blue",
                "state": "FL",
                "postalCode": "33333",
                "countryCode": "USA"
            }
        }
    },
    "subMerchantSupplementalData": {
        "merchantIdentification": {
            "sellerIdentifier": "123",
            "serviceEntitlementNumber": "1234",
            "subMerchantId": "abc123"
        }
    }
}

Reducing disputes

Cardholders have payment dispute rights, which vary depending on the card brand and region of card issuance. Each country has different consumer protection laws, and you should familiarize yourself with them if you intend to accept card payments internationally. The payment brands and card issuers also provide detailed guidance on strategies to reduce card disputes and chargebacks.

Other than fraud cases, the cardholder may initiate a dispute when they do not recognize a purchase on their account history. The dispute can turn into a chargeback, which means you are charged for the disputed transaction and must go through chargeback resolution steps to recover the payment amount from your cardholder.

Here are ways that you can reduce disputes:

  • Provide a clear and accurate statement descriptor or soft merchant data in a payment request. This helps ensure that the cardholder can identify your transaction and can contact you in case of any uncertainty.
  • Ensure transactions are processed within the period expected by the cardholder and make it easy for them to find your contact information. 
  • Remember that the amount of information printed on a statement depends on the card issuer. By default, your company information gathered during your J.P. Morgan onboarding process is sent in the payment request to the card issuer. You may be able to override these defaults by using statement descriptors and/or soft merchant data.
Attention

It’s important to remain transparent about the following:

  • When a consumer is charged or refunded
  • How much they are charged
  • Refund or exchange policies, terms and conditions, warranties, and limitations
  • Conditions related to the transaction
  • How to contact you in case the consumer has a question.

A dispute can sometimes be avoided if the consumer can pair an already credited refund with the purchase due to the transaction descriptors in their account history.

Card brands

The following card brands require additional information for processing transactions.

Cartes Bancaires

Cartes Bancaires (CB) is a card interbank network in France that facilitates online purchase transactions. Cartes Bancaires transactions follow the general structure found in the Online Payments API documentation except for additional parameter requirements for network routing preferences and transactions including 3DS details.

Cartes Bancaires requires your consumer be provided the option to choose a network routing preference when using a CB co-branded card. Although network routing preference is provided, the cardholder is not required to select a routing preference to complete the purchase.

  • If the cardholder does not select a routing preference, you have the option of submitting your routing preference when submitting your request message.
  • If no routing preference is included in your CB transaction request, the transaction is routed to Cartes Bancaires.
Note
  • For recurring CB payments refer to Online Payments API recurring transactions and note the additional CB field recurringNumber is required in the recurring payment request.
  • Submit merchant initiated (MIT) stored payments as outlined in the CB Cardholder Agreement -  e.g., timeframes, fixed or variable amount.

Coming soon: Checkout

The following fields are Cartes Bancaires specific request fields:

Cartes Bancaires specific request fields
Field name Description
preferredPaymentNetworkRoutingCode

The transaction routing model preferred by the initiator (at this time, for use of Cartes Bancaires only). Valid values are:

  • VI
  • MC
  • CB
preferredRoutingInitiatorCode

The initiator of the transaction routing model (at this time, for use of Cartes Bancaires only). Valid values are:

  • Merchant
  • Consumer
recurringNumber Current sequence number of the total number of payment (recurring payments only).

The following fields are Cartes Bancaires specific response fields:

Cartes Bancaires specific response fields
Field name Description
cardType Field in the response indicating which Method of Payment was used to process the transaction. Valid value: CB
cardTypeName Field in the response indicating the name of which card network processed the transaction. Valid values: CARTES_BANCAIRES

HTTP methodPOST

Endpoint/payments

Scenario: Cartes Bancaires payment transaction

Json
{
    "captureMethod": "NOW",
    "amount": 5000,
    "currency": "EUR",
    "initiatorType": "CARDHOLDER",
    "accountOnFile": "NOT_STORED",
    "isAmountFinal": true,
    "merchant": {
        "merchantSoftware": {
            "companyName": "Payment Company",
            "productName": "Application Name",
            "version": 1.235
        },
        "merchantCategoryCode": 4899
    },
    "paymentMethodType": {
        "card": {
            "accountNumber": "5071009999540002",
            "expiry": {
                "month": 5,
                "year": 2025
            },
            "cvv":"123",
            "isBillPayment": true,
            "authentication": {
                "walletAuthenticationMethod": "test-wlt-auth-method"
            }
        }
    },
    "merchantOrderNumber": "123456789012",
    "dynamicCVV2Timestamp": "2024-03-12T01:23:45.567Z",
    "accountHolder": {
        "referenceId": "ABC1234567891234567"
    }
}

Response:

Json
{
    "transactionId": "205f5882-cca5-4aff-9e9b-f9574835eb64",
    "requestId": "a48d6494-a6bd-4627-b67a-61875f66daa7",
    "transactionState": "CLOSED",
    "responseStatus": "SUCCESS",
    "responseCode": "APPROVED",
    "responseMessage": "Transaction approved by issuer.",
    "paymentMethodType": {
        "card": {
            "cardType": "CB",
            "cardTypeName": "CARTES_BANCAIRES",
            "isBillPayment": true,
            "maskedAccountNumber": "507100XXXXXX0002",
            "networkResponse": {
                "networkTransactionId": "1000000000045908363",
                "networkAccountUpdater": {
                    "networkResponseCode": "00"
                },
                "networkResponseCode": "00"
            },
            "authentication": {
                "walletAuthenticationMethod": "test-wlt-auth-method"
            }
        }
    },
    "captureMethod": "NOW",
    "captureTime": "2024-12-03T05:56:42.190Z",
    "initiatorType": "CARDHOLDER",
    "accountOnFile": "NOT_STORED",
    "isVoid": false,
    "transactionDate": "2024-12-03T05:56:42.190Z",
    "approvalCode": "218759",
    "hostMessage": "00",
    "isAmountFinal": true,
    "amount": 5000,
    "currency": "EUR",
    "remainingRefundableAmount": 5000,
    "remainingAuthAmount": 0,
    "merchantOrderNumber": "123456789012",
    "merchant": {
        "merchantId": "998408663762",
        "merchantSoftware": {
            "companyName": "Payment Company",
            "productName": "Application Name",
            "version": "1.235"
        },
        "merchantCategoryCode": "4899"
    },
    "paymentRequest": {
        "paymentRequestId": "205f5882-cca5-4aff-9e9b-f9574835eb64",
        "paymentRequestStatus": "CLOSED",
        "authorizations": [
            {
                "authorizationId": "205f5882-cca5-4aff-9e9b-f9574835eb64",
                "amount": 5000,
                "transactionStatusCode": "CAPTURED",
                "authorizationType": "INITIAL"
            }
        ],
        "captures": [
            {
                "captureId": "205f5882-cca5-4aff-9e9b-f9574835eb64",
                "amount": 5000,
                "transactionStatusCode": "CLOSED",
                "captureRemainingRefundableAmount": 5000
            }
        ]
    },
    "retryRequestId": "205f5882-cca5-4aff-9e9b-f9574835eb64"
}

eftpos Australia

With support for online purchase transactions, eftpos Australia is the debit card network in Australia. eftpos dual-branded cards process locally in Australia via the eftpos network and internationally through Mastercard and Visa.

Contact your sales representative or relationship manager to enable eftpos Australia on your J.P. Morgan account profile.

During onboarding, select from one of the following debit transaction routing options:

  • Merchant-directed routing
  • Acquirer-managed routing

For merchant-directed routing, send merchantPreferredRouting as either CREDIT or PINLESS for each transaction. The transaction is routed based on your preference. If you do not submit a preference, J.P. Morgan routes the transaction based on card eligibility.

Attention

For merchant-directed routing, if we cannot use your preferred routing based on card eligibility, J.P. Morgan returns an error.

For acquirer-managed routing, send the account number without providing a routing preference. J.P. Morgan determines the optimal routing based on card eligibility. If you provide a routing preference, but the preference is not available based on the card eligibility, the transaction is reassigned to an alternative routing option. Due to the potential change in routing, include the required fields for both credit and debit processing.

The cardType and cardTypeName fields in the response indicate where the transaction was processed.

Note
  • For PINless debit e-commerce transactions, the billingAddress field is required.
  • Partial authorization reversals are not available for PINless debit.
eftpos PINless debit request fields
Field                                                                        Description
merchantPreferredRouting

Indicates the routing model used to route the transaction as preferred by the merchant. Values:

  • CREDIT
  • PINLESS
merchantSalesChannelName

Describes the interaction between the consumer and merchant for the transaction. How the consumer performs the transaction with you. Send one of the following values:

  • MAIL_ORDER_TELEPHONE_ORDER
  • MAIL_ORDER
  • TELEPHONE_ORDER
  • INTERNET
  • INTERACTIVE_VOICE_RESPONSE
preferredPaymentNetworkNameList

The name of the preferred debit payment network to process the transaction. This field is optional.

Value: EFTPOS_PINLESS

eftpos PINless debit response fields
Field Description
retrievalReferenceNumber The reference number generated for the debit transaction.
Tip

If you process recurring transactions, refer to Recurring payments in conjuction with eftpos Australia to ensure you provide the necessary data.

The following example of an eftpos Australia transaction uses merchant-directed routing:

HTTP methodPOST

Endpoint/payments

Json
{
    "captureMethod": "NOW",
    "amount": 25600,
    "currency": "AUD",
    "merchant": {
        "merchantSoftware": {
            "companyName": "Payment Company",
            "productName": "Application Name",
            "version": 1.235
        },
        "merchantCategoryCode": 4899
    },
    "accountHolder": {
        "billingAddress": {
            "line1": "APT 2",
            "line2": "1 NORTHEASTERN BLVD",
            "city": "BEDFORD",
            "state": "NH",
            "postalCode": "03109-1234",
            "countryCode": "AUS"
        }
    },
    "merchantOrderNumber": "123456",
    "paymentMethodType": {
        "card": {
            "accountNumber": "4687380100010006",
            "merchantPreferredRouting": "PINLESS",
            "expiry": {
                "month": 12,
                "year": 2026
            }
        }
    }
}

Response:

Json
{
    "transactionId": "58d84d84-0509-4ab5-8ad1-000fb4aa62ac",
    "requestId": "6b8b075a-e57f-4bab-93b6-47ac78daff84",
    "transactionState": "CLOSED",
    "responseStatus": "SUCCESS",
    "responseCode": "APPROVED",
    "responseMessage": "Transaction approved by issuer.",
    "paymentMethodType": {
        "card": {
            "cardType": "EP",
            "cardTypeName": "EFTPOS_PINLESS",
            "maskedAccountNumber": "468738XXXXXX0006",
            "networkResponse": {
                "additionalData": {
                    "authorizationDate": "2025-02-18T09:29:16.209Z",
                    "retrievalReferenceNumber": "504909100018",
                    "systemTraceAuditNumber": "100018"
                },
                "networkTransactionId": "55363523131",
                "networkAccountUpdater": {
                    "networkResponseCode": "00"
                },
                "networkResponseCode": "00"
            },
            "merchantPreferredRouting": "PINLESS"
        }
    },
    "captureMethod": "NOW",
    "captureTime": "2025-02-18T09:29:16.209Z",
    "isVoid": false,
    "transactionDate": "2025-02-18T09:29:16.209Z",
    "hostMessage": "00",
    "isAmountFinal": true,
    "amount": 25600,
    "currency": "AUD",
    "remainingRefundableAmount": 25600,
    "remainingAuthAmount": 0,
    "merchant": {
        "merchantId": "998407663761",
        "merchantSoftware": {
            "companyName": "Payment Company",
            "productName": "Application Name",
            "version": "1.235"
        },
        "merchantCategoryCode": "4899"
    },
    "paymentRequest": {
        "paymentRequestId": "58d84d84-0509-4ab5-8ad1-000fb4aa62ac",
        "paymentRequestStatus": "CLOSED",
        "authorizations": [
            {
                "authorizationId": "58d84d84-0509-4ab5-8ad1-000fb4aa62ac",
                "amount": 25600,
                "transactionStatusCode": "CAPTURED",
                "authorizationType": "INITIAL"
            }
        ],
        "captures": [
            {
                "captureId": "58d84d84-0509-4ab5-8ad1-000fb4aa62ac",
                "amount": 25600,
                "transactionStatusCode": "CLOSED",
                "captureRemainingRefundableAmount": 26000
            }
        ]
    }
}

US PINless debit

Consumers use US PINless debit cards for online bill payment and purchase transactions. PINless debit methods of payment must be enabled on your J.P. Morgan account profile. During onboarding, select the type of PINless debit transactions you process from the following options:

  • Acceptance of bill pay transactions
  • Acceptance of online purchase transactions

Routing preference

Also during onboarding, select from one of the following PINless debit transaction routing options:

  • Merchant-directed routing
  • Acquirer-managed routing

For merchant-directed routing, send merchantPreferredRouting as either CREDIT or PINLESS for each transaction. The transaction is routed based on your preference. If you do not submit a preference, J.P. Morgan routes the transaction based on card eligibility. If preferred routing is not available based on card eligibility, an error is returned.

For acquirer-managed routing, send the account number without providing a routing preference. J.P. Morgan determines the optimal routing based on card eligibility. If you provide a routing preference, but the preference is not available based on card eligibility, the transaction is reassigned to an alternative routing option. Due to the potential change in routing, include the required fields for both credit and debit processing.

PINless debit network preference

To provide a debit network routing preference for an online bill payment or purchase transaction, indicate the name of the debit network in the preferredPaymentNetworkNameList field. The cardType and cardTypeName fields in the response indicate where the transaction was processed.

Note
  • You must send a PINless debit void transaction within 90 minutes of the original transaction.
  • Partial authorization reversals are not available for PINless debit.
PINless debit request fields
Field                                                                PINless Type Required
accountHolder.billingAddress Online purchase Yes
paymentMethodType.card.isBillPayment Bill pay Yes
paymentMethodType.card.merchantPreferredRouting Bill pay and online purchase  
paymentMethodType.card.merchantSalesChannelName Bill pay and online purchase  
paymentMethodType.card.preferredPaymentNetworkNameList Bill pay and online purchase  
accountHolder.referenceId Bill pay Yes
PINless debit response fields
Field Description
paymentMethodType.card.networkResponse.debitTraceNumber The reference number generated for the debit transaction.

The following example of a US PINless debit bill pay transaction uses merchant-directed routing and sets the PINless debit network preference to the STAR debit network:

HTTP methodPOST
Endpoint/payments

Json
{
    "captureMethod": "MANUAL",
    "amount": 10000,
    "currency": "USD",
    "paymentMethodType": {
        "card": {
            "accountNumber": "4935550000000006",
            "expiry": {
                "month": 12,
                "year": 2027
            },
            "cvv": 411,
            "isBillPayment": true,
            "merchantPreferredRouting": "PINLESS",
            "merchantSalesChannelName": "MAIL_ORDER_TELEPHONE_ORDER",
            "preferredPaymentNetworkNameList": [
                "STAR_PINLESS"
            ]
        }
    },
    "merchant": {
        "merchantSoftware": {
            "companyName": "Payment Company",
            "productName": "Application Name"
        }
    },
    "accountHolder": {
        "referenceId": "ABC123GHI9807654"
    }
}

Response:

Json
{
    "transactionId": "35ee1207-1831-40d8-a2ce-86aa993843cf",
    "requestId": "e7ba7368-5468-41a6-8dbb-039cc72ee553",
    "transactionState": "AUTHORIZED",
    "responseStatus": "SUCCESS",
    "responseCode": "APPROVED",
    "responseMessage": "Transaction approved by Issuer",
    "paymentMethodType": {
        "card": {
            "cardType": "SP",
            "cardTypeName": "STAR_PINLESS",
            "isBillPayment": true,
            "maskedAccountNumber": "493555XXXXXX0006",
            "networkResponse": {
                "addressVerificationResult": "NOT_REQUESTED",
                "additionalData": {
                    "electronicCommerceIndicator": "1",
                    "authorizationResponseCategory": "X - Not supported MOP"
                },
                "networkResponseCode": "00",
                "debitTraceNumber": "00195881"
            },
            "preferredPaymentNetworkNameList": [
                "STAR_PINLESS"
            ],
            "merchantSalesChannelName": "MAIL_ORDER_TELEPHONE_ORDER",
            "merchantPreferredRouting": "PINLESS"
        }
    },
    "captureMethod": "MANUAL",
    "initiatorType": "CARDHOLDER",
    "accountOnFile": "NOT_STORED",
    "isVoid": false,
    "transactionDate": "2024-03-14T18:10:29.056Z",
    "approvalCode": "093217",
    "hostMessage": "Approved",
    "amount": 10000,
    "currency": "USD",
    "remainingAuthAmount": 10000,
    "hostReferenceId": "zr1HxWwReEJr0Zlg1niwV3",
    "statementDescriptor": "star-merchant",
    "merchant": {
        "merchantId": "000017904374",
        "merchantSoftware": {
            "companyName": "Payment Company",
            "productName": "Application Name"
        },
        "merchantCategoryCode": "4899"
    },
    "paymentRequest": {
        "paymentRequestId": "35ee1207-1831-40d8-a2ce-86aa993843cf",
        "paymentRequestStatus": "PENDING",
        "authorizations": [
            {
                "authorizationId": "35ee1207-1831-40d8-a2ce-86aa993843cf",
                "amount": 10000,
                "transactionStatusCode": "AUTHORIZED",
                "authorizationType": "INITIAL"
            }
        ]
    }
}

US health benefit cards

Consumers use health benefit cards, such as Health Savings Account (HSA) and Flexible Spending Account (FSA) cards, to make qualified health-related online purchase payments. Visa and Mastercard support health benefit card transactions.

Your J.P. Morgan account profile must be enabled for you to accept health benefit cards. Additional health benefit payment related requirements apply if you are required to register with the Special Interest Group for Inventory Information Approval System (IIAS) Standards (SIGIS).

Note

If you process under an approved medical MCC, no additional requirements are necessary to process health benefit card transactions. Send health benefit card transactions in the same manner as other payment transactions. However, if you process under a non-medical MCC, verify which of the following requirements apply to you:

  • Registration with SIGIS
  • Registration for health benefit card transactions with the card brands (Mastercard and Visa)
  • Certification of health benefit card transactions with J.P. Morgan
  • Implementation of an IIAS
  • Submission of additional health benefit related fields on transactions
Additional health benefit transaction request fields for a non-medical MCC
Field                                        Required Description
totalHealthcareAmount
Y Specifies the total monetary value of the qualified health benefit purchase.
totalVisionAmount   Specifies the total monetary value of the qualified vision/optical purchase.
totalClinicAmount   Specifies the total monetary value of the qualified clinic and other purchases.
totalDentalAmount   Specifies the total monetary value of the qualified dental purchase.
totalPrescriptionAmount   Specifies the total monetary value of the qualified prescription purchase.
isIIAS Y Indicates the merchant operates an IIAS to calculate the totalHealthcareAmount for the transaction. Required for each transaction to comply with an IIAS.
Tip

Send health benefit card authorizations with support for partial authorizations to allow for approval of an amount less than the requested authorization amount based on the available balance of the HSA/FSA card. For field requirements, refer to partial authorization support.

Additional health benefit transaction response fields for a non-medical MCC
Field                                        Description
totalHealthcareAmount Specifies the approved total monetary value of the qualified health benefit purchase, which could be less than the requested amount if partial authorization is supported.
totalVisionAmount Specifies the approved total monetary value of qualified vision/optical purchase, which could be less than the requested amount if partial authorization is supported.
totalClinicAmount Specifies the approved total monetary value of qualified clinic and other purchases, which could be less than the requested amount if partial authorization is supported.
totalDentalAmount Specifies the approved total monetary value of qualified dental purchase, which could be less than the requested amount if partial authorization is supported.
totalPrescriptionAmount Specifies the approved total monetary value of qualified prescription purchase, which could be less than the requested amount if partial authorization is supported.
isIIAS Indicates the merchant operates an IIAS to calculate the totalHealthcareAmount for the transaction. The response echoes the value in the request (true or false).

The following is an example of a health benefit card payment request:

HTTP methodPOST
Endpoint/payments

Json
{
    "captureMethod": "NOW",
    "amount": 10000,
    "currency": "USD",
    "statementDescriptor": "statement",
    "initiatorType": "CARDHOLDER",
    "accountOnFile": "STORED",
    "paymentMethodType": {
        "card": {
            "accountNumber": "5299999999999990",
            "expiry": {
                "month": 5,
                "year": 2040
            },
            "cvv": "613"
        }
    },
    "merchant": {
        "merchantSoftware": {
            "companyName": "J.P. Morgan Chase",
            "productName": "Application name",
            "version": "1.0"
        }
    },
    "accountHolder": {
        "billingAddress": {
            "line1": "1 NORTHEASTERN BLVD",
            "line2": "",
            "city": "BEDFORD",
            "state": "NH",
            "postalCode": "03109",
            "countryCode": "USA"
        }
    },
    "retailAddenda": {
        "taxAmount": 100,
        "isTaxable": true,
        "purchaseOrderNumber": "1234567890",
        "orderDate": "2019-09-10",
        "healthcareData": {
            "totalHealthcareAmount": 10000,
            "totalVisionAmount": 0,
            "totalClinicAmount": 9000,
            "totalDentalAmount": 0,
            "totalPrescriptionAmount": 1000,
            "isIIAS": true
        }
    }
}

Response:

Json
{
    "transactionId": "bbac95b6-dec9-49de-b264-33ba8758be07",
    "requestId": "b625213c-c148-4d0a-b0cb-664753c9f0bc",
    "transactionState": "CLOSED",
    "responseStatus": "SUCCESS",
    "responseCode": "APPROVED",
    "responseMessage": "Transaction approved by Issuer",
    "paymentMethodType": {
        "card": {
            "cardType": "MC",
            "cardTypeName": "MASTERCARD",
            "maskedAccountNumber": "529999XXXXXX9990",
            "networkResponse": {
                "addressVerificationResult": "ADDRESS_POSTALCODE_MATCH",
                "addressVerificationResultCode": "I3",
                "additionalData": {
                    "electronicCommerceIndicator": "7",
                    "authorizationResponseCategory": "X - Not supported MOP"
                },
                "cardVerificationResult": "MATCH",
                "cardVerificationResultCode": "M",
                "networkTransactionId": "FAK5299990313",
                "paymentAccountReference": "ASG4B48SMC3GDN692I1ZAI12T7F5G",
                "networkResponseCode": "000"
            }
        }
    },
    "captureMethod": "NOW",
    "captureTime": "2024-03-13T21:10:28.026Z",
    "initiatorType": "CARDHOLDER",
    "accountOnFile": "STORED",
    "isVoid": false,
    "transactionDate": "2024-03-13T21:10:28.026Z",
    "approvalCode": "tst452",
    "hostMessage": "Approved",
    "amount": 10000,
    "currency": "USD",
    "remainingRefundableAmount": 10000,
    "remainingAuthAmount": 0,
    "hostReferenceId": "V6AvKG1PV2a1pDgV2bOcS2",
    "statementDescriptor": "statement",
    "merchant": {
        "merchantId": "000017904374",
        "merchantSoftware": {
            "companyName": "J.P. Morgan Chase",
            "productName": "Application name",
            "version": "1.0"
        },
        "merchantCategoryCode": "5912"
    },
    "retailAddenda": {
        "purchaseOrderNumber": "1234567890",
        "orderDate": "2019-09-10",
        "taxAmount": 100,
        "isTaxable": true,
        "healthcareData": {
            "totalHealthcareAmount": 10000,
            "totalVisionAmount": 0,
            "totalClinicAmount": 9000,
            "totalDentalAmount": 0,
            "totalPrescriptionAmount": 1000,
            "isIIAS": true
        }
    },
    "paymentRequest": {
        "paymentRequestId": "bbac95b6-dec9-49de-b264-33ba8758be07",
        "paymentRequestStatus": "CLOSED",
        "authorizations": [
            {
                "authorizationId": "bbac95b6-dec9-49de-b264-33ba8758be07",
                "amount": 10000,
                "transactionStatusCode": "CAPTURED",
                "authorizationType": "INITIAL"
            }
        ],
        "captures": [
            {
                "captureId": "bbac95b6-dec9-49de-b264-33ba8758be07",
                "amount": 10000,
                "transactionStatusCode": "CLOSED",
                "captureRemainingRefundableAmount": 10000
            }
        ]
    }
}

Commercial cards

Commercial cards are payment cards issued by financial institutions to businesses and organizations to manage business-related expenses. The individual products include Corporate, Business, and Purchase or Purchasing cards. The American Express product is called Corporate Purchasing. To be eligible for a better rate when you accept a commercial card, provide additional data in the payment. Additional data applicable to commercial cards is categorized as level 2 and level 3 data. The requirements for level 2 and level 3 data vary by card brand.

Level 2 data

A commercial card with support for level 2 data offers enhanced transaction data capabilities for the cardholder. The additional level 2 information enables effective expense management and compliance for the cardholder's business.

Benefits

  • Gives businesses greater control over their transactions
  • Introduces eligibility for improved interchange
  • More efficiently manages operations
  • Allows for streamlined reporting and reconciliation
  • Improves security against fraud
  • Enhances customer insights and marketing trends

Review the following level 2 data field requirements by payment brand:

Level 2 data fields
Field Visa/ChaseNet Mastercard American Express Discover
retailAddenda.purchaseOrderNumber Optional Required Optional Optional
retailAddenda.taxAmount Required Required Optional Optional
retailAddenda.isTaxable Optional Required Optional Required
shipTo.shippingAddress.postalCode Optional Optional Required Optional
Note

The taxAmount must be greater than zero to be eligible for a lower interchange rate.

Level 3 data

Purchase card level 3 data is detailed transaction information such as descriptions, quantities, and prices during a credit card transaction, often required for business-to-business transactions. Include this data to provide transparency and details about the purchase to be eligible to qualify for a lower interchange rate.

Send purchase card level 3 data in your card payment requests to identify information about an order and the individual items contained (line-item details). Send level 3 data in either the payment authorization or capture request. The card brand receives level 3 data at settlement.

Benefits

The benefits of level 3 data include:

  • Enhanced reporting on the cardholder statement: Provides detailed transaction data, such as item descriptions, quantities, and prices, which can improve financial reporting and analysis for your customer. The level of reporting available on the cardholder statement varies per card issuer.
  • Cost savings: Merchant businesses often receive lower interchange fees as card networks offer reduced rates for transactions with level 3 data.
  • Streamlined reconciliation: Simplifies the reconciliation process with comprehensive transaction details. 
  • Scalable reconciliation: As transaction volumes increase, level 3 data enhances reconciliation for cardholder organizations such as government agencies and large corporations by streamlining and improving the reconciliation process.
Tip

To refund a line item within a payment request, enter a negative sign in the taxInclusiveLineItemTotalAmount value. For example, in US dollars, the value -12000 indicates a refund of $120.00 for the corresponding line item.

The following is an example of fields for level 3 data with line item details. Add level 3 data fields, such as this example, to your payment or capture request. 

HTTP method: POST
Endpoint: /payments

Json
{
    "retailAddenda": {
        "taxAmount": 100,
        "isTaxable": true,
        "purchaseOrderNumber": "1234567890",
        "orderDate": "2019-09-10",
        "level3": {
            "totalShippingAmount": 100,
            "dutyAmount": 500,
            "shipToAddressPostalCode": "33607",
            "shipToAddressCountryCode": "USA",
            "shipFromAddressPostalCode": 34490,
            "totalTransactionDiscountAmount": 20,
            "shippingValueAddedTaxAmount": 50,
            "shippingValueAddedTaxPercent": 10,
            "orderDiscountTreatmentCode": 2,
            "valueAddedTaxAmount": 54,
            "valueAddedTaxPercent": 90,
            "valueAddedTaxInvoiceReferenceNumber": 9999,
            "partyTaxGovernmentIssuedIdentifier": 30,
            "alternateTaxAmount": 2,
            "lineItems": [
                {
                    "lineItemDescriptionText": "Off-road tires",
                    "merchantProductIdentifier": "041",
                    "itemComodityCode": "1234",
                    "lineItemUnitQuantity": "1",
                    "lineItemUnitofMeasureCode": "UNIT",
                    "unitPriceAmount": 1000,
                    "taxInclusiveLineItemTotalAmount": 120,
                    "transactionDiscountAmount": 10,
                    "purchaseTransactionDiscountPercent": 30,
                    "lineItemDiscountTreatmentCode": "1",
                    "lineItemDetailCode": "0",
                    "lineItemTaxIndicator": true,
                    "lineItemDiscountIndicator": true,
                    "lineItemTaxes": [
                        {
                            "lineItemTaxAmount": 30,
                            "taxPercent": "20%",
                            "taxTypeCode": "0124"
                        }
                    ]
                },
                {
                    "lineItemDescriptionText": "Off-road tires",
                    "merchantProductIdentifier": "041",
                    "itemComodityCode": "1234",
                    "lineItemUnitQuantity": "1",
                    "lineItemUnitofMeasureCode": "UNIT",
                    "unitPriceAmount": 1000,
                    "taxInclusiveLineItemTotalAmount": 120,
                    "transactionDiscountAmount": 10,
                    "purchaseTransactionDiscountPercent": 30,
                    "lineItemDiscountTreatmentCode": "1",
                    "lineItemDetailCode": "0",
                    "lineItemTaxIndicator": true,
                    "lineItemDiscountIndicator": true,
                    "lineItemTaxes": [
                        {
                            "lineItemTaxAmount": 30,
                            "taxPercent": "20%",
                            "taxTypeCode": "0124"
                        }
                    ]
                },
                {
                    "lineItemDescriptionText": "Off-road tires",
                    "merchantProductIdentifier": "041",
                    "itemComodityCode": "1234",
                    "lineItemUnitQuantity": "1",
                    "lineItemUnitofMeasureCode": "UNIT",
                    "unitPriceAmount": 1000,
                    "taxInclusiveLineItemTotalAmount": 120,
                    "transactionDiscountAmount": 10,
                    "purchaseTransactionDiscountPercent": 30,
                    "lineItemDiscountTreatmentCode": "1",
                    "lineItemDetailCode": "0",
                    "lineItemTaxIndicator": true,
                    "lineItemDiscountIndicator": true,
                    "lineItemTaxes": [
                        {
                            "lineItemTaxAmount": 30,
                            "taxPercent": "20%",
                            "taxTypeCode": "0124"
                        }
                    ]
                }
            ]
        }
    }
}

Response:

Json
{
    "retailAddenda": {
        "purchaseOrderNumber": "1234567890",
        "orderDate": "2019-09-10",
        "taxAmount": 100,
        "isTaxable": true,
        "level3": {
            "totalShippingAmount": 100,
            "dutyAmount": 500,
            "shipToAddressPostalCode": "33607",
            "shipToAddressCountryCode": "USA",
            "shipFromAddressPostalCode": "34490",
            "totalTransactionDiscountAmount": 20,
            "valueAddedTaxAmount": 54,
            "valueAddedTaxPercent": "90",
            "shippingValueAddedTaxPercent": "10",
            "orderDiscountTreatmentCode": "2",
            "valueAddedTaxInvoiceReferenceNumber": "9999",
            "shippingValueAddedTaxAmount": 50,
            "partyTaxGovernmentIssuedIdentifier": "30",
            "alternateTaxAmount": 2,
            "lineItems": [
                {
                    "lineItemDescriptionText": "Off-road tires",
                    "merchantProductIdentifier": "041",
                    "itemComodityCode": "1234",
                    "lineItemUnitQuantity": "1",
                    "lineItemUnitofMeasureCode": "UNIT",
                    "unitPriceAmount": 1000,
                    "taxInclusiveLineItemTotalAmount": 120,
                    "transactionDiscountAmount": 10,
                    "purchaseTransactionDiscountPercent": "30",
                    "lineItemDiscountTreatmentCode": "1",
                    "lineItemDetailCode": "0",
                    "lineItemTaxIndicator": true,
                    "lineItemDiscountIndicator": true,
                    "lineItemTaxes": [
                        {
                            "taxTypeCode": "0124",
                            "lineItemTaxAmount": 30,
                            "taxPercent": "20%"
                        }
                    ]
                },
                {
                    "lineItemDescriptionText": "Off-road tires",
                    "merchantProductIdentifier": "041",
                    "itemComodityCode": "1234",
                    "lineItemUnitQuantity": "1",
                    "lineItemUnitofMeasureCode": "UNIT",
                    "unitPriceAmount": 1000,
                    "taxInclusiveLineItemTotalAmount": 120,
                    "transactionDiscountAmount": 10,
                    "purchaseTransactionDiscountPercent": "30",
                    "lineItemDiscountTreatmentCode": "1",
                    "lineItemDetailCode": "0",
                    "lineItemTaxIndicator": true,
                    "lineItemDiscountIndicator": true,
                    "lineItemTaxes": [
                        {
                            "taxTypeCode": "0124",
                            "lineItemTaxAmount": 30,
                            "taxPercent": "20"
                        }
                    ]
                },
                {
                    "lineItemDescriptionText": "Off-road tires",
                    "merchantProductIdentifier": "041",
                    "itemComodityCode": "1234",
                    "lineItemUnitQuantity": "1",
                    "lineItemUnitofMeasureCode": "UNIT",
                    "unitPriceAmount": 1000,
                    "taxInclusiveLineItemTotalAmount": 120,
                    "transactionDiscountAmount": 10,
                    "purchaseTransactionDiscountPercent": "30",
                    "lineItemDiscountTreatmentCode": "1",
                    "lineItemDetailCode": "0",
                    "lineItemTaxIndicator": true,
                    "lineItemDiscountIndicator": true,
                    "lineItemTaxes": [
                        {
                            "taxTypeCode": "0124",
                            "lineItemTaxAmount": 30,
                            "taxPercent": "20%"
                        }
                    ]
                }
            ]
        }
    }
}

Visa, ChaseNet, and Mastercard requirements

Visa, ChaseNet, and Mastercard only support line-item data on level 3-capable cards. The authorization response identifies if the card is level 3 capable.

If the paymentMethodType.card.cardTypeIndicators.isLevel3Eligible value is true, the card can support level 3 line-item data. If the paymentMethodType.card.cardTypeIndicators.isLevel3Eligible value is false, the card is not capable of supporting level 3 line-item data. If you send level 3 data on all payment requests, we only send level 3 data to the card networks when eligible.

On Visa transactions, the transaction amount must equal the total of all of the retailAddenda.level3.lineItems[ ].taxInclusiveLineItemTotalAmount values plus the retailAddenda.level3.totalShippingAmount plus the retailAddenda.level3.dutyAmount plus the retailAddenda.level3.shippingValueAddedTaxAmount minus the retailAddenda.level3.totalTransactionDiscountAmount. If the totals are not correct, Online Payments returns an error.

Mastercard requires level 2 data when supporting purchase card level 3 data. The required fields are:

  • retailAddenda.purchaseOrderNumber
  • retailAddenda.taxAmount
  • retailAddenda.isTaxable

For a payment with level 3 data, review the following field requirements for Visa and Mastercard:

Visa and Mastercard level 3 field requirements
Field Visa           Mastercard Notes
retailAddenda.purchaseOrderNumber Optional Required Level 2 field.
retailAddenda.orderDate Optional Optional Level 2 field.
retailAddenda.taxAmount Optional Required Level 2 field.
retailAddenda.isTaxable Optional Required Level 2 field.
retailAddenda.level3.totalShippingAmount Required Optional  
retailAddenda.level3.dutyAmount Required Optional  
retailAddenda.level3.shipToAddressPostalCode Required Required Conditionally required if the transaction involves shipment.
retailAddenda.level3.shipToAddressCountryCode Required Optional Conditionally required if the transaction involves shipment.
retailAddenda.level3.shipFromAddressPostalCode Required Optional Conditionally required if the transaction involves shipment.
retailAddenda.level3.totalTransactionDiscountAmount Required N/A Conditionally required if the transaction is discounted.
retailAddenda.level3.valueAddedTaxAmount Required Optional Provide if VAT tax applies.
retailAddenda.level3.valueAddedTaxPercent Required N/A Provide if VAT tax applies.
retailAddenda.level3.shippingValueAddedTaxAmount Required N/A Provide if VAT tax applies.
retailAddenda.level3.shippingValueAddedTaxPercent Required N/A Provide if VAT tax applies.
retailAddenda.level3.orderDiscountTreatmentCode Optional N/A  
retailAddenda.level3.taxTreatmentCode Optional N/A  
retailAddenda.level3.valueAddedTaxInvoiceReferenceNumber Optional N/A  
retailAddenda.level3.partyTaxGovernmentIssuedIdentifier Optional Required  
retailAddenda.level3.alternateTaxAmount N/A Optional Conditionally required if an alternate tax amount applies.
retailAddenda.level3.lineItems[ ] Required Required Send at least one line item.
retailAddenda.level3.lineItems[ ].lineItemDescriptionText Required Required Must contain non-space and non-zero values for US, Canada, and Europe.
retailAddenda.level3.lineItems[ ].merchantProductIdentifier Required Required Must contain non-space and non-zero values for US, Canada, and Europe.
retailAddenda.level3.lineItems[ ].itemComodityCode Required Optional Must contain non-space and non-zero values.
retailAddenda.level3.lineItems[ ].lineItemUnitQuantity Required Required Must contain non-space and non-zero values for US, Canada, and Europe.
retailAddenda.level3.lineItems[ ].lineItemUnitofMeasureCode Required Required Must contain non-space and non-zero values for US, Canada, and Europe.
retailAddenda.level3.lineItems[ ].unitPriceAmount Required Required Must contain non-space and non-zero values for Europe.
retailAddenda.level3.lineItems[ ].taxInclusiveLineItemTotalAmount Required Required Must contain non-space and non-zero values for US, Canada, and Europe.
retailAddenda.level3.lineItems[ ].transactionDiscountAmount Required Required

Conditionally required if a discount applies.

Must contain non-space and non-zero values for Europe.

retailAddenda.level3.lineItems[ ].purchaseTransactionDiscountPercent N/A N/A  
retailAddenda.level3.lineItems[ ].lineItemDiscountTreatmentCode Required N/A Conditionally required if a discount applies.
retailAddenda.level3.lineItems[ ].lineItemDetailCode Optional N/A  
retailAddenda.level3.lineItems[ ].lineItemTaxIndicator N/A Required Must contain non-space and non-zero values for Europe.
retailAddenda.level3.lineItems[ ].lineItemDiscountIndicator N/A Required Must contain non-space and non-zero values for Europe.
retailAddenda.level3.lineItems[ ].lineItemTaxes[ ]     Use the lineItemTaxes array to send one or more taxes.
retailAddenda.level3.lineItems[ ].lineItemTaxes[ ].taxTypeCode N/A Required Must contain non-space and non-zero values for Canada, and Europe.
retailAddenda.level3.lineItems[ ].lineItemTaxes[ ].lineItemTaxAmount Optional Required Must contain non-space and non-zero values for Canada, and Europe.
retailAddenda.level3.lineItems[ ].lineItemTaxes[ ].taxPercent Required Required

Conditionally required if lineItemTaxAmount contains a value.

Must contain non-space and non-zero values for Canada, and Europe.

Discover and Diners Club requirements

Discover and Diners Club allow line-item data on any card. If data is received in the payment request, it is passed on to the card brands.

Line-items can repeat so that a merchant can identify all items purchased. Card brands have a maximum number of line-items that are supported.

The following table identifies the number of line-items allowed:

Maximum number of allowable line-items per card brand
Card brand Maximum number of allowable line items
Visa and ChaseNet 998
Mastercard 998
Discover and Diners Club 98
Tip
  • Passing more line items than the supportable amount results in an error.
  • American Express uses transaction advice fields instead of line-item data.

American Express requirements

American Express uses transaction advice text to submit order or invoice data. The transactionAdviceText field is an array that repeats up to four times, with a maximum length of 40 characters per line.

Tip

Merchants must work with their American Express representative to identify a format to follow within transaction advice text. This requires a certification to American Express that confirms the proper format is followed.

Currency codes

The following table lists each supported presentment currency, the corresponding ISO currency code, and the currency decimals value.

Currency codes
Currency name Currency code Currency decimals
Afghan Afghani  AFN 2
Albanian Lek  ALL 2
Algerian Dinar  DZD 2
Angolan Kwanza  AOA 2
Argentine Peso  ARS 2
Armenian Dram  AMD 2
Aruban Guilder  AWG 2
Australian Dollar  AUD 2
Azerbaijanian Manat  AZN 2
Bahamian Dollar  BSD 2
Bangladeshi Taka  BDT 2
Barbados Dollar  BBD 2
Belarussian Ruble  BYN 2
Belize Dollar  BZD 2
Bermudian Dollar  BMD 2
Bolivian Boliviano  BOB 2
Bosnia and Herzegovina Convertible Marks  BAM 2
Botswana Pula  BWP 2
Brazilian Real  BRL 2
British Pound  GBP 2
Brunei Dollar  BND 2
Bulgarian Lev  BGN 2
Burundi Franc  BIF 0
Bhutanese Ngultrum  BTN 2
CFA Franc BCEAO  XOF 0
CFA Franc BEAC  XAF 0
CFP Franc  XPF 0
Canadian Dollar  CAD 2
Cambodian Riel  KHR 2
Cape Verdi Escudo  CVE 2
Cayman Islands Dollar  KYD 2
Chilean Peso  CLP 0
Chinese Yuan Renminbi  CNY 2
Colombian Peso  COP 2
Comoro Franc  KMF 0
Congolese Franc  CDF 2
Costa Rican Colon  CRC 2
Croatian Kuna  HRK 2
Czech Koruna  CZK 2
Danish Krone  DKK 2
Djibouti Franc  DJF 0
Dominican Peso  DOP 2
East Caribbean Dollar  XCD 2
Egyptian Pound  EGP 2
Ethiopian Birr  ETB 2
Euro  EUR 2
Falkland Islands Pound  FKP 2
Fiji Dollar  FJD 2
Gambian Dalasi  GMD 2
Georgian Lari  GEL 2
Ghanaian Cedi  GHS 2
Gibraltar Pound  GIP 2
Guatemala Quetzal  GTQ 2
Guinean Franc GNF 0
Guyanese Dollar  GYD 2
Haitian Gourde  HTG 2
Honduras Limpera  HNL 2
Hong Kong Dollar  HKD 2
Hungarian Forint  HUF 2
Iceland Krona  ISK 0
Indian Rupee  INR 2
Indonesian Rupiah  IDR 2
Israeli New Shekel  ILS 2
Jamaican Dollar  JMD 2
Japanese Yen  JPY 0
Kazakhstan Tenge  KZT 2
Kenyan Shilling  KES 2
Laos Kip  LAK 2
Lebanese Pound  LBP 2
Lesotho Loti  LSL 2
Liberian Dollar  LRD 2
Macau Pataca  MOP 2
Macedonian Denar  MKD 2
Malagasy Ariary  MGA 2
Malawi Kwacha  MWK 2
Malaysian Ringgit  MYR 2
Maldive Rufiyaa  MVR 2
Mauritania Ouguiya  MRU 2
Mauritius Rupee  MUR 2
Mexican Peso  MXN 2
Moldovan Leu  MDL 2
Mongolia Tugrik  MNT 2
Moroccan Dirham  MAD 2
Mozambique New Metical  MZN 2
Myanmar Kyat  MMK 2
Namibia Dollar  NAD 2
Nepalese Rupee  NPR 2
Netherlands Antillean Guilder  ANG 2
New Guinea Kina  PGK 2
New Zealand Dollar  NZD 2
Nicaraguan Cordoba Oro  NIO 2
Nigerian Naira  NGN 2
Norwegian Krone  NOK 2
Pakistan Rupee  PKR 2
Panamanian Balboa  PAB 2
Paraguay Guarani  PYG 0
Peruvian Nuevo Sol  PEN 2
Philippines Peso  PHP 2
Polish Zloty  PLN 2
Qatari Rial  QAR 2
Romania Leu  RON 2
Russian Ruble RUB 2
Rwanda Franc  RWF 0
St. Helena Pound  SHP 2
Samoan Tala  WST 2
Sao Tome and Principe Dobra  STN 2
Saudi Riyal  SAR 2
Serbian Dinar  RSD 2
Seychelles Rupee  SCR 2
Sierra Leonean Leone  SLL 2
Singapore Dollar  SGD 2
Solomon Islands Dollar  SBD 2
Somali Shilling  SOS 2
South African Rand  ZAR 2
South Korean Won  KRW 0
Sri Lanka Rupee  LKR 2
Suriname Dollar  SRD 2
Swaziland Lilangeni  SZL 2
Swedish Krona  SEK 2
Swiss Franc  CHF 2
Taiwan Dollar (New)  TWD 2
Tajikistan Somoni  TJS 2
Tanzanian Shilling  TZS 2
Thai Baht  THB 2
Tonga Pa’anga  TOP 2
Trinidad and Tobago Dollar  TTD 2
Turkish Lira  TRY 2
Uganda Shilling  UGX 0
Ukrainian Hryvnia  UAH 2
United Arab Emirates Dirham  AED 2
Uruguayan Peso  UYU 2
U.S. Dollar  USD 2
Uzbekistan Sum  UZS 2
Vanuatu Vatu  VUV 0
Venezuela Bolivar Soberano VES 2
Vietnamese Dong  VND 0
Yemeni Rial  YER 2
Zambia Kwacha  ZMW 2

3-D Secure

Authorize and capture a payment

Recurring payments

Stored payments