DocumentationRecipesAPI ReferenceChangelog
Documentation
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

Variable Data Type / Length Mandatory Description

timeStamp

N 12

O

Date and time of request Message. (if empty, system will take the server received date time.)
Request DateTime in format of "ddMMyyHHmmss"

merchantID

AN 15

M

Merchant ID at 2C2P PGW.

uniqueTransactionCode

AN 20 / N 12

M

Unique merchant order number.
Example: 00000000010000091203

*Limited to 12 numerics when requesting for APM payment for Myanmar.

desc

AN 50

M

Payment detail description.
HTML Encode description if contain Symbols.

amt

N 12

M

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

currencyCode

N 3

M

Transaction 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

paymentChannel

AN 10

O

Allow merchant to accept payment from 3rd party.

Available Payment Channels option list

accountNo

AN

C

Account No of the mentioned Payment Channel.
Mandatory for following Payment Channels

  • TRUEMONEY
  • WAVE
  • OKDOLLAR
  • OVO

storeCardUniqueID

AN 20

O

To make payment with tokenized card

clientIP

C 15

O

Client's IP address, used for fraud checking if provided.

panBank

AN 50

C

Credit Card Issuer Bank name

Mandatory for Credit card payment.

panCountry

A 2

C

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

Mandatory for Credit card payment.

cardholderName

AN 50

M

Cardholder name.

cardholderEmail

C 30

M

Customer's email address used for :

  • receive payment receipt from 2C2P PGW.
  • authentication for 3DS cards payment.

userDefined1

C 150

O

For merchant to submit merchant's specific data.

userDefined2

C 150

O

For merchant to submit merchant's specific data.

userDefined3

C 150

O

For merchant to submit merchant's specific data.

userDefined4

C 150

O

For merchant to submit merchant's specific data.

userDefined5

C 150

O

For merchant to submit merchant's specific data.

storeCard

A 1

O

To enable tokenization feature for credit card payment.

N - Disable tokenization option (default)
Y - Enable tokenization option

ippTransaction

A 1

O

To enable IPP payment feature for credit card payment.

N - Non IPP payment (default)
Y - IPP payment

installmentPeriod

N 2

C

IPP installment period.

Only required if IPP is enabled.

interestType

A 1

C

If set to C, interest is paid by Customer. If set to M, interest is paid by Merchant.

Only required if IPP is enabled.

recurring

A 1

O

To 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.

invoicePrefix

AN 15

C

RPP transaction will add 5 additional digit behind invoicePrefix as invoice number.

Only required if RPP is enabled.

recurringAmount

N 12

O

The 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

allowAccumulate

A 1

C

To allow accumulation of failed RPP transaction amount.

N - Do not allow
Y - Allow

Only required if RPP is enabled.

maxAccumulateAmt

N 12

C

RPP will be terminated if accumulated failed RPP transaction amount is over maxAccumulateAmt.

Only required if allowAccumulate is allowed.

recurringInterval

N 3

C

To 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.

recurringCount

N 5

C

To 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.

chargeNextDate

N 8

C

To 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.

chargeOnDate

N 4

O

To 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.

promotion

AN 20

O

Promotion Code for the payment.

Example: PromoMC for MasterCard payment only,
PromoVC for Visa card payment only.

request3DS

A 1

O

To enable / disable / Force 3DS authentication

Y - Do 3DS authentication (default)
N - No 3DS authentication
F - Force 3DS authentication (only ECI 02/05 are accepted)

statementDescriptor

AN 20

O

To set dynamic statement descriptor.
only alphanumeric in latin character is allowed.

agentCode

AN 30

C

APM Agent Codes

Only required for APM payments.

channelCode

AN 30

O

APM Channel Codes
If channel Code is left blank, system will use default value "OVERTHECOUNTER".

Only required for APM payments.

paymentExpiry

C 19

O

To 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.

mobileNo

N 10

C

Customer's mobile number.

Only required for APM payments.

subMerchantList

ARRAY

O

subMerchant information array

subMerchant

Element

O

subMerchant element

subMerchant - merchantID

AN 15

M

SubMerchant ID at 2C2P PGW.

Mandatory if subMerchant feature is used.

subMerchant - uniqueTransactionCode

AN 20 / N 12

M

Invoice number to be recorded into subMerchant account.

Mandatory if subMerchant feature is used.

subMerchant - amt

N 12

M

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.

Mandatory if subMerchant feature is used.

subMerchant - desc

