Introduction

❗️

Please note, that NPCI BEPG authentication is being deprecated and will no longer be supported after June 2026. EMV 3DS will be the only supported authentication mechanism for RuPay.

RuPay cards currently authenticated using BEPG will be migrated to EMV 3-D Secure (3DS)
In case you still use BEPG authentication for RuPay, you must migrate to the EMV 3DS 2.2 authentication flow to continue processing transactions successfully.

Rupay EMV 3-D Secure

RuPay adhered to the standard EMVCo 3‑D Secure specifications. As a result, you can integrate the 3DS flow for RuPay using the same implementation approach as for the major international card schemes, without any RuPay‑specific deviations. Please follow the standard EMV 3DS integration steps as described in our 3DS documentation: EMV 3DS SOAP API

You may combine network tokenisation with 3DS authentication. To do so, ensure that you obtained the token cryptogram and payment account reference as part of the tokenization process before initiating 3DS. The complete tokenization workflow is described here: Guest Checkout Tokenisation SOAP API

Since the introduction of EMV 3DS for RuPay, the authentication and authorization processing model remains unchanged. Once authentication is completed, you should proceed with authorization using the same EMV 3DS data elements and processing logic applied to other EMV‑compliant card networks.

For BINs that do not support EMV 3DS flow, you will receive the error message N:-50855 – RuPay 3DS is not supported for this card". In such cases, you may retry the transaction using payerauth via BEPG integration.

Authentication with external 3DS provider

For cases where you are using external 3DS provider, please follow the specification as described here: 3DS passthrough


📘

NOTE: BEPG Authentication will be discontinued after June 2026!

RuPay BEPG Authentication Introduction

Rupay cards can be authenticated through 2 different methods.
Redirection Flow – a payment page is redirected to the Issuer’s authentication page to complete the authentication with an OTP (One Time Password)
Seamless Flow – authentication is performed within your website

Which of above authentication methods can be used depends on its availability on the issuers’ side. For card BINs supporting both methods a seamless authentication is usually preferred.
Rupay Authentication is initiated with a “Payerauth” request containing the following additional mandatory fields.
AuthenticateTransaction parameter to be set to “true”
TermUrl parameter represents the URL to which the result of the authentication is redirected.
CardHolderBrowserParameters containing BrowserAcceptHeader, BrowserIP, BrowserLanguage, BrowserUserAgent are mandatory

API response you receive from the Gateway from a payerauth request, will help you to identify which authentication method has been selected and is supported by the issuer.

Redirection Flow

In case the issuer supports Redirection method only, the Gateway returns the parameter AcsURL in the response.
You need to perform a redirect as a POST request to the AcsURL which is generally implemented as auto-submit form. The cardholder will be redirected to the issuer’s ACS and presented with the UI to collect the authentication details - to enter one-time-password (OTP).

In the first step you submit a payerauth request including all mandatory parameters as highlighted below.
The following XML document represents an example of a Payerauth transaction using the minimum set of elements and a response indicating, that the Redirection Flow is supported by the issuer:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ipg="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1" 
    
    <soapenv:Header/>
    <soapenv:Body>
        <ipg:IPGApiOrderRequest>
            <v1:Transaction>
                <v1:CreditCardTxType>
                    <v1:StoreId>{{storeid}}</v1:StoreId>
                    <v1:Type>payerauth</v1:Type>
                </v1:CreditCardTxType>
                <v1:CreditCardData>
                    <v1:CardNumber>{{rupay.cardnumber}}</v1:CardNumber>
                    <v1:ExpMonth>{{rupay.exp_mon}}</v1:ExpMonth>
                    <v1:ExpYear>{{rupay.exp_year}}</v1:ExpYear>
                    <v1:CardCodeValue>{{rupay.cvv}}</v1:CardCodeValue>
                    <v1:Brand>RUPAY</v1:Brand>
                </v1:CreditCardData>
                <v1:CreditCard3DSecure>
                    <v1:AuthenticateTransaction>true</v1:AuthenticateTransaction>
                    <v1:TermUrl> https://test.webshop/receiveAndProcess/validate</v1:TermUrl>
                    <v1:CardHolderBrowserParameters>                       	                   <v1:BrowserAcceptHeader>text/html,application/xhtml+xml,application</v1:BrowserAcceptHeader>
