Visa
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 Credit
Visa Credit is the main card brand in the Visa family.
Visa Debit
A major Visa debit card, available globally. Visa Debit cards are linked to the consumers’ bank accounts. In many countries the Visa Debit functionality also allows access to ATM and domestic networks.
Visa Electron
Visa Electron is a debit card available across most of the world, with the exception of Canada, Australia, Ireland and the United States. It was introduced in 1985. The difference between Visa Electron and Visa Debit is that Visa Electron card doesn’t allow overdraft.
Verified by Visa
Is an additional security authentication that helps identify the consumer when online shopping using their Secure code. It is supported by many issuing banks in order to reduce fraud and disputed payments.
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
- When using the Multi-Network Card Routing feature, you need to notify your customers accordingly. Depending on the integration mode, differences apply. Read our dedicated chapters below for instructions as to your obligations and options. Find detailed information in our dedicated guides about brand detection/preselection and brand ordering.
- eftpos supports only direct sales operations. Therefore, we strongly recommend sending cardPaymentMethodSpecificInput.authorizationMode=SALE in all your CreateHostedCheckout/CreatePayment requests. Our platform will convert "FINAL_AUTHORIZATION" to "SALE" to ensure Multi-Network Cards are processed as eftpos transactions.
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": {
"ReturnUrl": "https://yourReturnUrl.com"
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "AUD"
}
}
}
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. |
To allow our platform to route a Multi-Network Card transaction via eftpos, remove productpaymentId and add property groupCards=true in your request. Find detailed information in our dedicated guides about brand detection/preselection and brand ordering.
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": "AUD"
},
"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. |
Add paymentProductFilters.exclude to your request to preselect the available brands in the Hosted Tokenization Page iframe, enabling/disabling the Multi-Network Card transaction respectively. To allow our platform to route a Multi-Network Card transaction via eftpos, remove productpaymentId and add property groupCards=true in your request. Find detailed information in our dedicated guides about brand detection/preselection and brand ordering.
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": "AUD"
},
"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.