These docs are for v3.2.6. Click to read the latest docs for v4.3.0.

Payload parameters

Payment Request Parameter


📘

Data types

A - Alphabet
N - Numeric
AN - AlphaNumeric
C - Characters (AlphaNumeric and symbols)

📘

Mandatory types

M - Mandatory
C - Conditional (Mandatory for some features only)
O - Optional

Request XML
Full request elements List:

<PaymentRequest>
  <timeStamp></timeStamp>
  <merchantID></merchantID>
  <uniqueTransactionCode></uniqueTransactionCode>
  <desc></desc>
  <amt></amt>
  <currencyCode></currencyCode>
  <paymentChannel></paymentChannel>
  <pan></pan>
  <expiry>
    <month></month>
    <year></year>
  </expiry>
  <storeCardUniqueID></storeCardUniqueID>
  <clientIP></clientIP>
  <panBank></panBank>
  <panCountry></panCountry>
  <cardholderName></cardholderName>
  <cardholderEmail></cardholderEmail>
  <userDefined1></userDefined1>
  <userDefined2></userDefined2>
  <userDefined3></userDefined3>
  <userDefined4></userDefined4>
  <userDefined5></userDefined5>
  <storeCard></storeCard>
  <ippTransaction></ippTransaction>
  <installmentPeriod></installmentPeriod>
  <interestType></interestType>
  <recurring></recurring>
  <invoicePrefix></invoicePrefix>
  <recurringAmount></recurringAmount>
  <allowAccumulate></allowAccumulate>
  <maxAccumulateAmt></maxAccumulateAmt>
  <recurringInterval></recurringInterval>
  <recurringCount></recurringCount>
  <chargeNextDate></chargeNextDate>
  <chargeOnDate></chargeOnDate>
  <promotion></promotion>
  <request3DS></request3DS>
  <statementDescriptor></statementDescriptor>
  <agentCode></agentCode>
  <channelCode></channelCode>
  <paymentExpiry></paymentExpiry>
  <mobileNo></mobileNo>
  <subMerchantList>
    <subMerchant merchantID="" uniqueTransactionCode="" amt="" desc="" />
    <subMerchant merchantID="" uniqueTransactionCode="" amt="" desc="" />
  </subMerchantList>
  <qrData></qrData>
  <qrOption></qrOption>
  <qrType></qrType>
  <tokenizeWithoutAuthorization></tokenizeWithoutAuthorization>
  <rateQuoteID></rateQuoteID>
  <originalAmount></originalAmount>
  <customRouteID></customRouteID>
  <returnUrl></returnUrl>
  <backendUrl></backendUrl>
  <airlineTransaction></airlineTransaction>
  <airlinePassengers>
    <airlinePassenger lastName="" firstName="" middleName="" title="" email="" phone="" type="" purchaser="" ticketIssueDate="" ticketNo="" issuingCarrierCode="" customerCode="" travelAgencyName="" travelAgencyCode="" travelAgencyInvoice="" travelPlanName="" reservationSystem="" documentType="">
      <airlineLegs>
        <airlineLeg legNo="" carrierCode="" flightNo="" origin="" destination="" departureTime="" arrivalTime="" serviceClass="" stopOverCode="" fareBasisCode="" endorcementOrRestriction="" fare="" taxes="" fee="" departureTaxCurrency="" departureTaxAmount="" />
        <airlineLeg legNo="" carrierCode="" flightNo="" origin="" destination="" departureTime="" arrivalTime="" serviceClass="" stopOverCode="" fareBasisCode="" endorcementOrRestriction="" fare="" taxes="" fee="" departureTaxCurrency="" departureTaxAmount="" />
      </airlineLegs>
    </airlinePassenger>
    <airlinePassenger lastName="" firstName="" middleName="" title="" email="" phone="" type="" purchaser="" ticketIssueDate="" ticketNo="" issuingCarrierCode="" customerCode="" travelAgencyName="" travelAgencyCode="" travelAgencyInvoice="" travelPlanName="" reservationSystem="" documentType="">
      <airlineLegs>
        <airlineLeg legNo="" carrierCode="" flightNo="" origin="" destination="" departureTime="" arrivalTime="" serviceClass="" stopOverCode="" fareBasisCode="" endorcementOrRestriction="" fare="" taxes="" fee="" departureTaxCurrency="" departureTaxAmount="" />
        <airlineLeg legNo="" carrierCode="" flightNo="" origin="" destination="" departureTime="" arrivalTime="" serviceClass="" stopOverCode="" fareBasisCode="" endorcementOrRestriction="" fare="" taxes="" fee="" departureTaxCurrency="" departureTaxAmount="" />
      </airlineLegs>
    </airlinePassenger>
  </airlinePassengers>
  <addresses>
    <billing>
      <address1></address1>
      <address2></address2>
      <address3></address3>
      <postalCode></postalCode>
      <city></city>
      <state></state>
      <countryCode></countryCode>
    </billing>
    <shipping>
      <address1></address1>
      <address2></address2>
      <address3></address3>
      <postalCode></postalCode>
      <city></city>
      <state></state>
      <countryCode></countryCode>
    </shipping>
  </addresses>
  <threeDs2Parameters> 
   <customerContact>
      <homePhone>
         <countryCode></countryCode>
         <subscriberNo></subscriberNo>
      </homePhone>
      <mobilePhone>
         <countryCode></countryCode>
         <subscriberNo></subscriberNo>
      </mobilePhone>
      <workPhone>
         <countryCode></countryCode>
         <subscriberNo></subscriberNo>
      </workPhone>
   </customerContact>
    <cardholderAccountInfo>
      <accountAgeIndicator></accountAgeIndicator>
      <accountChangeDate></accountChangeDate>
      <accountDate></accountDate>
      <accountPasswordDate></accountPasswordDate>
      <paymentAccountAge></paymentAccountAge>
      <shipAddrUsageDate></shipAddrUsageDate>
      <accountChangeIndicator></accountChangeIndicator>
      <accountPasswordChangeIndicator></accountPasswordChangeIndicator>
      <nbPurchase></nbPurchase>
      <nbProvisionAttemptDay></nbProvisionAttemptDay>
      <nbTransactionDay></nbTransactionDay>
      <nbTransactionYear></nbTransactionYear>
      <paymentAccountAgeIndicator></paymentAccountAgeIndicator>
      <shipAddrUsageIndicator></shipAddrUsageIndicator>
      <shipNameIndicator></shipNameIndicator>
      <suspiciousAccountActivity></suspiciousAccountActivity>
   </cardholderAccountInfo>
  <merchantRiskInfo>
      <preorderDate></preorderDate>
      <deliveryEmailAddress></deliveryEmailAddress>
      <deliveryTimeFrame></deliveryTimeFrame>
      <giftCardAmount></giftCardAmount>
      <giftCardCount></giftCardCount>
      <giftCardCurrency></giftCardCurrency>
      <preorderPurchaseIndicator></preorderPurchaseIndicator>
      <reorderItemsIndicator></reorderItemsIndicator>
      <shippingIndicator></shippingIndicator>
   </merchantRiskInfo>
  </threeDs2Parameters>
  <encCardData></encCardData>