AN 50

M

Payment detail description.
HTML Encode description if contain Symbols.

Mandatory if subMerchant feature is used.

qrData

C 1000

C

QR data scanned from customer's QR code

qrOption

N 1

O

Data 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

qrType

C 2

O

Requesting 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

tokenizeWithoutAuthorization

A 1

O

Y - Perform tokenization only
N - Perform normal authorization (default)

Only applicable for Credit Card payments.

rateQuoteID

C 50

C

Rate Quotation ID

originalAmount

N 12

C

Transaction amount in merchant's base currency

customRouteID

C 50

O

Custom route id

returnUrl

C 255

O

Frontend 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.

backendUrl

C 255

O

Backend 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.

airlineTransaction

C 1

O

Check if the transaction is airline data

airlinePassengers

ARRAY

O

airlinePassengers information array

airlinePassenger

Element

C

airlinePassengers element

airlinePassenger - lastName

C 50

M

Passenger's last name

airlinePassenger - firstName

C 50

O

Passenger's first name

airlinePassenger - middleName

C 50

O

Passenger's middle name

airlinePassenger - title

C 50

O

Passenger's title

airlinePassenger - email

C 150

O

Passenger's email address

airlinePassenger - phone

C 15

O

Passenger's mobile phone with country prefix

airlinePassenger - type

C 32

O

Type of Passenger

  • ADT : Adult
  • CNN : Child
  • INF : Infant
  • YTH : Youth
  • STU : Student
  • SCR : Senior Citizen
  • MIL : Military

airlinePassenger - purchaser

C 1

M

Indicate whether this is passenger. (Y/N)

airlinePassenger - ticketIssueDate

C 8

M

Ticket issue date in local time format : yyyyMMdd

airlinePassenger - ticketNo

C 13

M

Airline ticket no

airlinePassenger - issuingCarrierCode

C 2

M

Ticket issuing airline

airlinePassenger - issuingCarrierName

C 50

M

Ticket issuing airline name

airlinePassenger - customerCode

C 17

O

Customer code. E.g frequent flyer no

airlinePassenger - travelAgencyName

C 25

O

Travel agency name if the ticket is sold through agency

airlinePassenger - travelAgencyCode

C 8

O

Travel agency code if the ticket is sold through agency

airlinePassenger - travelAgencyInvoice

C 50

O

Travel agency invoice if the ticket is sold through agency

airlinePassenger - travelPlanName

C 50

O

Travel agency plan if the ticket is sold through agency

airlinePassenger - reservationSystem

C 4

O

Airline ticket reservation system. (Must be 4 character)

airlinePassenger - documentType

C 3

O

Passenger's document type

airlinePassenger - identificationNo

C 50

M

Passenger's identification document no.

airlinePassenger - airlineLegs

Element

O

AirlineLegs element

airlinePassenger - airlineLegs - legNo

N 1

M

Sequence of airline leg

airlinePassenger - airlineLegs - carrierCode

C 2

M

2 character airline carrier code

airlinePassenger - airlineLegs - fightNo

C 5

M

Flight no.

airlinePassenger - airlineLegs - origin

C 3

M

Indicates the destination city's airport code

airlinePassenger - airlineLegs - destination

C 3

M

Indicates the destination city's airport code

airlinePassenger - airlineLegs - departureTime

C 19

M

Departure time in local time yyyy-MM-dd HH:mm:ss

airlinePassenger - airlineLegs - arrivalTime

C 19

M

Arrival time in local time yyyy-MM-dd HH:mm:ss

airlinePassenger - airlineLegs - serviceClass

C 1

M

Service class for airline

N : stopover is not restricted
Y : stopover is restricted

airlinePassenger - airlineLegs - stopOverCode

C 1

M

Indicate if stop allow or not

airlinePassenger - airlineLegs - fareBasisCode

C 6

M

Airline fare basis code

airlinePassenger - airlineLegs - endorcementOrRestriction

C 12

M

Any restriction applied on ticket. Eg:

  • RESTRICTED
  • NORESTRICED

airlinePassenger - airlineLegs - flightType

C 32

O

Whether flight is one-way or return

airlinePassenger - airlineLegs - fare

N 12

O

Fare for the leg in payment currency

airlinePassenger - airlineLegs - taxes

N 12

O

Taxes for the leg in payment currency

airlinePassenger - airlineLegs - fee

N 12

O

Fee for the leg in payment currency

