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 page below.
Integration steps
We require the addition of a new parameter (siteId) in the following APIs.
e.g. "siteId": "0b81bdb1-d33b-48aa-8c48-a38f5cffd558"
Contact Netvalve Admin/Support to get siteId and add that in your configuration same as midId and netvalveMidId
Note:- 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 the provided midId or netvalveMidId, and smart routing will not be utilized.
Sale / Authorization API:- added
siteIdinstead ofmidId/netvalveMidIdPOST {{paymentApiUrl}}/sale AND POST {{paymentApiUrl}}/authorize Request 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 response jsonHosted payment page to create order API:- added
siteIdinstead ofmidId/netvalveMidIdPOST {{hppApiUrl}}/hpp/order Request 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 response json3DS Standalone API
3DS initialization:- added
siteIdinstead ofmidId/netvalveMidIdPOST {{paymentApiUrl}}/3ds/initialization request 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 response json3DS authentication:- Removed
midId/netvalveMidIdPOST {{paymentApiUrl}}/3ds/authentication request 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 response json3DS result:- Removed
midId/netvalveMidIdPOST {{paymentApiUrl}}/3ds/result request json :- { "transID": "string" } There is no change in response json
Swagger API documentation is also updated in the Netvale documentation link below