</PaymentRequest>
string xml = "<PaymentRequest>" +
 "<version>" + apiVersion + "</version>" +                                      
 "<timeStamp>" + timeStamp + "</timeStamp>" +                                   
 "<merchantID>" + merchantID + "</merchantID>" +                                
 "<uniqueTransactionCode>" + uniqueTransactionCode + "</uniqueTransactionCode>" 
 "<desc>" + desc + "</desc>" +                                                  
 "<amt>" + amt + "</amt>" +                                                     
 "<currencyCode>" + currencyCode + "</currencyCode>" +                          
 "<paymentChannel></paymentChannel>" +    
 "<pan></pan>" +
 "<expiry><month></month><year></year></expiry>" +
 "<storeCardUniqueID></storeCardUniqueID>" + 
 "<clientIP></clientIP>" +
 "<panBank></panBank>" +                                                        
 "<panCountry></panCountry>" +                                                  
 "<cardholderName>" + cardholderName + "</cardholderName>" +                    
 "<cardholderEmail></cardholderEmail>" +                                        
 "<payCategoryID></payCategoryID>" +                                            
 "<userDefined1></userDefined1>" +                                              
 "<userDefined2></userDefined2>" +                                              
 "<userDefined3></userDefined3>" +                                              
 "<userDefined4></userDefined4>" +                                              
 "<userDefined5></userDefined5>" +                                              
 "<storeCard></storeCard>" +    
 "<ippTransaction></ippTransaction>" +
 "<installmentPeriod></installmentPeriod>" +
 "<interestType></interestType>" +
 "<recurring></recurring>" +                                                    
 "<invoicePrefix></invoicePrefix>" +                                            
 "<recurringAmount></recurringAmount>" +                                        
 "<allowAccumulate></allowAccumulate>" +                                        
 "<maxAccumulateAmt></maxAccumulateAmt>" +                                      
 "<recurringInterval></recurringInterval>" +                                    
 "<recurringCount></recurringCount>" +                                          
 "<chargeNextDate></chargeNextDate>" +
 "<chargeOnDate></chargeOnDate>" +  
 "<ippTransaction></ippTransaction>" +				    		                
 "<installmentPeriod></installmentPeriod>" +			    	                
 "<interestType></interestType>" +					    		                
 "<promotion></promotion>" +                                                    
 "<request3DS></request3DS>" +						    		                
 "<statementDescriptor></statementDescriptor>" +		    	                
 "<agentCode></agentCode>" +							    	                
 "<channelCode></channelCode>" +						    	                
 "<paymentExpiry></paymentExpiry>" +					    	                
 "<mobileNo></mobileNo>" +	
 "<subMerchantList>" +
 		"<subMerchant merchantID=\"\" uniqueTransactionCode=\"\" amt=\"\" desc=\"\" />" +
    "<subMerchant merchantID=\"\" uniqueTransactionCode=\"\" amt=\"\" desc=\"\" />" +
 "</subMerchantList>" +
 "<qrData></qrData>" +
 "<qrOption></qrOption>" +
 "<tokenizeWithoutAuthorization></tokenizeWithoutAuthorization>" +   
 "<rateQuoteID></rateQuoteID>" +
 "<originalAmount></originalAmount>" +
 "<customRouteID></customRouteID>" +
 "<returnUrl></returnUrl>" +
 "<backendUrl></backendUrl>" +
 "<airlineTransaction></airlineTransaction>" +
 "<airlinePassengers>" +
 		"<airlinePassenger lastName=\"\" firstName=\"\" middleName=\"\" title=\"\" email=\"\" phone=\"\" type=\"\" purchaser=\"\" ticketIssueDate=\"\" ticketNo=\"\" issuingCarrierCode=\"\" customerCode=\"\" travelAgencyName=\"\" travelAgencyCode=\"\" travelAgencyInvoice=\"\" travelPlanName=\"\" reservationSystem=\"\" documentType=\"\" >" +
     "<airlineLegs>" +
       "<airlineLeg legNo=\"\" carrierCode=\"\" flightNo=\"\" origin=\"\"  destination=\"\" departureTime=\"\" arrivalTime=\"\" serviceClass=\"\"  stopOverCode=\"\" fareBasisCode=\"\" endorcementOrRestriction=\"\" fare=\"\"  taxes=\"\" fee=\"\" departureTaxCurrency=\"\" departureTaxAmount=\"\" />" +
       "<airlineLeg legNo=\"\" carrierCode=\"\" flightNo=\"\" origin=\"\" destination=\"\" departureTime=\"\" arrivalTime=\"\" serviceClass=\"\"  stopOverCode=\"\" fareBasisCode=\"\" endorcementOrRestriction=\"\" fare=\"\" taxes=\"\"  fee=\"\" departureTaxCurrency=\"\" departureTaxAmount=\"\" />" +
     "</airlineLegs>" +
   "</airlinePassenger>" +
 "<airlinePassenger lastName=\"\" firstName=\"\" middleName=\"\" title=\"\" email=\"\"  phone=\"\" type=\"\" purchaser=\"\" ticketIssueDate=\"\" ticketNo=\"\" issuingCarrierCode=\"\" customerCode=\"\" travelAgencyName=\"\" travelAgencyCode=\"\" travelAgencyInvoice=\"\" travelPlanName=\"\" reservationSystem=\"\" documentType=\"\" >" +
   "<airlineLegs>" +
     "<airlineLeg legNo=\"\" carrierCode=\"\" flightNo=\"\" origin=\"\" destination=\"\"  departureTime=\"\" arrivalTime=\"\" serviceClass=\"\" stopOverCode=\"\" fareBasisCode=\"\" endorcementOrRestriction=\"\" fare=\"\" taxes=\"\" fee=\"\" departureTaxCurrency=\"\" departureTaxAmount=\"\" />" +
     "<airlineLeg legNo=\"\" carrierCode=\"\" flightNo=\"\" origin=\"\" destination=\"\"  departureTime=\"\" arrivalTime=\"\" serviceClass=\"\" stopOverCode=\"\" fareBasisCode=\"\" endorcementOrRestriction=\"\" fare=\"\" taxes=\"\" fee=\"\" departureTaxCurrency=\"\" departureTaxAmount=\"\" />" +
    "</airlineLegs>" +
  "</airlinePassenger>" +
 "</airlinePassengers>" +
  "<addresses>" +
		"<billing>" +
			"<address1></address1>" +
			"<address2></address2>" +
			"<address3></address3>" +
			"<postalCode></postalCode>" +
			"<city></city>" +
			"<state></state>" +
			"<countryCode></countryCode>" +
		"</billing>" +
	"</addresses>" +                  
 "<hashValue>" + hash + "</hashValue>" +                                      
 "</PaymentRequest>";

