RuPay
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>
Updated about 2 months ago