Skip to main content

Visa

Visa cards (debit, credit, prepaid, etc.) are widely accepted in e-commerce and physical environments. Card tokenization and consumer authentication (via the 3-D Secure protocol) improve the consumer experience and security of payments.

Visa Asia-Pacific

Visa implementation specifics for Asia-Pacific.

Features
MethodCredit/Debit Card, Sync
CountriesAsia-Pacific
Processing currenciesAll
Increments
Captures
Partial/Multiple partial captures⚠️ (Only one partial capture is supported)
Cancels
Partial/Multiple partial cancels✅ (Partial cancels need to be executed before any partial capture)
Refunds
Partial/Multiple partial refunds✅ (Partial refunds using international currencies, defined as those distinct from the local currency of the acquiring institution where the merchant is onboarded, may be subject to limitations based on the capabilities of the issuer:
  • Partial refunds could be rejected during the 24 hours after the original payment, after that period of time they should work in any case.
  • Potentially only one partial refund could be successful.
These restrictions do not apply to transactions in local currencies.)
Recurring
Installments-
Credits
Disputes
Min AmountN/A
Account verification

Installments

Installments are NOT supported.

3-D Secure

The 3-D Secure pass-through authorization model is the one supported in this region. This means the customer is authenticated using an external 3-D Secure MPI before the payment request is made. Authentication information is then included in the threedsPassThrough block of the payment request.

The following ecommerce indicator (ECI) values are supported:

  • 05
  • 06
  • 07

Strong customer authentication (SCA) exemptions

The following SCA exemptions are supported:

  • authentication_outage

Secure remote payments

Secure remote payments are supported. Cryptogram and other relevant information for the secure remote payment must be included in the secureRemotePayment block of the payment request.

Mail order/Telephone order (MOTO)

Mail and telephone orders are supported. Mail and telephone orders are allowed only for certain merchant category codes.

Account verification (Zero auth)

An account verification is an authorization request with an amount of 0.

Address verification service (AVS)

The address verification service is supported. Information in the billingAddress block of the payment request is used to populate the fields needed for AVS. If you want to make sure AVS is forwarded you must fill street and postal code.

Consumer

The consumer block in payment requests is NOT supported.

Scheme transaction ID

The scheme transaction id (Visa Transaction ID) of an initial transaction is required for all merchant initiated transactions (MIT) in this region, either standing instruction MITs (e.g., subsequent payments in a recurring series) or industry practice MITs (e.g., no show). The scheme transaction id of an initial transaction is returned in the payment response of it.

Industry practices

The following industry practice types are supported:

  • delayed_charges
  • no_show

Due to the way industry practice transactions are supported in this region, any customer initiated transaction (CIT) that includes an agreement between the cardholder and the merchant for a potential subsequent industry practice MIT, should be flagged with the industry practice type.

For example, when a customer is booking a hotel room in a hotel that charges a no-show fee if the customer doesn't show up, the transaction to book the hotel room should be flagged with industry practice set to no_show and no scheme transaction id as this is the CIT. If the customer doesn't show up, the transaction to charge the no-show fee will be a MIT transaction with industry practice set to no_show and the scheme transaction id returned in the previous CIT transaction.

Sample request for a customer initiated transaction that includes an agreement for a potential subsequent industry practice MIT:

{
"processingAccountId": "2HdN2jq6XWmlkhqRC2gDTNYCvNH",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"amount": {
"value": 200,
"currency": "hkd"
},
"paymentMethod": {
"type": "visa",
"visa": {
"account": {
"number": "4000000000000002",
"expiryMonth": "1",
"expiryYear": "2030",
"cvv": "333"
},
"capture": "manual",
"industryPractice": {
"type": "no_show"
}
}
}
}

If the agreement between the cardholder and the merchant for a potential subsequent industry practice MIT includes more than one type of industry practice, like no-show fee if the customer doesn't show up and delayed charges for mini bar expenses, choose one of them for the customer initiated transaction that sets the agreement up.

Issuer/scheme responses

When a transaction is processed, issuers and card schemes may include relevant information in their response. The following response fields for paymentMethod.type visa are supported in this region, and will contain the information provided by the issuer or card scheme if available:

  • scheme:
    • approvalCode
    • avsResult
    • cvvResult
    • eci
    • transactionId
  • standingInstruction:
    • responseCode