Request Attribute

VariableData Type / LengthMandatoryDescription
timeStampN 12ODate and time of request Message. (if empty, system will take the server received date time.)
Request DateTime in format of "ddMMyyHHmmss"
merchantIDAN 15MMerchant ID at 2C2P PGW.
uniqueTransactionCodeAN 20 / N 12MUnique merchant order number.
Example: 00000000010000091203

*Limited to 12 numerics when requesting for APM payment for Myanmar.
descAN 50MPayment detail description.
HTML Encode description if contain Symbols.
amtN 12MAmount formatted into 12 digit format with leading zero.
Minor unit appended to the last digit depending on number of Minor unit specified in ISO 4217.
example:
Currency: 702 (SGD)
Minor unit: 2
Transaction amount: 15.00 SGD
12 digit formatted amount: 000000001500

Currency: 392 (JPY)
Minor unit: 0
Transaction amount: 100 JPY
12 digit formatted amount: 000000000100
currencyCodeN 3MTransaction currency code in 3 numeric value as specified in ISO 4217.
Example :764 = Thai Baht

if empty, default value will use merchant's base currency.

Currency Code List
paymentChannelAN 10OAllow merchant to accept payment from 3rd party.

Available Payment Channels option list
accountNoANCAccount No of the mentioned Payment Channel.
Mandatory for following Payment Channels