airlinePassenger - airlineLegs - departureTaxCurrency

N 3

O

Departure tax currency for leg

airlinePassenger - airlineLegs - departureTaxAmount

N 12

O

Departure tax amount for the leg

ticketIssuerAddress

Element

C

ticketIssuerAddress element
Mandatory if airline transaction = Y

ticketIssuerAddress - address1

C 255

C

Ticket issuer address 1

ticketIssuerAddress - address2

C 255

O

Ticket issuer address 2

ticketIssuerAddress - address3

C 255

O

Ticket issuer address 3

ticketIssuerAddress - postalCode

AN 10

M

Ticket issuer address postal code

ticketIssuerAddress - city

C 255

M

Ticket issuer address city

ticketIssuerAddress - state

C 255

M

Ticket issuer address state

ticketIssuerAddress - country

C 3

M

Ticket issuer address country

addresses

Array

C

Address information array

addresses - billing

Element

C

Billing address object

addresses - billing - address1

C 255

M

Address line 1

addresses - billing - address2

C 255

O

Address line 2

addresses - billing - address3

AN 255

O

Address line 3

addresses - billing - postalCode

AN 10

M

Address postal code

addresses - billing - city

C 225

M

Address city

addresses - billing - state

C 225

O

Address state

addresses - billing - countryCode

N 3

M

Address country in N3 of ISO3166 format

addresses - shipping

Element

C

Shipping address object

addresses - shipping - address1

C 255

M

Address line 1

addresses - shipping - address2

C 255

O

Address line 2

addresses - shipping - address3

AN 255

O

Address line 3

addresses - shipping - postalCode

AN 10

M

Address postal code

addresses - shipping - city

C 225

M

Address city

addresses - shipping - state

C 225

O

Address state

addresses - shipping - countryCode

N 3

M

Address country in N3 of ISO3166 format

threeDs2Parameters

Element

C

3DS 2 Parameters Objects

threeDs2Parameters - customerContact - homePhone - countryCode

C 3

O

Home phone country code.

threeDs2Parameters - customerContact - homePhone - subscriberNo

C 15

O

Home phone subscriber number.

threeDs2Parameters - customerContact - mobilePhone - countryCode

C 3

O

Mobile phone country code.

threeDs2Parameters - customerContact - mobilePhone - subscriberNo

C 15

O

Mobile phone subscriber number.

threeDs2Parameters - customerContact - workPhone - countryCode

C 3

O

Work phone country code.

threeDs2Parameters - customerContact - workPhone - subscriberNo

C 15

O

Work phone subscriber number.

threeDs2Parameters - CardholderAccountInfo - accountAgeIndicator

C 2

O

accountAgeIndicator

• 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 - accountChangeDate

C 8

O

Format: YYYYMMDD

threeDs2Parameters - CardholderAccountInfo - accountDate

C 8

O

Format: YYYYMMDD

threeDs2Parameters - CardholderAccountInfo - accountPasswordDate

C 8

O

Format: YYYYMMDD

threeDs2Parameters - CardholderAccountInfo - paymentAccountAge

C 8

O

Format: YYYYMMDD

threeDs2Parameters - CardholderAccountInfo - shipAddrUsageDate

C 8

O

Date when the shipping address used for this transaction was first used with the 3DS Requestor.

Format: YYYYMMDD

threeDs2Parameters - CardholderAccountInfo - accountChangeIndicator

C 2

O

accountChangeIndicator

• 01 = Changed during this transaction
• 02 = Less than 30 days
• 03 = 30-60 days
• 04 = More than 60 days

threeDs2Parameters - CardholderAccountInfo - accountPasswordChangeIndicator

C 2

O

accountPasswordChangeIndicator

• 01 = No change
• 02 = Changed during this transaction
• 03 = Less than 30 days
• 04 = 30-60 days
• 05 = More than 60 days

threeDs2Parameters - CardholderAccountInfo - nbPurchase

C 4

O

Number of purchases with this cardholder account during the previous six months.

maximum is 9999.

threeDs2Parameters - CardholderAccountInfo - nbProvisionAttemptDay

C 3

O

Number of Add Card attempts in the last 24 hours.

threeDs2Parameters - CardholderAccountInfo - nbTransactionDay

C 3

O

Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous 24 hours.

threeDs2Parameters - CardholderAccountInfo - nbTransactionYear

C 3

O

Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year.

threeDs2Parameters - CardholderAccountInfo - paymentAccountAgeIndicator