Auto-cancellation

Card schemes require a period of time within which the authorized amount must be captured. This period can vary depending on the Merchant Category Code (MCC), but is typically 7 days for Visa. If an amount remains to be captured within this period, a cancellation process is automatically initiated. In this case, you will receive the result of the operation asynchronously, in a cancel webhook.

Payment flow

Card flow

Payment

Request
{
"processingAccountId": "2HdN2jq6XWmlkhqRC2gDTNYCvNH",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"amount": {
"value": 200,
"currency": "hkd"
},
"paymentMethod": {
"type": "visa",
"visa": {
"account": {
"number": "4000000000000002",
"expiryMonth": "1",
"expiryYear": "2030",
"cvv": "333"
},
"capture": "manual"
}
}
}
Response
{
"id": "2DCszjHIf3Uy2ZQMrUrkB9R1ZqG",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"status": "succeeded",
"paymentMethod": {
"type": "visa",
"scheme": {
"approvalCode": "565848",
"cvvResult": "M"
}
}
}

Visa Europe

Visa implementation specifics for Europe.

Features
MethodCredit/Debit Card, Sync
CountriesEurope
Processing currenciesAll
Increments
Captures
Partial/Multiple partial captures
Cancels
Partial/Multiple partial cancels*
Refunds
Partial/Multiple partial refunds
Recurring
Installments-
Credits*
Disputes
Min AmountN/A
Account verification
note

* Feature support depends on the acquirer. Please contact NomuPay's support team if more information is needed.

Installments

Installments are NOT supported.

3-D Secure

The 3-D Secure pass-through authorization model is the one supported in this region. This means the customer is authenticated using an external 3-D Secure MPI before the payment request is made. Authentication information is then included in the threedsPassThrough block of the payment request.

The following ecommerce indicator (ECI) values are supported:

  • 05
  • 06
  • 07

Strong customer authentication (SCA) exemptions

The following SCA exemptions are supported:

  • authentication_outage *
  • delegated_authentication
  • low_value
  • secure_corporate
  • transaction_risk_analysis
  • trusted_beneficiary *
note

* Feature support depends on the acquirer. Please contact NomuPay's support team if more information is needed.

Secure remote payments

Secure remote payments are supported. Cryptogram and other relevant information for the secure remote payment must be included in the secureRemotePayment block of the payment request.

Mail order/Telephone order (MOTO)

Mail and telephone orders are supported. Mail and telephone orders are allowed only for certain merchant category codes.

Account verification (Zero auth)

An account verification is an authorization request with an amount of 0.

Address verification service (AVS)

The address verification service is supported * in Canada, the United Kingdom and the United States. Information in the billingAddress block of the payment request is used to populate the fields needed for AVS. If you want to make sure AVS is forwarded you must fill street and postal code.

note

* Feature support depends on the acquirer. Please contact NomuPay's support team if more information is needed.

Consumer

The consumer block in payment requests is NOT supported.

Scheme transaction ID

The scheme transaction id (Visa Transaction ID) of an initial transaction is required for all merchant initiated transactions (MIT) in this region, either standing instruction MITs (e.g., subsequent payments in a recurring series) or industry practice MITs (e.g., no show). The scheme transaction id of an initial transaction is returned in the payment response of it.

Industry practices

The following industry practice types are supported:

  • delayed_charges
  • no_show
  • reauthorization *
  • resubmission
note

* Feature support depends on the acquirer. Please contact NomuPay's support team if more information is needed.

Issuer/scheme responses

When a transaction is processed, issuers and card schemes may include relevant information in their response. The following response fields for paymentMethod.type visa are supported in this region, and will contain the information provided by the issuer or card scheme if available:

  • scheme:
    • approvalCode
    • avsResult
    • cvvResult
    • eci
    • transactionId
  • standingInstruction:
    • responseCode

Auto-cancellation

Card schemes require a period of time within which the authorized amount must be captured. This period can vary depending on the Merchant Category Code (MCC), but is typically 7 days for Visa. If an amount remains to be captured within this period, a cancellation process is automatically initiated. In this case, you will receive the result of the operation asynchronously, in a cancel webhook.

Payment flow

Card flow

Payment