- TRUEMONEY
- WAVE
- OKDOLLAR
- OVO
storeCardUniqueIDAN 20OTo make payment with tokenized card
clientIPC 15OClient's IP address, used for fraud checking if provided.
panBankAN 50CCredit Card Issuer Bank name

Mandatory for Credit card payment.
panCountryA 2CCredit card issuer's country in 2 Numeric format.
Example : TH , SG (following ISO 3166-1 alpha 2)

Mandatory for Credit card payment.
cardholderNameAN 50MCardholder name.
cardholderEmailC 30MCustomer's email address used for :

- receive payment receipt from 2C2P PGW.
- authentication for 3DS cards payment.
userDefined1C 150OFor merchant to submit merchant's specific data.
userDefined2C 150OFor merchant to submit merchant's specific data.
userDefined3C 150OFor merchant to submit merchant's specific data.
userDefined4C 150OFor merchant to submit merchant's specific data.
userDefined5C 150OFor merchant to submit merchant's specific data.
storeCardA 1OTo enable tokenization feature for credit card payment.

N - Disable tokenization option (default)
Y - Enable tokenization option
ippTransactionA 1OTo enable IPP payment feature for credit card payment.

N - Non IPP payment (default)
Y - IPP payment
installmentPeriodN 2CIPP installment period.

Only required if IPP is enabled.
interestTypeA 1CIf set to C, interest is paid by Customer. If set to M, interest is paid by Merchant.

Only required if IPP is enabled.
recurringA 1OTo enable RPP (Recurring Payment Plan) transaction feature for credit card payment.
recurring unique ID will be returned on response message if this option is enabled.

N - Disable RPP feature (default)
Y - Enable RPP feature
M - Enable RPP feature with 00/00 expiry date.
invoicePrefixAN 15CRPP transaction will add 5 additional digit behind invoicePrefix as invoice number.

Only required if RPP is enabled.
recurringAmountN 12OThe amount to be charged on RPP process.
If not set, recurring amount will use Transaction Amount.

Amount formatted into 12 digit format with leading zero.
Minor unit appended to the last digit depending on number of Minor unit specified in ISO 4217.
example:
Currency: 702 (SGD)
Minor unit: 2
Transaction amount: 15.00 SGD
12 digit formatted amount: 000000001500

Currency: 392 (JPY)
Minor unit: 0
Transaction amount: 100 JPY
12 digit formatted amount: 000000000100
allowAccumulateA 1CTo allow accumulation of failed RPP transaction amount.

N - Do not allow
Y - Allow

Only required if RPP is enabled.
maxAccumulateAmtN 12CRPP will be terminated if accumulated failed RPP transaction amount is over maxAccumulateAmt.

Only required if allowAccumulate is allowed.
recurringIntervalN 3CTo indicate the frequency of RPP by days.
minimum is every 1 day.
maximum is every 365 days (1 year).

Only required if RPP is enabled.
recurringCountN 5CTo indicate how many times to charge the customer with RPP.

