Smart Routing
Smart Routing is a feature of the Netvale payment gateway that directs transactions to specific payment processors/mids based on defined rules.
Clients/Accounts can be associated with multiple sites, each of which can have multiple routing rules based on Currency, Country, Card Type, and BIN. Each routing rule includes configurations for Primary Mid, Retry Mid, Cascading details, Amount Limit config, etc.
Please reach out to the Netvalve Admin to enable Smart Routing configurations. For further information, please refer to the Smart Routing Configuration document.
Integration Steps
We require the addition of a new parameter (siteId) in the following APIs.
"siteId": "0b81bdb1-d33b-48aa-8c48-a38f5cffd558"
Contact NetValve Admin/Support to get siteId and add that in your configuration the same way you use midId and netvalveMidId.
To process transactions using smart routing, you need to send the siteId parameter. Do not include the parameters midId or netvalveMidId in the API request. If either midId or netvalveMidId is included in the request, the transaction will be processed using those parameters, and smart routing will not be utilized.
Sale / Authorization API: added siteId instead of midId/netvalveMidId
API URL: paymentApiUrl /sale AND paymentApiUrl /authorize
HTTP Method: POST
Request Body: JSON
{
"amount": 100.00,
"cardExpireMonth": "XX",
"cardExpireYear": "XXXX",
"cardHolderName": {{cardHolderName}},
"cardSecurityCode": "XXX",
"cardNumber": {{cardNumber}},
"clientOrderId": {{clientOrderId}},
"currency": {{currency}},
"customerAddress": {{customerAddress}},
"customerCity": {{customerCity}},
"customerCountryCode": {{customerCountryCode}},
"customerEmail": {{customerEmail}},
"customerIp": "123.123.123.123",
"customerName": {{customerEmail}},
"customerFirstName": {{customerFirstName}},
"customerLastName": {{customerLastName}},
"customerPhone": {{customerPhone}},
"customerState": {{customerState}},
"customerZipCode": {{customerZipCode}},
"siteId": "0b81bdb1-d33b-48aa-8c48-a38f5cffd558"
}
There is no change in the response JSON received.
Hosted payment page to create order API: added siteId instead of midId/netvalveMidId
API URL: hppApiUrl /hpp/order
HTTP Method: POST
Request Body: JSON
{
"siteId": "0b81bdb1-d33b-48aa-8c48-a38f5cffd558",
"amount": 0,
"currency": "string",
"netvalveMidId": "string",
"clientOrderId": "string",
"orderDesc": "string",
"successUrl": "string",
"cancelUrl": "string",
"failedUrl": "string",
"slimMode": true,
"isBillingAndShippingDetailsSame": true,
"customerDetails": {
"customerIp": "string",
"customerEmail": "string",
"customerName": "string",
"customerLastName": "string",
"customerAddress": "string",
"customerZipCode": "string",
"customerCity": "string",
"customerState": "string",
"customerCountryCode": "st",
"customerPhone": "string"
},
"billingDetails": {
"billingAddress": "string",
"billingZipCode": "string",
"billingCity": "string",
"billingState": "string",
"billingCountryCode": "st"
},
"shippingDetails": {
"shippingAddress": "string",
"shippingZipCode": "string",
"shippingCity": "string",
"shippingState": "string",
"shippingCountryCode": "st"
},
"additionalParameters": {
"property1": "string",
"property2": "string"
}
}
There is no change in the response JSON received.
3DS Standalone API
- 3DS initialization: Added
siteIdinstead ofmidId/netvalveMidId
API URL: paymentApiUrl /3ds/v2/initialization
HTTP Method: POST
Request Body: JSON
{
"siteId": "0b81bdb1-d33b-48aa-8c48-a38f5cffd558",
"cardNumber": "string",
"cardExpireMonth": "string",
"cardExpireYear": "stri",
"cardHolderName": "string",
"amount": 0,
"currency": "string",
"merchantRedirectUrl": "string"
}
There is no change in the response JSON received.
- 3DS authentication: Removed
midId/netvalveMidId
API URL: paymentApiUrl /3ds/authentication
HTTP Method: POST
Request Body: JSON
{
"transID": "string",
"amount": 0,
"currency": "string",
"cardNumber": "string",
"cardExpireMonth": "string",
"cardExpireYear": "stri",
"cardHolderName": "string",
"challengeIndicator": "string",
"browserInfo": "string",
"customerIp": "string",
"customerEmail": "string",
"customerName": "string",
"customerLastName": "string",
"customerAddress": "string",
"customerZipCode": "string",
"customerCity": "string",
"customerState": "string",
"customerCountryCode": "st",
"customerPhone": "string",
"dfReferenceId": "string",
"acsWindowSize": 0
}
There is no change in the response JSON received.
- 3DS result: Removed
midId/netvalveMidId
API URL: paymentApiUrl /3ds/result
HTTP Method: POST
Request Body: JSON
{
"transID": "string"
}
There is no change in the response JSON received.