C 2

O

paymentAccountAgeIndicator

• 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 - shipAddrUsageIndicator

C 2

O

indicates 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 - shipNameIndicator

C 2

O

shipNameIndicator

• 01 = Account Name identical to shipping Name
• 02 = Account Name different than shipping Name

threeDs2Parameters - CardholderAccountInfo - suspiciousAccountActivity

C 2

O

suspiciousAccountActivity

• 01 = No suspicious activity has been observed
• 02 = Suspicious activity has been observed

threeDs2Parameters - merchantRiskInfo - preorderDate

C 8

O

Pre order date

threeDs2Parameters - merchantRiskInfo - deliveryEmailAddress

C 254

O

Email address

threeDs2Parameters - merchantRiskInfo - deliveryTimeFrame

C 2

O

deliveryTimeFrame

• 01 = Electronic Delivery
• 02 = Same day shipping
• 03 = Overnight shipping
• 04 = Two-day or more shipping

threeDs2Parameters - merchantRiskInfo - giftCardAmount

C 15

O

For 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 - giftCardCount

C 2

O

giftCardCount

valid values 00-99

threeDs2Parameters - merchantRiskInfo - giftCardCurrency

N 3

O

giftCardCurrency

ISO4217.N3 Format

threeDs2Parameters - merchantRiskInfo - preorderPurchaseIndicator

C 2

O

preorderPurchaseIndicator

• 01 = Merchandise available
• 02 = Future availability

threeDs2Parameters - merchantRiskInfo - reorderItemsIndicator

C 2

O

reorderItemsIndicator

• 01 = First time ordered
• 02 = Reordered

threeDs2Parameters - merchantRiskInfo - shippingIndicator

C 2

O

shippingIndicator

• 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.)

encCardData

C 225

C

Encrypted 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

Variable Data Type Length Mandatory

timeStamp

N 12

O

Request DateTime in format of "ddMMyyHHmmss"

merchantID

AN 15

M

Merchant ID at 2C2P PGW.

respCode

N 3

M

For 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.

pan

AN 19

M

Masked credit card number.

Masked card format based on merchant profile setting.
• First 6 Last 4 (411111XXXXXX1111)
• Last 4 (XXXXXXXXXXXX1111)

amt

N 12

M

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.

uniqueTransactionCode

AN 20 / N 12

M

Unique merchant order number.

tranRef

AN 28

O

Issued by System. This is to trace the transactions in the Routing System.

approvalCode

AN 6

C

Transaction Approval Code from Credit Card Host.

Only applicable for Credit card transactions.

Mandatory if credit card transaction was successful.

refNumber

AN 15

C

Transaction Reference Number from Credit card Host.

eci

N 2

C

ECI value for Credit card transaction.

dateTime

N 14

M

Process Date Time value with ddMMyyHHmmss format

status

N 3

M

Status of transaction process.

Credit card Transaction status

APM Transaction Status

failReason

AN 100

O

Reason of failure

userDefined1

C 150

O

For merchant to submit merchant's specific data.

userDefined2

C 150

O

For merchant to submit merchant's specific data.

userDefined3

C 150

O

For merchant to submit merchant's specific data.

userDefined4

C 150

O

For merchant to submit merchant's specific data.

userDefined5

C 150

O

For merchant to submit merchant's specific data.

storeCardUniqueID

AN 20

C

Tokenized credit card number.

Mandatory if 'storeCard' is enabled.

recurringUniqueID

N 20

C

RPP transaction record identifier.

Mandatory for RPP transaction.

paymentChannel

N 3

C

Only applicable for APM payments.
Payment channel codes:
001 = Credit and debit cards
002 = Cash payment channel
003 = Direct Debit
004 = Others

backendInvoice

AN 12

  • C

Only applicable for APM payments.
The invoice number used when processing APM payment.

paidAgent

AN 30

C

Agent name that processed APM payment, or Bank name that authorized IPP transaction.

paidChannel

AN 30

C

Channel name that processed APM payment.

issuerCountry

A 2

C

Credit card issuer country

bankName

AN 50

O

Credit card issuer name

qrData

C 1000

C

QR data with format depends on the qrOptions selected.

qrOption

N 1

C

Data 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

rateQuoteID

C 50

C

Rate quotation Id

originalAmount

N 12

C

Transaction amount in merchant's base currency

fxRate

D 15, 7

C

FX rate

currencyCode

N 3

M

Transaction currency

Next: API Parameters