set to '0' to charge indefinitely until terminated manually.

Only required if RPP is enabled.
chargeNextDateN 8CTo indicate the next RPP charge date.
format: ddMMyyyy.
if not set, default value is current date + recurring interval.

Only required if RPP with recurring_interval is set.
chargeOnDateN 4OTo indicate the specific RPP charge date.
format: ddMM
the MM is only used if
chargeNextDate is not set.
Otherwise the dd will be used for every month.

Only required if RPP is enabled and
recurringInterval is not used.
promotionAN 20OPromotion Code for the payment.

Example: PromoMC for MasterCard payment only,
PromoVC for Visa card payment only.
request3DSA 1OTo enable / disable / Force 3DS authentication

Y - Do 3DS authentication (default)
N - No 3DS authentication
F - Force 3DS authentication (only ECI 02/05 are accepted)
statementDescriptorAN 20OTo set dynamic statement descriptor.
only alphanumeric in latin character is allowed.
agentCodeAN 30CAPM Agent Codes

Only required for APM payments.
channelCodeAN 30OAPM Channel Codes
If channel Code is left blank, system will use default value "OVERTHECOUNTER".

Only required for APM payments.
paymentExpiryC 19OTo specify payment expiry date/time for APM payments.
format: yyyy-MM-dd HH:mm:ss

By default, will use expiry date/time configured on merchant profile.
mobileNoN 10CCustomer's mobile number.

Only required for APM payments.
subMerchantListARRAYOsubMerchant information array
subMerchantElementOsubMerchant element
subMerchant - merchantIDAN 15MSubMerchant ID at 2C2P PGW.

Mandatory if subMerchant feature is used.
subMerchant - uniqueTransactionCodeAN 20 / N 12MInvoice number to be recorded into subMerchant account.

Mandatory if subMerchant feature is used.
subMerchant - amtN 12MAmount formatted into 12 digit format with leading zero.
Minor unit appended to the last digit depending on number of Minor unit specified in ISO 4217.

Mandatory if subMerchant feature is used.
subMerchant - descAN 50MPayment detail description.
HTML Encode description if contain Symbols.

Mandatory if subMerchant feature is used.
qrDataC 1000CQR data scanned from customer's QR code
qrOptionN 1OData type returned when generating QR code.

Options available:
1 - raw qr data.
2 - base64 of QR image in PNG format.
3 - QR image url.

only applicable for the following channels:

- WCQR
- ALIQR
- EMVQR
qrTypeC 2ORequesting QR Type for "EMVQR" Type of payment Option

EM – mVisa / MasterPass QR PP – Prompt Pay QR PN – PayNow QR PE – Mastercard QR AP – AirPay QR GI – TG Wallet QR
tokenizeWithoutAuthorizationA 1OY - Perform tokenization only
N - Perform normal authorization (default)

Only applicable for Credit Card payments.
rateQuoteIDC 50CRate Quotation ID
originalAmountN 12CTransaction amount in merchant's base currency
customRouteIDC 50OCustom route id
returnUrlC 255OFrontend return url for 2C2P PGW to redirect
customer back to merchant after completing the payment. Use "https" to ensure secure communication
returned back to merchant.
backendUrlC 255OBackend return url for 2C2P PGW to notify
payment result to merchant after payment
completed.
This URL will also be used to notify merchant
when offline payment (such as CASH payments) is completed.
Use "https" to ensure secure communication
returned back to merchant.
airlineTransactionC 1OCheck if the transaction is airline data
airlinePassengersARRAYOairlinePassengers information array
airlinePassengerElementCairlinePassengers element
airlinePassenger - lastNameC 50MPassenger's last name
airlinePassenger - firstNameC 50OPassenger's first name
airlinePassenger - middleNameC 50OPassenger's middle name
airlinePassenger - titleC 50OPassenger's title
airlinePassenger - emailC 150OPassenger's email address
airlinePassenger - phoneC 15OPassenger's mobile phone with country prefix
airlinePassenger - typeC 32OType of Passenger