Request
{
"processingAccountId": "2HdN2jq6XWmlkhqRC2gDTNYCvNH",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"amount": {
"value": 200,
"currency": "eur"
},
"paymentMethod": {
"type": "visa",
"visa": {
"account": {
"number": "4000000000000002",
"expiryMonth": "1",
"expiryYear": "2030",
"cvv": "333"
},
"capture": "manual"
}
}
}
Response
{
"id": "2DCszjHIf3Uy2ZQMrUrkB9R1ZqG",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"status": "succeeded",
"paymentMethod": {
"type": "visa",
"scheme": {
"approvalCode": "565848",
"cvvResult": "M",
"transactionId": "360789597993835"
}
}
}

Visa Türkiye

Visa implementation specifics for Türkiye.

Features
MethodCredit/Debit Card, Sync/Async GET Redirect
CountriesTürkiye
Processing currenciesGBP, EUR, TRY, USD
Increments-
Captures-
Partial/Multiple partial captures-
Cancels-
Partial/Multiple partial cancels-
Refunds
Partial/Multiple partial refunds
Recurring
Installments
Credits-
Disputes-
Min AmountN/A
Account verification-

Installments

Installments represent a structured approach to paying for products or services through a series of scheduled partial payments, as opposed to a single consolidated upfront payment. This payment strategy allows the consumer to spread the cost over a period of time, while the merchant handles it as a unified payment.

Installment payments are currently applicable within the country and exclusively accessible for transactions involving local cards. It's important to emphasize that this service is not extended to international cards issued outside of this country. As a result, any attempt to initiate an installment payment using a card from a non-regional source will result in a declined transaction. Additionally, some cards might have a minimum transaction amount required to qualify for the installment plan.

Please take note: while the Sandbox environment permits installment functionality without verifying the card's regional or international origin, this distinction becomes crucial in a live production environment to ensure the appropriate card type is used for successful installment transactions.

3-D Secure

Customer authentication is managed as part of the payment processing in this region. Customer authentication can be triggered using the authentication block in the payment request.

Notice that the returnUrl field is required when authentication type is set to redirection.

Strong customer authentication (SCA) exemptions

SCA exemptions are NOT supported.

Secure remote payments

Secure remote payments are NOT supported.

Mail order/Telephone order (MOTO)

Mail/telephone orders are NOT supported.

Account verification (Zero auth)

The account verification is NOT supported.

Address verification service (AVS)

The address verification service is NOT supported.

Consumer

The consumer block is required in all payment requests.

Scheme transaction ID

Scheme transaction ID is NOT supported.

Industry practices

Industry practices are NOT supported.

Issuer/scheme responses

When a transaction is processed, issuers and card schemes may include relevant information in their response. No specific response fields for paymentMethod.type visa are supported in this region.

Auto-cancellation

Auto-cancellation is NOT supported.

Payment flow

Card flow

Payment

Request
{
"processingAccountId": "2HdN2jq6XWmlkhqRC2gDTNYCvNH",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"amount": {
"value": 200,
"currency": "try"
},
"paymentMethod": {
"type": "visa",
"visa": {
"account": {
"number": "4000000000000002",
"expiryMonth": "1",
"expiryYear": "2030",
"cvv": "333"
},
"consumer": {
"ipAddress": "64.39.156.221"
}
}
}
}
Response
{
"id": "2DCszjHIf3Uy2ZQMrUrkB9R1ZqG",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"status": "succeeded"
}

Payment 3-D Secure flow

Card flow

Payment 3-D Secure

Request
{
"processingAccountId": "2HdN2jq6XWmlkhqRC2gDTNYCvNH",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"amount": {
"value": 200,
"currency": "try"
},
"paymentMethod": {
"type": "visa",
"visa": {
"account": {
"number": "4000000000000002",
"expiryMonth": "1",
"expiryYear": "2030",
"cvv": "333"
},
"consumer": {
"ipAddress": "64.39.156.221"
},
"authentication": {
"type": "redirection"
},
"returnUrl": "https://merchant.site/complete-payment"
}
}
}
Response
{
"id": "27yikKXBupQRso6XTC0eyrbfEKZ",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"status": "pending",
"trackingUrl": "/v1/tracks/payments/{trackId}",
"reason": {
"code": "required_next_step",
"description": "An additional step is needed to complete the payment."
},
"nextStep": {
"type": "redirect",
"redirect": {
"method": "get",
"url": "https://payment.method/complete"
}
}
}