Visa Debit
Intro
Visa is one of the world’s largest card brands that facilitates online payments in over 200 countries. Originating from Bank of America’s initiative to introduce a new unified financial instrument for consumers in 1958, it has now issued over 3.3 bln cards worldwide.
Visa Debit cards are accepted globally across a vast network of merchants. They are issued by a wide range of financial institutions and operate on Visa’s global payment infrastructure.
Our platform offers three variants of the Visa brand, with separate PaymentProductIds / guides for each:
| Brand | PaymentProductId |
|---|---|
| Visa | 1 |
| Visa Debit | 114 |
| Visa Credit | 115 |
To offer the Visa Credit/Visa Debit variants, we need to activate the credit/debit split option in your account(s). Contact us to make that happen.
If you choose not to activate this feature, process transactions as described in the Visa guide.
Countries & currencies
Supported countries
-
Åland Islands
-
Albania
-
Algeria
-
American Samoa
-
Andorra
-
Angola
-
Anguilla
-
Antarctica
-
Antigua and Barbuda
-
Argentina
-
Armenia
-
Aruba
Supported currencies
- Albanian lek (ALL)
- Algerian dinar (DZD)
- Angolan kwanza (AOA)
- Argentine peso (ARS)
- Armenian dram (AMD)
- Aruban florin (AWG)
- Australian dollar (AUD)
- Azerbaijani manat (AZN)
- Bahamian dollar (BSD)
- Bahraini dinar (BHD)
- Bangladeshi taka (BDT)
- Barbados dollar (BBD)
Integration
We offer this payment methods for the following integration modes. Learn in our dedicated guides about their individual differences:
Find a high level overview in the "Process flows" chapter.
Depending on the integration mode, differences apply:
Hosted Checkout Page
Add the following properties to a standard CreateHostedCheckout request:
{
"hostedCheckoutSpecificInput": {
"locale": "en_GB",
"returnUrl": "https://yourReturnUrl.com",
"cardPaymentMethodSpecificInput": {
"groupCards": true,
"clickToPay": false
},
"paymentProductFilters": {
"restrictTo": {
"groups": [
"cards"
]
}
}
},
"order": {
"amountOfMoney": {
"amount": 100,
"currencyCode": "EUR"
}
}
}
| Properties | Remarks |
|---|---|
|
hostedCheckoutSpecificInput.returnURL |
The URL we redirect your customers to after the payment has been finalised. |
|
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
Find detailed information about this object and its properties in our CreateHostedCheckoutAPI.
Hosted Tokenization Page
Add the following properties to a standard CreatePayment request (including mandatory 3-D Secure properties) after you have tokenised the card:
{
"CardPaymentMethodSpecificInput": {
"Token": "tokenId",
"ThreeDSecure": {
"RedirectionData": {
"ReturnUrl": "https://yourRedirectionUrl.com"
}
}
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "EUR"
},
"Customer": {
"Device": {
"AcceptHeader":
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Locale": "en_EN",
"TimezoneOffsetUtcMinutes": -180,
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"Browserdata": {
"ColorDepth": 24,
"JavaScriptEnabled": false,
"ScreenHeight": "1080",
"ScreenWidth": "1920"
}
}
}
}
}
| Properties | Remarks |
|---|---|
|
cardPaymentMethodSpecificInput.token |
Token: The tokenised credit card credentials you have received by tokenising the credentials/getting the token. Learn more in our dedicated Hosted Tokenization Page guide. |
|
cardPaymentMethodSpecificInput.threeDSecure |
returnURL: The URL we redirect your customers to after the payment has been finalised. |
|
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
|
customer.device |
Minimum properties to comply with SCA for 3-D Secure authentication. Check our dedicated guide to learn how to request 3-D Secure correctly and our API reference for more information about the properties. |
Find detailed information about this object and its properties in our HostedTokenizationAPI/ CreatePaymentAPI.
Server-to-server
Add the following properties to a standard CreatePayment request (including mandatory 3-D Secure properties):
{
"CardPaymentMethodSpecificInput": {
"PaymentProductId": XXX,
"SkipAuthentication": false,
"Card": {
"CardholderName": "John Doe",
"CardNumber": "0000000000000000",
"Cvv": 123,
"ExpiryDate": 1236
},
"ThreeDSecure": {
"RedirectionData": {
"ReturnUrl": "https://yourRedirectionUrl.com"
}
}
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "EUR"
},
"Customer": {
"Device": {
"AcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Locale": "en_EN",
"TimezoneOffsetUtcMinutes": -180,
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"Browserdata": {
"ColorDepth": 24,
"JavaScriptEnabled": false,
"ScreenHeight": "1080",
"ScreenWidth": "1920"
}
}
}
}
}
| Properties | Remarks |
|---|---|
|
cardPaymentMethodSpecificInput.paymentProductId cardPaymentMethodSpecificInput.card cardPaymentMethodSpecificInput.ThreeDSecure |
paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter.
returnURL: The URL we redirect your customers to after the payment has been finalised. |
|
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
|
customer.device |
Minimum properties to comply with SCA for 3-D Secure authentication. Check our dedicated guide to learn how to request 3-D Secure correctly and our API reference for more information about the properties. |
Find detailed information about this object and its properties in our CreatePaymentAPI.
Process flows
We offer this payment method for all our integration modes. Regardless of the mode you choose, the flow follows some basic steps as described below. Learn in our dedicated guides about the individual differences:
- Your customers finalise an order in your shop and select this payment method.
- You send a CreateHostedCheckout/CreatePayment request to our platform. Depending on your integration mode, differences apply. Check out the “Integration” chapter to find examples for each mode.
- Our platform sends you a response with instructions for the next steps of the flow.
- Your customers provide their credit card number and are redirected to their issuer for 3-D Secure authentication.
- Our system receives the 3-D authentication result from the issuer.
- We process the transaction and receive the result from the acquirer.
- We redirect your customer to your returnUrl.
- You request the transaction result from our platform via GetPaymentDetails /GetHostedCheckout or receive the result via webhooks.
- If the transaction was successful, you can deliver the goods / service.
Testing
Refer to our Test cases for test data and detailed instructions.
- Make sure to use the right endpoint and switch back to the live URL as soon as you have finished your tests.
- The data in our Test cases ONLY work for payment requests in our test environment. Using this data in our production environment will lead to undesirable testing results.