- ADT : Adult
- CNN : Child
- INF : Infant
- YTH : Youth
- STU : Student
- SCR : Senior Citizen
- MIL : Military
airlinePassenger - purchaserC 1MIndicate whether this is passenger. (Y/N)
airlinePassenger - ticketIssueDateC 8MTicket issue date in local time format : yyyyMMdd
airlinePassenger - ticketNoC 13MAirline ticket no
airlinePassenger - issuingCarrierCodeC 2MTicket issuing airline
airlinePassenger - issuingCarrierNameC 50MTicket issuing airline name
airlinePassenger - customerCodeC 17OCustomer code. E.g frequent flyer no
airlinePassenger - travelAgencyNameC 25OTravel agency name if the ticket is sold through agency
airlinePassenger - travelAgencyCodeC 8OTravel agency code if the ticket is sold through agency
airlinePassenger - travelAgencyInvoiceC 50OTravel agency invoice if the ticket is sold through agency
airlinePassenger - travelPlanNameC 50OTravel agency plan if the ticket is sold through agency
airlinePassenger - reservationSystemC 4OAirline ticket reservation system. (Must be 4 character)
airlinePassenger - documentTypeC 3OPassenger's document type
airlinePassenger - identificationNoC 50MPassenger's identification document no.
airlinePassenger - airlineLegsElementOAirlineLegs element
airlinePassenger - airlineLegs - legNoN 1MSequence of airline leg
airlinePassenger - airlineLegs - carrierCodeC 2M2 character airline carrier code
airlinePassenger - airlineLegs - fightNoC 5MFlight no.
airlinePassenger - airlineLegs - originC 3MIndicates the destination city's airport code
airlinePassenger - airlineLegs - destinationC 3MIndicates the destination city's airport code
airlinePassenger - airlineLegs - departureTimeC 19MDeparture time in local time yyyy-MM-dd HH:mm:ss
airlinePassenger - airlineLegs - arrivalTimeC 19MArrival time in local time yyyy-MM-dd HH:mm:ss
airlinePassenger - airlineLegs - serviceClassC 1MService class for airline

N : stopover is not restricted
Y : stopover is restricted
airlinePassenger - airlineLegs - stopOverCodeC 1MIndicate if stop allow or not
airlinePassenger - airlineLegs - fareBasisCodeC 6MAirline fare basis code
airlinePassenger - airlineLegs - endorcementOrRestrictionC 12MAny restriction applied on ticket. Eg:

- RESTRICTED
- NORESTRICED
airlinePassenger - airlineLegs - flightTypeC 32OWhether flight is one-way or return
airlinePassenger - airlineLegs - fareN 12OFare for the leg in payment currency
airlinePassenger - airlineLegs - taxesN 12OTaxes for the leg in payment currency
airlinePassenger - airlineLegs - feeN 12OFee for the leg in payment currency
airlinePassenger - airlineLegs - departureTaxCurrencyN 3ODeparture tax currency for leg
airlinePassenger - airlineLegs - departureTaxAmountN 12ODeparture tax amount for the leg
ticketIssuerAddressElementCticketIssuerAddress element
Mandatory if airline transaction = Y
ticketIssuerAddress - address1C 255CTicket issuer address 1
ticketIssuerAddress - address2C 255OTicket issuer address 2
ticketIssuerAddress - address3C 255OTicket issuer address 3
ticketIssuerAddress - postalCodeAN 10MTicket issuer address postal code
ticketIssuerAddress - cityC 255MTicket issuer address city
ticketIssuerAddress - stateC 255MTicket issuer address state
ticketIssuerAddress - countryC 3MTicket issuer address country
addressesArrayCAddress information array
addresses - billingElementCBilling address object
addresses - billing - address1C 255MAddress line 1
addresses - billing - address2C 255OAddress line 2
addresses - billing - address3AN 255OAddress line 3
addresses - billing - postalCodeAN 10MAddress postal code
addresses - billing - cityC 225MAddress city
addresses - billing - stateC 225OAddress state
addresses - billing - countryCodeN 3MAddress country in N3 of ISO3166 format
addresses - shippingElementCShipping address object
addresses - shipping - address1C 255MAddress line 1
addresses - shipping - address2C 255OAddress line 2
addresses - shipping - address3AN 255OAddress line 3
addresses - shipping - postalCodeAN 10MAddress postal code
addresses - shipping - cityC 225MAddress city
addresses - shipping - stateC 225OAddress state
addresses - shipping - countryCodeN 3MAddress country in N3 of ISO3166 format
threeDs2ParametersElementC3DS 2 Parameters Objects
threeDs2Parameters - customerContact - homePhone - countryCodeC 3OHome phone country code.
threeDs2Parameters - customerContact - homePhone - subscriberNoC 15OHome phone subscriber number.
threeDs2Parameters - customerContact - mobilePhone - countryCodeC 3OMobile phone country code.
threeDs2Parameters - customerContact - mobilePhone - subscriberNoC 15OMobile phone subscriber number.
threeDs2Parameters - customerContact - workPhone - countryCodeC 3OWork phone country code.
threeDs2Parameters - customerContact - workPhone - subscriberNoC 15OWork phone subscriber number.
threeDs2Parameters - CardholderAccountInfo - accountAgeIndicatorC 2OaccountAgeIndicator