<v1:BrowserIP>127.0.0.1</v1:BrowserIP>
<v1:BrowserLanguage>en-US</v1:BrowserLanguage>
<v1:BrowserUserAgent>Mozilla/5.0 (</v1:BrowserUserAgent>
                    </v1:CardHolderBrowserParameters>
                </v1:CreditCard3DSecure>
                <v1:Payment>
                    <v1:ChargeTotal>15</v1:ChargeTotal>
                    <v1:Currency>INR</v1:Currency>
                </v1:Payment>
            </v1:Transaction>
        </ipg:IPGApiOrderRequest>
    </soapenv:Body>
</soapenv:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
<ipgapi:IPGApiOrderResponse 
xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1" 
xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
<ipgapi:ApprovalCode>?:waiting authentication</ipgapi:ApprovalCode>
<ipgapi:Brand>RUPAY</ipgapi:Brand>
<ipgapi:Country>IND</ipgapi:Country>
<ipgapi:CommercialServiceProvider>IMS</ipgapi:CommercialServiceProvider>
<ipgapi:OrderId>A-3a0bb646-430e-43bb-ad3a-2170c61597b0</ipgapi:OrderId>
<ipgapi:IpgTransactionId>84438910651</ipgapi:IpgTransactionId>
<ipgapi:PaymentType>CREDITCARD</ipgapi:PaymentType>
<ipgapi:TDate>1685187954</ipgapi:TDate>
<ipgapi:TDateFormatted>2023.05.27 13:45:54 (CEST)</ipgapi:TDateFormatted>
<ipgapi:TransactionTime>1685187954</ipgapi:TransactionTime>
<ipgapi:Secure3DResponse>
<v1:Secure3DVerificationResponse>
<v1:VerificationRedirectResponse>
<v1:AcsURL>https://test/gateway/processing?rupayId=84438910651</v1:AcsURL>
<v1:TermUrl> https://test/webshop/receiveAndProcess/validate</v1:TermUrl>
</v1:VerificationRedirectResponse>
</v1:Secure3DVerificationResponse>
</ipgapi:Secure3DResponse>
</ipgapi:IPGApiOrderResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

The parameter AcsURL in the “VerificationRedirectResponse” represents the URL you need to redirect your consumers to, so that they are able to perform an authentication.

In the next step you need to POST data to the indicated AcsURL usually implemented as an auto-submit form. This needs to be implemented within your website. The cardholder will be redirected to the ACS and presented with the UI to collect the authentication details - enter one-time-password (OTP). After successful authentication the consumer is redirected back the URL you provided within TermUrl parameter.

It is recommended to perform the extended hash validation on the fields received in the response and inquiry order status, to ensure there were no data tampering in place.

In the next step you need to submit a “sale” request and include ipgTransactionId you have received in the first API response from out Gateway.

The following XML document represents an example of a SALE transaction using the minimum set of elements and a response:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header />
    <SOAP-ENV:Body>
        <ipgapi:IPGApiOrderRequest
xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
            <v1:Transaction>
                <v1:CreditCardTxType>
                    <v1:StoreId>{{storeid}}</v1:StoreId>
                    <v1:Type>sale</v1:Type>
                </v1:CreditCardTxType>
                <v1:CreditCardData>
                    <v1:CardCodeValue>{{rupay.cvv}}</v1:CardCodeValue>
                </v1:CreditCardData>
                <v1:Payment>
                    <v1:ChargeTotal>15</v1:ChargeTotal>
                    <v1:Currency>356</v1:Currency>
                </v1:Payment>
                <v1:TransactionDetails>
                    <v1:IpgTransactionId>84438910651</v1:IpgTransactionId>
                </v1:TransactionDetails>
            </v1:Transaction>
        </ipgapi:IPGApiOrderRequest>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
            <faultcode>SOAP-ENV:Client</faultcode>
            <faultstring xml:lang="en">ProcessingException</faultstring>
            <detail>
<ipgapi:IPGApiOrderResponse 
xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1" 
xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
<ipgapi:ApprovalCode>Y:095120:4438510496:PPX :314609510495</ipgapi:ApprovalCode>
<ipgapi:AVSResponse>PPX</ipgapi:AVSResponse>
<ipgapi:Brand>RUPAY</ipgapi:Brand>
<ipgapi:Country>IND</ipgapi:Country>
<ipgapi:CommercialServiceProvider>IMS</ipgapi:CommercialServiceProvider>
<ipgapi:ErrorMessage>SGS-030052: Communication Error</ipgapi:ErrorMessage>
<ipgapi:OrderId>A-3a0bb646-430e-43bb-ad3a-2170c61597b0</ipgapi:OrderId>
<ipgapi:IpgTransactionId>84438910652</ipgapi:IpgTransactionId>
<ipgapi:PaymentType>CREDITCARD</ipgapi:PaymentType>
<ipgapi:ProcessorApprovalCode>095120</ipgapi:ProcessorApprovalCode>
<ipgapi:ProcessorReferenceNumber>314717910651</ipgapi:ProcessorReferenceNumber>
<ipgapi:ProcessorResponseCode>00</ipgapi:ProcessorResponseCode>
<ipgapi:ProcessorResponseMessage>success</ipgapi:ProcessorResponseMessage>
<ipgapi:SchemeTransactionId>100112023052600000000000220467</ipgapi:SchemeTransactionId>
<ipgapi:TDate>1685190028</ipgapi:TDate>
<ipgapi:TDateFormatted>2023.05.27 14:20:28 (CEST)</ipgapi:TDateFormatted>
<ipgapi:TerminalID>00001113</ipgapi:TerminalID>
<ipgapi:TransactionResult>APPROVED</ipgapi:TransactionResult>
<ipgapi:TransactionTime>1685190028</ipgapi:TransactionTime>
</ipgapi:IPGApiOrderResponse>
</detail>
        </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Seamless Flow

In case the issuer supports Seamless flow, the Gateway returns the OtpVerificationResponse parameter after payerAuth request.
During the seamless flow, the cardholder’s authentication (OTP) is captured within your webside and OTP must be submitted to the Gateway in the next API request.

In the first step you submit a payerauth request including all mandatory parameters, e.g. AuthenticateTransaction, TermUrl, CardHolderBrowserParameters.

The following XML document represents an example of a Payerauth transaction using the minimum set of elements and a response containing parameter OtpVerificationResponse indicating, that the Seamless Flow is supported by the issuer:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ipg="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1" 
    <soapenv:Header/>
    <soapenv:Body>
        <ipg:IPGApiOrderRequest>
            <v1:Transaction>
                <v1:CreditCardTxType>
                    <v1:StoreId>{{storeid}}</v1:StoreId>
                    <v1:Type>payerauth</v1:Type>
                </v1:CreditCardTxType>
                <v1:CreditCardData>
                    <v1:CardNumber>{{rupay.cardnumber}}</v1:CardNumber>
                    <v1:ExpMonth>{{rupay.exp_mon}}</v1:ExpMonth>
                    <v1:ExpYear>{{rupay.exp_year}}</v1:ExpYear>
                    <v1:CardCodeValue>{{rupay.cvv}}</v1:CardCodeValue>
                    <v1:Brand>RUPAY</v1:Brand>
                </v1:CreditCardData>
                <v1:CreditCard3DSecure>
         <v1:AuthenticateTransaction>true</v1:AuthenticateTransaction>
         <v1:TermUrl> https://test.webshop/receiveAndProcess/validate</v1:TermUrl>
         <v1:CardHolderBrowserParameters>
              <v1:BrowserAcceptHeader>text/html,application/xhtml+xml,application</v1:BrowserAcceptHeader>
              <v1:BrowserIP>127.0.0.1</v1:BrowserIP>
              <v1:BrowserLanguage>en-US</v1:BrowserLanguage>
              <v1:BrowserUserAgent>Mozilla/5.0 (</v1:BrowserUserAgent>
         </v1:CardHolderBrowserParameters>
                </v1:CreditCard3DSecure>
                <v1:Payment>
                    <v1:ChargeTotal>123</v1:ChargeTotal>
                    <v1:Currency>INR</v1:Currency>
                </v1:Payment>
            </v1:Transaction>
        </ipg:IPGApiOrderRequest>
    </soapenv:Body>
</soapenv:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
<ipgapi:IPGApiOrderResponse 
xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1" 
xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
<ipgapi:ApprovalCode>?:waiting authentication</ipgapi:ApprovalCode>
<ipgapi:Brand>RUPAY</ipgapi:Brand>
<ipgapi:Country>IND</ipgapi:Country>
<ipgapi:CommercialServiceProvider>IMS</ipgapi:CommercialServiceProvider>
<ipgapi:OrderId>A-7263bcdf-b2b7-4797-a5a6-691181cf0510</ipgapi:OrderId>
<ipgapi:IpgTransactionId>84439794295</ipgapi:IpgTransactionId>
<ipgapi:PaymentType>CREDITCARD</ipgapi:PaymentType>
<ipgapi:TDate>1685864722</ipgapi:TDate>
<ipgapi:TDateFormatted>2023.06.04 09:45:22 (CEST)</ipgapi:TDateFormatted>
<ipgapi:TransactionTime>1685864722</ipgapi:TransactionTime>
<ipgapi:Secure3DResponse>
<v1:OtpVerificationResponse>
<v1:OtpValidityInMinutes>1</v1:OtpValidityInMinutes>
</v1:OtpVerificationResponse>
</ipgapi:Secure3DResponse>
</ipgapi:IPGApiOrderResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

While receiving the OtpVerificationResponse, you must provide an option for your carholders to collect the authentication details, such as One-Time Password.

While capturing the OTP within your website, you must submit a payerauth request to the Gateway and include a parameter VerifyOtp.

The following XML document represents an example of a payerauth transaction using the minimum set of elements. In the response you receive a confirmation, if the OTP has been verified successfully.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ipg="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1"> 
    <soapenv:Header/>
    <soapenv:Body>
        <ipg:IPGApiOrderRequest>
            <v1:Transaction>
                <v1:CreditCardTxType>
                    <v1:StoreId>{{storeid}}</v1:StoreId>
                    <v1:Type>payerauth</v1:Type>
                </v1:CreditCardTxType>
                <v1:CreditCard3DSecure>
                    <v1:OtpVerificationRequest>
                        <v1:VerifyOtp>123456</v1:VerifyOtp>
                    </v1:OtpVerificationRequest>
                </v1:CreditCard3DSecure>
                <v1:Payment>
                    <v1:ChargeTotal>123</v1:ChargeTotal>
                    <v1:Currency>INR</v1:Currency>
                </v1:Payment>
                <v1:TransactionDetails>
                    <v1:IpgTransactionId>84439794295</v1:IpgTransactionId>
                </v1:TransactionDetails>
            </v1:Transaction>
        </ipg:IPGApiOrderRequest>
    </soapenv:Body>
</soapenv:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ipgapi:IPGApiOrderResponse xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1" xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
<ipgapi:ApprovalCode>Y:00:OTP verified successfully.</ipgapi:ApprovalCode>
<ipgapi:Brand>RUPAY</ipgapi:Brand>
<ipgapi:Country>IND</ipgapi:Country>
<ipgapi:CommercialServiceProvider>IMS</ipgapi:CommercialServiceProvider>
<ipgapi:OrderId>A-7263bcdf-b2b7-4797-a5a6-691181cf0510</ipgapi:OrderId>
<ipgapi:IpgTransactionId>84439794295</ipgapi:IpgTransactionId>
<ipgapi:PaymentType>CREDITCARD</ipgapi:PaymentType>
<ipgapi:TDate>1685864722</ipgapi:TDate>
<ipgapi:TDateFormatted>2023.06.04 09:45:22 (CEST)</ipgapi:TDateFormatted>
<ipgapi:TransactionResult>APPROVED</ipgapi:TransactionResult>
<ipgapi:TransactionTime>1685864722</ipgapi:TransactionTime>
<ipgapi:Secure3DResponse>
<v1:OtpVerificationResponse>
<v1:ResponseCode>00</v1:ResponseCode>
<v1:ResponseDescription>OTP verified successfully.</v1:ResponseDescription>
</v1:OtpVerificationResponse>
</ipgapi:Secure3DResponse>	
</ipgapi:IPGApiOrderResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

It is possible to regenerate OTP within your website with submitting the parameter RegenerateOtp for IpgTransactionId. The Gateway will perform a call to NPCI in the background.

Please note, that OtpVerificationRequest may be used for both OTP verification and regeneration. In cases you need to regenerate OTP, it is mandated to include your card details and CVV.

The following XML document represents an example of a 'Payerauth' transaction using the minimum set of elements and the response including OTP validity time:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ipg="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1"> 
    <soapenv:Header/>
    <soapenv:Body>
        <ipg:IPGApiOrderRequest>
            <v1:Transaction>
                <v1:CreditCardTxType>
                    <v1:StoreId>{{storeid}}</v1:StoreId>
                    <v1:Type>payerauth</v1:Type>
                </v1:CreditCardTxType>
                <v1:CreditCardData>
                    <v1:CardCodeValue>{{rupay.cvv}}</v1:CardCodeValue>
                </v1:CreditCardData>
                <v1:CreditCard3DSecure>
                    <v1:OtpVerificationRequest>
                        <v1:RegenerateOtp>true</v1:RegenerateOtp>
                    </v1:OtpVerificationRequest>
                </v1:CreditCard3DSecure>
                <v1:Payment>
                    <v1:ChargeTotal>123</v1:ChargeTotal>
                    <v1:Currency>INR</v1:Currency>
                </v1:Payment>
                <v1:TransactionDetails>
                    <v1:IpgTransactionId>84439794295</v1:IpgTransactionId>
                </v1:TransactionDetails>
            </v1:Transaction>
        </ipg:IPGApiOrderRequest>
    </soapenv:Body>
</soapenv:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
 <SOAP-ENV:Header/>
 <SOAP-ENV:Body>
 <ipgapi:IPGApiOrderResponse
xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1"
xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi"
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
<ipgapi:ApprovalCode>?:waiting authentication</ipgapi:ApprovalCode>
<ipgapi:Brand>RUPAY</ipgapi:Brand>
<ipgapi:Country>IND</ipgapi:Country>
<ipgapi:CommercialServiceProvider>IMS</ipgapi:CommercialServiceProvider>
<ipgapi:OrderId>A-7263bcdf-b2b7-4797-a5a6-691181cf0510</ipgapi:OrderId>
<ipgapi:IpgTransactionId>84439794295</ipgapi:IpgTransactionId>
<ipgapi:PaymentType>CREDITCARD</ipgapi:PaymentType>
<ipgapi:TDate>1685864722</ipgapi:TDate>
<ipgapi:TDateFormatted>2023.06.04 09:45:22 (CEST)</ipgapi:TDateFormatted>
<ipgapi:TransactionTime>1685864722</ipgapi:TransactionTime>
<ipgapi:Secure3DResponse>
<v1:OtpVerificationResponse>
<v1:OtpValidityInMinutes>1</v1:OtpValidityInMinutes>
</v1:OtpVerificationResponse>
</ipgapi:Secure3DResponse>
</ipgapi:IPGApiOrderResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

It is recommended to perform an inquiry call to ensure the authentication has been successful. In the next step you need to submit a sale request and include IpgTransactionId you have received in the first API response from the Gateway.

The following XML document represents an example of a sale transaction using the minimum set of
elements and a a response you receive from the Gateway:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header />
    <SOAP-ENV:Body>
        <ipgapi:IPGApiOrderRequest
      xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
            <v1:Transaction>
                <v1:CreditCardTxType>
                    <v1:StoreId>{{storeid}}</v1:StoreId>
                    <v1:Type>sale</v1:Type>
                </v1:CreditCardTxType>
                <v1:CreditCardData>
                    <v1:CardCodeValue>{{rupay.cvv}}</v1:CardCodeValue>
                </v1:CreditCardData>
                <v1:Payment>
                    <v1:ChargeTotal>15</v1:ChargeTotal>
                    <v1:Currency>356</v1:Currency>
                </v1:Payment>
                <v1:TransactionDetails>
                    <v1:IpgTransactionId>84439794295</v1:IpgTransactionId>
                </v1:TransactionDetails>
            </v1:Transaction>
        </ipgapi:IPGApiOrderRequest>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
<ipgapi:IPGApiOrderResponse
xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1"
xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi"
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
<ipgapi:ApprovalCode>Y:131636:4439794296:PPX :315513794295</ipgapi:ApprovalCode>
<ipgapi:AVSResponse>PPX</ipgapi:AVSResponse>
<ipgapi:Brand>RUPAY</ipgapi:Brand>
<ipgapi:Country>IND</ipgapi:Country>
<ipgapi:CommercialServiceProvider>IMS</ipgapi:CommercialServiceProvider>
<ipgapi:OrderId>A-7263bcdf-b2b7-4797-a5a6-691181cf0510</ipgapi:OrderId>
<ipgapi:IpgTransactionId>84439794296</ipgapi:IpgTransactionId>
<ipgapi:PaymentType>CREDITCARD</ipgapi:PaymentType>
<ipgapi:ProcessorApprovalCode>131636</ipgapi:ProcessorApprovalCode>
<ipgapi:ProcessorReferenceNumber>315513794295</ipgapi:ProcessorReferenceNumber>
<ipgapi:ProcessorResponseCode>00</ipgapi:ProcessorResponseCode>
<ipgapi:ProcessorResponseMessage>success</ipgapi:ProcessorResponseMessage>
<ipgapi:SchemeTransactionId>100122023060400000000000222691</ipgapi:SchemeTransactionId>
<ipgapi:TDate>1685864791</ipgapi:TDate>
<ipgapi:TDateFormatted>2023.06.04 09:46:31 (CEST)</ipgapi:TDateFormatted>
<ipgapi:TerminalID>00001113</ipgapi:TerminalID>
<ipgapi:TransactionResult>APPROVED</ipgapi:TransactionResult>
<ipgapi:TransactionTime>1685864791</ipgapi:TransactionTime>
        </ipgapi:IPGApiOrderResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Rupay Network Token Provisioning with external Token Provider

This feature allows you to use your own token service provider and submit the token with cryptogram to the Gateway without provisioning request. The token you obtained from external token provider must be submitted in CardNumber element together with the token cryptogram.

The following XML document represents an example of a Sale transaction using the minimum set of elements:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ipgapi:IPGApiOrderRequest xmlns:ipgapi="http://ipgonline.com/ipgapi/schemas/ipgapi" xmlns:v1="http://ipgonline.com/ipgapi/schemas/v1">
            <v1:Transaction>
                <v1:CreditCardTxType>
                    <v1:StoreId>330821</v1:StoreId>
                    <v1:Type>sale</v1:Type>
                </v1:CreditCardTxType>
                <v1:CreditCardData>
                    <v1:CardNumber>630562XXXXXX9484</v1:CardNumber>
                    <v1:ExpMonth>12</v1:ExpMonth>
                    <v1:ExpYear>27</v1:ExpYear>
                    <v1:CardCodeValue>XXX</v1:CardCodeValue>
                </v1:CreditCardData>
                <v1:TokenCryptogram>AJkBA2VzYAAgIwUVFDgTAAAAAAA=</v1:TokenCryptogram>
                 <v1:Payment>
                     <v1:ChargeTotal>65.50</v1:ChargeTotal>
                     <v1:Currency>356</v1:Currency>
                 </v1:Payment>
                 <v1:TransactionDetails>
                     <v1:IpgTransactionId>84486024295</v1:IpgTransactionId>
                 </v1:TransactionDetails>
            </v1:Transaction>
         </ipgapi:IPGApiOrderRequest>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Want a quick overview?