Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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, and Amount Limits.

To enable Smart Routing configurations, please contact the Netvalve Admin.

Below are the integration steps for using Netvalve APIs with the Smart Routing feature. Ensure that the Netvalve team has enabled Smart Routing before proceeding with these steps.

Prerequisites

  • Smart routing needs to be enabled at the Netvalve level:- By default, the global flag for smart routing is enabled within the Netvalve microservice.

  • Smart routing needs to be enabled at the Client/Account level:- Smart routing functionality is disabled by default for specific clients/accounts. To enable smart routing for a particular client/account, the flag needs to be set via the Back Office Portal by a Netvalve Admin. Please contact the Netvalve Admin to request the activation of smart routing for your client/account. more details here

  • Smart routing retry needs to be enabled at the Netvalve level:- The global flag for smart routing is set within the Netvalve microservice, and by default, it is disabled.

  • Smart routing retry needs to be enabled at the Client/Account level:- Smart routing for specific clients/accounts can be enabled via the Back Office Portal by a Netvale Admin. By default, this feature is disabled. Please reach out to the Netvalve Admin to request the activation of smart routing for your client/account.

Integration steps

We need to send a new parameter (siteId) in the below-mentioned APIs

"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 siteId instead of midId / netvalveMidId

    POST {{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 json
  • Hosted payment page to create order API:- added siteId instead of midId / netvalveMidId

    POST {{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 json
  • 3DS Standalone API

    1. 3DS initialization:- added siteId instead of midId / netvalveMidId

      POST {{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 json
    2. 3DS authentication:- Removed midId / netvalveMidId

      POST {{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 json
    3. 3DS result:- Removed midId / netvalveMidId

      POST {{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

https://docs.netvalve.com/

  • No labels