Visa
Design. Build. Deliver. Open up a new world of possibilities for your business with direct access to Visa’s APIs, tools and expertise.
Website: developer.visa.com
Set up Account H2H merchant account
- Implemented flow only for 3dsV2
Step 1: Create Merchant Account
To create an account send connection request at the developer.visa.com → Contact Us or contact manager directly. Submit the required documents to verify your account and gain access.
Step 2: Get required credentials
Credentials that have to be issued:
- visanetconnect__user_id → User ID
- visanetconnect__password → Password
- visanetconnect__client_id → Client ID
- visanetconnect__acceptor_id → Acceptor ID
- visanetconnect__terminal_id → Terminal ID
- visanetconnect__ssl_cert → SSL Certificate
- visanetconnect__ssl_private_key → SSL Private Key
- visanetconnect__mle_key_id → MLE Key ID
- visanetconnect__mle_server_cert →MLE Server Certificate
- visanetconnect__mle_private_key → MLE Private Key
- visanetconnect__tokenize_mle_key_id → Tokenization MLE Key ID
- visanetconnect__tokenize_mle_private_key → Tokenization MLE Private Key
- visanetconnect__tokenize_org_id → Tokenization Org ID
- visanetconnect__cb_org_id → Cybersource Org ID
- visanetconnect__cb_key → Cybersource Key
- visanetconnect__cb_shared_secret → Cybersource Shared Secret
- visanetconnect__save_instant_token → Save instant token
- visanetconnect__upc_merchant_id → UPC Merchant ID
- visanetconnect__upc_terminal_id → UPC Terminal ID
- visanetconnect__upc_private_key → UPC Private key
- visanetconnect__3ds_provider → 3DS Provider
- visanetconnect__test_mode → Test mode
- visanetconnect__currency → Currency → choose currency (You can set these parameters according to available currencies and features for your Visa wallets and services, but it's necessary to check details of the connection with your Corefy account manager.)
Connect Merchant Account
Step 1. Connect H2H account at the Corefy Dashboard
Press Connect at Visa Provider Overview page in 'New connection' section and choose H2H Merchant account option to open Connection form.
Enter credentials:
- User ID
- Password
- Client ID
- Acceptor ID
- Terminal ID
- SSL Certificate
- SSL Private Key
- MLE Key ID
- MLE Server Certificate
- MLE Private Key
- Tokenization MLE Key ID
- Tokenization MLE Private Key
- Tokenization Org ID
- Cybersource Org ID
- Cybersource Key
- Cybersource Shared Secret
- Save instant token
- UPC Merchant ID
- UPC Terminal ID
- 3DS Provider
- Test mode → true/false
Success
You have connected Visa H2H merchant account!
API examples:
Minimum data set to create a payment invoices for payment_card_uah_hpp service
SALE
AUTH
non3DS
POST /api/payment-invoices HTTP/1.0
{
"data":{
"type":"payment-invoice",
"attributes":{
"service":"payment_card_uah_hpp",
"commerce_account":"Hello_World",
"currency":"UAH",
"amount":50,
},
"customer":{
"reference_id":"d57fe234-1b7d-46e6-9941-bec47f4ba411",
"address":{
"post_code":"10001"
}
},
"test_mode":true,
"reference_id":"c7513313-648f-422d-b17d-8884606f22c3",
"service_fields":[
]
}
}
}
Maximum data set to create a payment invoices for payment_card_uah_hpp service
SALE
non3DS
POST /api/payment-invoices HTTP/1.0
{
"data":{
"type":"payment-invoice",
"attributes":{
"service":"payment_card_uah_hpp",
"currency":"UAH",
"amount":100,
},
"customer":{
"reference_id":"c64ef3c1-dc16-4825-9c6b-92616fea8a76",
"address":{
"full_address":"1 Shevchenka street",
"post_code":"10001"
}
},
"test_mode":true,
"reference_id":"eaae7030-186d-4269-a33e-6babcce19f37",
"service_fields":[
]
}
}
}
Minimum data set to create a payment invoices for payment_card_uah_hpp service
SALE
3DS
POST /api/payment-invoices HTTP/1.0
{
"data":{
"type":"payment-invoice",
"attributes":{
"service":"payment_card_uah_hpp",
"currency":"UAH",
"amount":100,
},
"customer":{
"reference_id":"b84dbf31-6764-49d6-a06c-9848bcbc83a5",
"name":"John Doe",
"email":"[email protected]",
"phone":"+380665544332",
"address":{
"country":"US",
"city":"LA",
"street":"Some street",
"post_code":"94111"
}
},
"test_mode":true,
"reference_id":"35584634-020c-475f-b6ed-09aa656f3564",
}
}
}
Maximum data set to create a payment invoices for payment_card_uah_hpp service
SALE
3DS
POST /api/payment-invoices HTTP/1.0
{
"data":{
"type":"payment-invoice",
"attributes":{
"service":"payment_card_uah_hpp", "currency":"UAH",
"amount":100,
},
"customer":{
"reference_id":"b84dbf31-6764-49d6-a06c-9848bcbc83a5",
"name":"John Doe",
"email":"[email protected]",
"phone":"+380665544332",
"address":{
"country":"US",
"region":"CA",
"city":"LA",
"street":"Some street",
"post_code":"94111"
}
},
"test_mode":true,
"reference_id":"35584634-020c-475f-b6ed-09aa656f3564",
}
}
}
Constants
If some parameters are not sent in the transaction creation request, they will take the values from the set constants.
Here is a list of constants with their corresponding parameters:
- FIRST_NAME → customer [first_name]
- LAST_NAME → customer [last_name]
- PHONE → customer [phone]
- EMAIL → customer [email]
- ADDRESS → customer [address] [address]
- POST_CODE → customer [address] [post_code]
- CITY → customer [address] [city]
- COUNTRY → customer [address] [country]
Provider Options
- Use original ID in void
- using original ID for void request
- /acs/v3/payments/sales/305079538527706/voids
- using original ID for void request
- Customer full name sequence ( for Cybersource)
- defines the sequence of fields when parsing the customer's full name
- if the option is set to first_last, the name is parsed as [First Name] [Last Name]
- if the option is set to last_first, the name is parsed as [Last Name] [First Name]
- if the option is set to first_middle_last, the name is parsed as [First Name] [Middle Name] [Last Name]
- if the option is set to last_first_middle, the name is parsed as [Last Name] [First Name] [Middle Name]
- if the option is set to last_middle_first, the name is parsed as [Last Name] [Middle Name] [First Name]
- if the option is not set, the default value last_first_middle is used — [Last Name] [First Name] [Middle Name]
- Enable reconciliation for 3ds (for Cybersource)
- transaction finalization when requesting reconciliation
- Finalise by protocol in minutes (for Cybersource & UPS)
- if option = true → the transaction is finalized upon reconciliation request after the specified time in minutes
- Skip automatic browser info collection for UPC
- if the option is true, then we do not collect browser data on the UPC side
- if the option is false, then we make an additional request to the UPC and collect browser data
Question
"Still looking for help connecting your Visa account?" Please contact our support team!