• 01 = No account (guest check-out)
• 02 = Created during this transaction
• 03 = Less than 30 days
• 04 = 30-60 days
• 05 = More than 60 days
threeDs2Parameters - CardholderAccountInfo - accountChangeDateC 8OFormat: YYYYMMDD
threeDs2Parameters - CardholderAccountInfo - accountDateC 8OFormat: YYYYMMDD
threeDs2Parameters - CardholderAccountInfo - accountPasswordDateC 8OFormat: YYYYMMDD
threeDs2Parameters - CardholderAccountInfo - paymentAccountAgeC 8OFormat: YYYYMMDD
threeDs2Parameters - CardholderAccountInfo - shipAddrUsageDateC 8ODate when the shipping address used for this transaction was first used with the 3DS Requestor.

Format: YYYYMMDD
threeDs2Parameters - CardholderAccountInfo - accountChangeIndicatorC 2OaccountChangeIndicator

• 01 = Changed during this transaction
• 02 = Less than 30 days
• 03 = 30-60 days
• 04 = More than 60 days
threeDs2Parameters - CardholderAccountInfo - accountPasswordChangeIndicatorC 2OaccountPasswordChangeIndicator

• 01 = No change
• 02 = Changed during this transaction
• 03 = Less than 30 days
• 04 = 30-60 days
• 05 = More than 60 days
threeDs2Parameters - CardholderAccountInfo - nbPurchaseC 4ONumber of purchases with this cardholder account during the previous six months.

maximum is 9999.
threeDs2Parameters - CardholderAccountInfo - nbProvisionAttemptDayC 3ONumber of Add Card attempts in the last 24 hours.
threeDs2Parameters - CardholderAccountInfo - nbTransactionDayC 3ONumber of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous 24 hours.
threeDs2Parameters - CardholderAccountInfo - nbTransactionYearC 3ONumber of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year.
threeDs2Parameters - CardholderAccountInfo - paymentAccountAgeIndicatorC 2OpaymentAccountAgeIndicator

• 01 = No account (guest check-out)
• 02 = During this transaction
• 03 = Less than 30 days
• 04 = 30-60 days
• 05 = More than 60 days
threeDs2Parameters - CardholderAccountInfo - shipAddrUsageIndicatorC 2Oindicates when the shipping address used for this transaction was first used with the 3DS Requestor.

Values accepted:
• 01 = This transaction
• 02 = Less than 30 days
• 03 = 30-60 days
• 04 = More than 60 days
threeDs2Parameters - CardholderAccountInfo - shipNameIndicatorC 2OshipNameIndicator

• 01 = Account Name identical to shipping Name
• 02 = Account Name different than shipping Name
threeDs2Parameters - CardholderAccountInfo - suspiciousAccountActivityC 2OsuspiciousAccountActivity

• 01 = No suspicious activity has been observed
• 02 = Suspicious activity has been observed
threeDs2Parameters - merchantRiskInfo - preorderDateC 8OPre order date
threeDs2Parameters - merchantRiskInfo - deliveryEmailAddressC 254OEmail address
threeDs2Parameters - merchantRiskInfo - deliveryTimeFrameC 2OdeliveryTimeFrame

• 01 = Electronic Delivery
• 02 = Same day shipping
• 03 = Overnight shipping
• 04 = Two-day or more shipping
threeDs2Parameters - merchantRiskInfo - giftCardAmountC 15OFor prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s) in major units (for example, USD 123.45 is 123).
threeDs2Parameters - merchantRiskInfo - giftCardCountC 2OgiftCardCount

valid values 00-99
threeDs2Parameters - merchantRiskInfo - giftCardCurrencyN 3OgiftCardCurrency

ISO4217.N3 Format
threeDs2Parameters - merchantRiskInfo - preorderPurchaseIndicatorC 2OpreorderPurchaseIndicator

• 01 = Merchandise available
• 02 = Future availability
threeDs2Parameters - merchantRiskInfo - reorderItemsIndicatorC 2OreorderItemsIndicator

• 01 = First time ordered
• 02 = Reordered
threeDs2Parameters - merchantRiskInfo - shippingIndicatorC 2OshippingIndicator

• 01 = Ship to cardholder’s billing address
• 02 = Ship to another verified address on file with merchant
• 03 = Ship to address that is different than the cardholder’s billing address
• 04 = “Ship to Store” / Pick-up at local store (Store address shall be populated in shipping address fields)
• 05 = Digital goods (includes online services, electronic gift cards and redemption codes)
• 06 = Travel and Event tickets, not shipped
• 07 = Other (for example, Gaming, digital services not shipped, emedia subscriptions, etc.)
encCardDataC 225CEncrypted data that contains Credit Card information to be submitted to 2c2p PGW.

