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.
Description | US | Australia | Canada | EU | UK |
---|---|---|---|---|---|
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 | |
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 |
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 |
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 |
Sale | Authorization | Refund | Card verification | Void/reversal | Partial reversal |
---|---|---|---|---|---|---|
American Express | 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 | 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.
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.
Use the statementDescriptor
to indicate your business name as you want it to appear on the consumer’s statement (if you want your business name on the consumer’s statement to be different from the default business name set up during the onboarding process).
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.
The following fields are supported for softMerchant
data:
{
"softMerchant": {
"name": "John Doe",
"phone": "1234567890",
"email": "example@example.com",
"url": "https://www.example.com",
"address": {
"line1": "1234 Main Street",
"line2": "Apartment 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.
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.
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
subMerchantSupplementalData.merchantIdentification.serviceEntitlementNumber
Here is an example American Express request with sub-merchant and soft merchant data fields:
{
"captureMethod": "NOW",
"amount": 10000,
"currency": "USD",
"merchantOrderNumber": "54568787",
"statementDescriptor": "statement",
"initiatorType": "CARDHOLDER",
"accountOnFile": "STORED",
"paymentMethodType": {
"card": {
"accountNumber": "341134113411347",
"expiry": {
"month": 12,
"year": 2027
}
}
},
"recurring": {
"recurringSequence": "FIRST"
},
"merchant": {
"merchantSoftware": {
"companyName": "Payment Company",
"productName": "Application Name",
"version": "1.0"
},
"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"
}
}
},
"installment": {
"totalInstallments": "1"
},
"accountHolder": {
"billingAddress": {
"line1": "1 NORTHEASTERN BLVD",
"line2": "",
"city": "BEDFORD",
"state": "NH",
"postalCode": "03109"
}
},
"subMerchantSupplementalData": {
"merchantIdentification": {
"sellerIdentifier": "123",
"serviceEntitlementNumber": "1234",
"subMerchantId": "abc123"
}
}
}
Response:
{
"transactionId": "ec2a68c5-11c4-4f7d-95c4-69028ed45d0c",
"requestId": "a20c3c29-99cb-4ffe-8aba-c56f7cf4ae60",
"transactionState": "CLOSED",
"responseStatus": "SUCCESS",
"responseCode": "APPROVED",
"responseMessage": "Transaction approved by Issuer",
"paymentMethodType": {
"card": {
"cardType": "AX",
"cardTypeName": "AMERICAN_EXPRESS",
"maskedAccountNumber": "341134XXXXX1347",
"networkResponse": {
"addressVerificationResult": "ADDRESS_POSTALCODE_MATCH",
"addressVerificationResultCode": "I3",
"networkTransactionId": "014124555553397",
"networkResponseCode": "000"
}
}
},
"captureMethod": "NOW",
"captureTime": "2024-05-03T18:53:11.508Z",
"initiatorType": "CARDHOLDER",
"accountOnFile": "STORED",
"isVoid": false,
"transactionDate": "2024-05-03T18:53:11.508Z",
"approvalCode": "tst620",
"hostMessage": "Approved",
"amount": 10000,
"currency": "USD",
"remainingRefundableAmount": 10000,
"remainingAuthAmount": 0,
"hostReferenceId": "ZFuj0QQMDADSMTciQOJhH2",
"statementDescriptor": "statement",
"merchant": {
"merchantId": "000017904333",
"merchantSoftware": {
"companyName": "Payment Company",
"productName": "Application Name",
"version": "1.0"
},
"merchantCategoryCode": "8398",
"softMerchant": {
"name": "DoggieDaycare*Boarding",
"phone": "877-777-7777",
"email": "example@example.com",
"url": "softmerchanturl",
"address": {
"city": "Blue",
"postalCode": "33333",
"countryCode": "USA"
},
"visaMerchantVerificationValueId": "123",
"masterCardMerchantVerificationValueId": "123",
"merchantIncorporationStatus": "6",
"foreignMerchantIndicator": true
}
},
"recurring": {
"recurringSequence": "FIRST"
},
"installment": {
"totalInstallments": 1
},
"paymentRequest": {
"paymentRequestId": "ec2a68c5-11c4-4f7d-95c4-69028ed45d0c",
"paymentRequestStatus": "CLOSED",
"authorizations": [
{
"authorizationId": "ec2a68c5-11c4-4f7d-95c4-69028ed45d0c",
"amount": 10000,
"transactionStatusCode": "CAPTURED",
"authorizationType": "INITIAL"
}
],
"captures": [
{
"captureId": "ec2a68c5-11c4-4f7d-95c4-69028ed45d0c",
"amount": 10000,
"transactionStatusCode": "CLOSED",
"captureRemainingRefundableAmount": 10000
}
]
},
"subMerchantSupplementalData": {
"merchantIdentification": {
"sellerIdentifier": "123",
"serviceEntitlementNumber": "1234",
"subMerchantId": "abc123"
}
}
}
Here is an example Visa request with sub-merchant and soft merchant data fields:
{
"amount": 10000,
"currency": "USD",
"merchantOrderNumber": "54568787",
"initiatorType": "CARDHOLDER",
"accountOnFile": "STORED",
"paymentMethodType": {
"card": {
"accountNumber": "4112344112344113",
"expiry": {
"month": 12,
"year": 2027
},
"cvv": 111
}
},
"merchant": {
"merchantSoftware": {
"companyName": "Payment Company",
"productName": "Application Name",
"version": "1.0"
},
"softMerchant": {
"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"
},
"visaMerchantVerificationValueId": "1234567890",
"masterCardMerchantVerificationValueId": "0987654321"
}
},
"subMerchantSupplementalData": {
"merchantIdentification": {
"sellerIdentifier": "sellerID",
"serviceEntitlementNumber": "SENumber",
"subMerchantId": "abc123"
}
}
}
Response:
{
"transactionId": "91ae4a76-667e-40e4-b219-6fd2b24fa0b5",
"requestId": "37919261-32b5-42fb-8591-9c9850132b5f",
"transactionState": "CLOSED",
"responseStatus": "SUCCESS",
"responseCode": "APPROVED",
"responseMessage": "Transaction approved by Issuer",
"paymentMethodType": {
"card": {
"cardType": "VI",
"cardTypeName": "VISA",
"maskedAccountNumber": "411234XXXXXX4113",
"cardTypeIndicators": {
"issuanceCountryCode": "USA",
"isDurbinRegulated": false,
"cardProductTypes": [
"COMMERCIAL",
"PINLESS_DEBIT"
]
},
"networkResponse": {
"addressVerificationResult": "NOT_REQUESTED",
"cardVerificationResult": "MATCH",
"cardVerificationResultCode": "M",
"networkTransactionId": "014086692160865",
"paymentAccountReference": "Q1J4Z28RKA1EBL470G9XYG90R5D3E",
"networkResponseCode": "00"
}
}
},
"initiatorType": "CARDHOLDER",
"accountOnFile": "STORED",
"isVoid": false,
"transactionDate": "2024-03-26T11:47:51.996Z",
"approvalCode": "tst176",
"hostMessage": "Approved",
"amount": 10000,
"currency": "USD",
"remainingRefundableAmount": 10000,
"remainingAuthAmount": 0,
"hostReferenceId": "mcxraOPVAd2Xa4offSjyX7",
"merchant": {
"merchantId": "000017904333",
"merchantSoftware": {
"companyName": "Payment Company",
"productName": "Application Name",
"version": "1.0"
},
"merchantCategoryCode": "4899",
"softMerchant": {
"name": "DoggieDaycare*Boarding",
"phone": "877-777-7777",
"email": "example@example.com",
"url": "softmerchanturl",
"address": {
"city": "Blue",
"postalCode": "33333",
"countryCode": "USA"
},
"visaMerchantVerificationValueId": "1234567890",
"masterCardMerchantVerificationValueId": "0987654321"
}
},
"paymentRequest": {
"paymentRequestId": "91ae4a76-667e-40e4-b219-6fd2b24fa0b5",
"paymentRequestStatus": "CLOSED",
"authorizations": [
{
"authorizationId": "91ae4a76-667e-40e4-b219-6fd2b24fa0b5",
"amount": 10000,
"transactionStatusCode": "CAPTURED",
"authorizationType": "INITIAL"
}
],
"captures": [
{
"captureId": "91ae4a76-667e-40e4-b219-6fd2b24fa0b5",
"amount": 10000,
"transactionStatusCode": "CLOSED",
"captureRemainingRefundableAmount": 10000
}
]
},
"subMerchantSupplementalData": {
"merchantIdentification": {
"sellerIdentifier": "sellerID",
"serviceEntitlementNumber": "SENumber",
"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.
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.
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.
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 |
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 method: POST
Endpoint: /payments
{
"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:
{
"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"
}
]
}
}
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.
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.
Field | Description |
---|---|
merchantPreferredRouting |
Indicates the routing model used to route the transaction as preferred by the merchant. Values:
|
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:
|
preferredPaymentNetworkNameList |
The name of the preferred debit payment network to process the transaction. This field is optional. Value: |
Field | Description |
---|---|
retrievalReferenceNumber |
The reference number generated for the debit transaction. |
The following example of an eftpos Australia transaction uses merchant-directed routing:
HTTP method: POST
Endpoint: /payments
{
"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:
{
"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 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).
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. |
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 method: POST
Endpoint: /payments
{
"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:
{
"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:
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 |
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.
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
{
"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:
{
"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:
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 | |
retailAddenda.level3.lineItems[ ].merchantProductIdentifier |
Required | Required | |
retailAddenda.level3.lineItems[ ].itemComodityCode |
Required | Optional | |
retailAddenda.level3.lineItems[ ].lineItemUnitQuantity |
Required | Required | |
retailAddenda.level3.lineItems[ ].lineItemUnitofMeasureCode |
Required | Required | |
retailAddenda.level3.lineItems[ ].unitPriceAmount |
Required | Required | |
retailAddenda.level3.lineItems[ ].taxInclusiveLineItemTotalAmount |
Required | Required | |
retailAddenda.level3.lineItems[ ].transactionDiscountAmount |
Required | Required | Conditionally required if a discount applies. |
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 | |
retailAddenda.level3.lineItems[ ].lineItemDiscountIndicator |
N/A | Required | |
retailAddenda.level3.lineItems[ ].lineItemTaxes[ ] |
Use the lineItemTaxes array to send one or more taxes. |
||
retailAddenda.level3.lineItems[ ].lineItemTaxes[ ].taxTypeCode |
N/A | Required | |
retailAddenda.level3.lineItems[ ].lineItemTaxes[ ].lineItemTaxAmount |
Optional | Required | |
retailAddenda.level3.lineItems[ ].lineItemTaxes[ ].taxPercent |
Required | Required | Conditionally required if lineItemTaxAmount contains a value. |
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:
Card brand | Maximum number of allowable line items |
---|---|
Visa and ChaseNet | 998 |
Mastercard | 998 |
Discover and Diners Club | 98 |
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.
Currency codes
The following table lists each supported presentment currency, the corresponding ISO currency code, and the currency decimals value.
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 |