Only required for Credit Card payments.

Payment Response Parameter


Response XML

<PaymentResponse>
    <timeStamp></timeStamp>
    <merchantID></merchantID>
    <respCode></respCode>
    <pan></pan>
    <amt></amt>
    <uniqueTransactionCode></uniqueTransactionCode>
    <tranRef></tranRef>
    <approvalCode></approvalCode>
    <refNumber></refNumber>
    <eci></eci>
    <dateTime></dateTime>
    <status></status>
    <failReason></failReason>
    <userDefined1></userDefined1>
    <userDefined2></userDefined2>
    <userDefined3></userDefined3>
    <userDefined4></userDefined4>
    <userDefined5></userDefined5>
    <storeCardUniqueID></storeCardUniqueID>
    <recurringUniqueID></recurringUniqueID>
    <paymentChannel></paymentChannel>
    <backendInvoice></backendInvoice>
    <paidAgent></paidAgent>
    <paidChannel></paidChannel>
    <issuerCountry></issuerCountry>
    <bankName></bankName>
    <qrData></qrData>
    <qrOption></qrOption>
    <rateQuoteID></rateQuoteID>
    <originalAmount></originalAmount>
    <fxRate></fxRate>
    <currencyCode></currencyCode>
</PaymentResponse>

Response Attribute

VariableData TypeLengthMandatory
timeStampN 12ORequest DateTime in format of "ddMMyyHHmmss"
merchantIDAN 15MMerchant ID at 2C2P PGW.
respCodeN 3MFor Card / Third Party Payment
00 = Approved;
05 = Do Not Honor; More detail at Payment Response Code


For 123 Payment
001 = Success(Pending); 000 = Success(Paid); More detail at 123 Response Code


If received response code 99 means Error & refer parameter failReason for details.
panAN 19MMasked credit card number.

Masked card format based on merchant profile setting.
• First 6 Last 4 (411111XXXXXX1111)
• Last 4 (XXXXXXXXXXXX1111)
amtN 12MAmount formatted into 12 digit format with leading zero.
Minor unit appended to the last digit depending on number of Minor unit specified in ISO 4217.
uniqueTransactionCodeAN 20 / N 12MUnique merchant order number.
tranRefAN 28OIssued by System. This is to trace the transactions in the Routing System.
approvalCodeAN 6CTransaction Approval Code from Credit Card Host.

Only applicable for Credit card transactions.

Mandatory if credit card transaction was successful.
refNumberAN 15CTransaction Reference Number from Credit card Host.
eciN 2CECI value for Credit card transaction.
dateTimeN 14MProcess Date Time value with ddMMyyHHmmss format
statusN 3MStatus of transaction process.

Credit card Transaction status

APM Transaction Status
failReasonAN 100OReason of failure
userDefined1C 150OFor merchant to submit merchant's specific data.
userDefined2C 150OFor merchant to submit merchant's specific data.
userDefined3C 150OFor merchant to submit merchant's specific data.
userDefined4C 150OFor merchant to submit merchant's specific data.
userDefined5C 150OFor merchant to submit merchant's specific data.
storeCardUniqueIDAN 20CTokenized credit card number.

Mandatory if 'storeCard' is enabled.
recurringUniqueIDN 20CRPP transaction record identifier.

Mandatory for RPP transaction.
paymentChannelN 3COnly applicable for APM payments.
Payment channel codes:
001 = Credit and debit cards
002 = Cash payment channel
003 = Direct Debit
004 = Others
backendInvoiceAN 12- C Only applicable for APM payments.
The invoice number used when processing APM payment.
paidAgentAN 30CAgent name that processed APM payment, or Bank name that authorized IPP transaction.
paidChannelAN 30CChannel name that processed APM payment.
issuerCountryA 2CCredit card issuer country
bankNameAN 50OCredit card issuer name
qrDataC 1000CQR data with format depends on the qrOptions selected.
qrOptionN 1CData type returned when generating QR code.

Options available:
1 - raw qr data.
2 - base64 of QR image in PNG format.
3 - QR image url.

only applicable for the following channels:

- WCQR
- ALIQR
- EMVQR
rateQuoteIDC 50CRate quotation Id
originalAmountN 12CTransaction amount in merchant's base currency
fxRateD 15, 7CFX rate
currencyCodeN 3MTransaction currency

Next: API Parameters