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

API parameters

📘

Data types

N - Numeric
C - Characters (AlphaNumeric and symbols)

Payment Action Request Parameter


Sample Request

<PaymentProcessRequest>
	<version>3.4</version>
	<timeStamp></timeStamp>
	<merchantID></merchantID>
	<processType></processType>
	<invoiceNo></invoiceNo>
	<actionAmount></actionAmount>
	<bankCode></bankCode>
	<accountName></accountName>
	<accountNumber></accountNumber>
	<subMerchantList>
		<subMerchant subMID="" subAmount="" />
		<subMerchant subMID="" subAmount="" />
	</subMerchantList>
	<notifyURL></notifyURL>
	<hashValue></hashValue>
</PaymentProcessRequest>

Detailed descriptions of the parameters are explained in the following table:

Variable

Data Type

Length

Mandatory

Description

Remark

version

Numeric

5

Y

Version of the Payment Request

3.4

timeStamp

Character

22

N

Date and time of request Message. (if empty, system
will take the server received date time.)

Requst DateTime
in format of
"ddMMyyHHmmss"

merchantID

Character

15

Y

Merchant ID

Payment request merchant ID. Provided by 2C2P to merchant.

processType

Character

2

Y

Payment process command.
I = Inquiry
S = Settlement
V = Void/Cancel
R = Refund
RS = Refund Status

Refund option availability
depends on the bank and payment channel.

invoiceNo

Character

50

Y

Invoice No / order ID

Transaction unique invoice number. Generated by merchant.

actionAmount

Numeric

13

N

Refund / settle amount in 2 decimal format.
Required only for Refund and Settlement request.

The amount should not exceed original transaction amount.
If partial refund was made, the total refund amount
(previous+current refund) should not exceed original transaction amount.
Example: 1.00, 100.00, 1000.00

bankCode

Character

10

N

Customer’s account’s bank code.

(Only applicable to APM transaction Refund request. NOT required for Malaysia.)

accountName

Character

50

N

Customer’s bank account name

(Only applicable to APM transaction Refund request. NOT required for Malaysia.)

accountNumber

Character

50

N

Customer’s bank account number

(Only applicable to APM transaction Refund request. NOT required for Malaysia.)

subMerchantList

Array

N

(Only applicable to MasterMerchant Account)

subMerchant subMID

hashValue

15

N

Sub Merchant ID
Required only for Master Merchant Account

sub merchant’s MID provided by 2C2P.

subMerchant subAmount

Numeric

13

N

Refund / settle amount in 2
decimal format. Required only for Master Merchant Account

The total of subAmount(s)
must match the action Amount.
Example: 1.00, 100.00, 1000.00

notifyURL

Character

250

N

URL to notify final refund status

will notify with the same format as ‘PaymentProcessResponse’

hashValue

Character

150

Y

Hash value computed by
HMACSHA1 with secret key provided by 2C2P System.

Payment Action Response Parameters


Sample Response

<PaymentProcessResponse>
	<version></version>
	<timeStamp></timeStamp>
	<respCode></respCode>
	<respDesc></respDesc>
	<processType></processType>
	<invoiceNo></invoiceNo>
	<amount></amount>
	<status></status>
	<approvalCode></approvalCode>
	<referenceNo></referenceNo>
	<transactionDateTime></transactionDateTime>
	<paidAgent></paidAgent>
	<paidChannel></paidChannel>
	<maskedPan></maskedPan>
	<eci></eci>
	<subMerchantList>
 		<subMerchant subMID="" subAmount="" />
		<subMerchant subMID="" subAmount="" />
	</subMerchantList>
	<refundList>
		<refund referenceNo="" status="" amount="" dateTime=”” userDefined1="" ... userDefined5=""/>
		<refund referenceNo="" status="" amount="" dateTime=”” userDefined1="" ... userDefined5=""/>
	</refundList>
	<paymentScheme></paymentScheme>
	<processBy></processBy>
	<hashValue></hashValue>
</PaymentProcessResponse>

Detailed descriptions of the parameters are explained in the following table:

Variable

Data Type

Length

Mandatory

Description

Remark

version

Character

5

Y

Version of the Payment Action
Request

3.4

timeStamp

Character

22

Y

Date and time of request Message

Request DateTime in format of "ddMMyyHHmmss"

respCode

Character

2

Y

Response code

Refer Result Code

respDesc

Character

100

Y

response code
description

processType

Character

2

Y

Payment process command.
I = Inquiry
S = Settlement
V = Void/Cancel
R = Refund
RS = Refund Status

Refund inquiry availability
depends on the bank and payment channel.

invoiceNo

Character

50

Y

Invoice No / order ID

Transaction unique invoice number. Generated by merchant.

amount

Numeric

13

N

Payment amount made by customer, or refund /
captured amount

Example: 1.00, 100.00, 1000.00

status

Character

3

Y

Status of the transaction
requested

Refer Transaction Status Code

approvalCode

Character

6

N

Transaction Approval Code

Approval code provided by Credit Card Host or from WebPay provider.

referenceNo

Character

30

N

Reference number

trace no for credit card payment, RefNo1 for APM
payment, Refund reference no when requesting Refund.

transactionDateTime

Character

14

N

Transaction Date Time value with 'yyyyMMddhhmmss' format

paidAgent

Character

30

N

Agent Code that customer made payment with.

Refer Paid Agent List

paidChannel

Character

30

N

Channel Code that
customer made
payment with.

Refer Paid Channel List

maskedPan

Character

16

N

Masked Credit Card Number

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

eci

Character

3

N

Transaction Approval Code
from Credit Card Host

(only for creditcard payment)
3DS E-Commerce Indicator

subMerchantList

Array

N

(Only applicable to Master Merchant Account)

subMerchant subMID

Character

15

N

Sub Merchant ID
Required only for Master Merchant Account

sub merchant’s MID provided by 2C2P.

subMerchant subAmount

Numeric

13

N

Refunded / settled amount in 2 decimal format.
Required only for Master Merchant Account

Example: 1.00, 100.00, 1000.00

refundList

Array

N

(Only applicable to Refund Status request)

refund referenceNo

Character

30

N

Reference number

Refund reference number returned by PGW when
refund request was completed

refund status

Character

3

N

Status of the transaction requested

Refer to Transaction Status code

refund amount

Numeric

13

N

Payment amount made by customer, or refund / captured amount.

Example: 1.00, 100.00, 1000.00

refund dateTime

Character

14

N

refund approval Date Time with yyyyMMddhhmmss
format

paymentScheme

Character

2

N

Card brand /
Payment Scheme

Card brand or Payment Scheme of the payment
VI - VISA
MA - MASTER
JC - JCB
AM - AMEX
DI - DINNER
UP - Union Pay
MP - MPU
AL - ALIPAY
LP - LINEPAY
PA - PAYPAL
AP - ALTERNATIVE
PAYMENT
WC - WECHAT

processBy

Character

2

N

Payment Process
By code

Payment processing network
of the payment
VI - VISA
MA - MASTER
JC - JCB
AM - AMEX
DI - DINNER
UP - Union Pay
MP - MPU
AL - ALIPAY
LP - LINEPAY
PA - PAYPAL
AP - ALTERNATIVE
PAYMENT
WC - WECHAT

hashValue

Character

150

Y

Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.

Card Tokenization Request Parameters


Sample Request

<MaintenanceRequest>
	<version>2.4</version>
	<timeStamp></timeStamp>
	<merchantID></merchantID>
	<storeCardUniqueID></storeCardUniqueID>
	<pan></pan>
	<panBank></panBank>
	<panCountry></panCountry>
	<panCurrency></panCurrency>
	<cardholderName></cardholderName>
	<cardholderEmail></cardholderEmail>
	<panExpiry></panExpiry>
	<action></action>
	<hashValue></hashValue>
</MaintenanceRequest>

Detailed descriptions of the parameters are explained in the following table.

Variable

DataType

Length

Mandatory

Description

Remark

Version

Character

5

Y

Version of
the payment
request

2.4

timeStamp

Character

22

N

Date and time of the maintenance request. (if
empty, system will take server received date time.)

Requst DateTime in format of
"ddMMyyHHmmss"

merchantID

Character

15

Y

Merchant ID

merchant ID provided by 2C2P to merchant.

storeCardUniqueID

Character

20

N

Unique ID of store card info.

Mandatory if action is not ‘A’.
storeCardUniqueID as provided by processor previously.

panBank

Character

50

N

Credit Card Issuer Bank name.

Keyed in by Customer on the
merchant website.
Example: Siam Commercial Bank

panCountry

Character

2

N

Credit Card Issuer Bank Country Code

Selected country by Customer on the merchant website.
Example: TH, SG (following ISO 3166-1 alpha 2)

cardholderName

Character

50

N

Cardholder Name

Keyed in by customer at merchant site. Only the following characters are
allowed. -_,'.A-Za-z&
 
Mandatory if action is "Add" & "Update"

cardholderEmail

Character

50

N

Cardholder Email address

Keyed in by customer at merchant site.

panExpiry

Character

4

N

Credit Card Expiry

Credit Card Expiry in MMYY format (e.g 0215).
 
Mandatory if action is "Add" & "Update"

pan

Character

19

N

FULL Card Number

For “Add” action request only

panCurrency

Character

3

N

Credit Card Primary Currency
Code

3 Numeric Currency Code
e.g 764, 702

action

Character

1

Y

Maintenance action command

A = Add
I = Inquiry
D = Delete
U = Update

hashValue

Character

150

Y

Hash value computed by
HMACSHA256 with secret key
provided by 2C2P System.

Card Tokenization Response Parameters


Sample Response

<MaintenanceResponse>
	<version>2.4</version>
	<timeStamp></timeStamp>
	<merchantID></merchantID>
	<respCode></respCode>
	<respReason></respReason>
	<panBank></panBank>
	<storeCardUniqueID></storeCardUniqueID>
	<panCountry></panCountry>
	<cardholderName></cardholderName>
	<cardholderEmail></cardholderEmail>
	<panMasked></panMasked>
	<hashValue></hashValue>
</MaintenanceResponse>

Detailed descriptions of the parameters are explained in the following table.

Variable

DataType

Length

Mandatory

Description

Remark

Version

Character

5

Y

Version of the payment request

2.4

timeStamp

Character

22

Y

Date and time of the maintenance request.

Requst DateTime in
format of "ddMMyyHHmmss"

merchantID

Character

15

Y

Merchant ID

Payment request merchant
ID. Provided by 2C2P to merchant

respCode

Character

2

Y

The code whether The transaction is successful or not.

00 = Success
RespCode not 00 is
failed.

respReason

Character

100

Y

Reason of failure

panBank

Character

50

N

Credit Card Issuer Bank name

Keyed in by Customer on the
merchant website.
Example: Siam Commercial Bank

storeCardUniqueID

Character

20

Y

Unique ID of store card info.

storeCardUniqueID as provided by processor previously.

panCountry

Character

2

N

Credit Card Issuer Bank Country Code

Example: TH, SG
(following ISO 3166-1 alpha 2)

cardholderName

Character

50

N

Cardholder Name

Keyed in by customer at merchant site.

cardholderEmail

Character

50

N

Cardholder Email address

Keyed in by customer at merchant site.

panMasked

Character

19

N

Masked Card Number

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

hashValue

Character

150

Y

Hash value computed by
HMACSHA256 with secret
key provided by 2C2P System.

RPP (Recurring Payment Plan) Maintenance Request Parameters


Sample Request

<RecurringMaintenanceRequest>
	<version>2.4</version>
	<timeStamp></timeStamp>
	<merchantID></merchantID>
	<recurringUniqueID></recurringUniqueID>
	<processType></processType>
	<recurringStatus></recurringStatus>
	<amount></amount>
	<allowAccumulate></allowAccumulate>
	<maxAccumulateAmount></maxAccumulateAmount>
	<recurringInterval></recurringInterval>
	<recurringCount></recurringCount>
	<chargeNextDate></chargeNextDate>
	<chargeOnDate></chargeOnDate>
	<hashValue></hashValue>
</RecurringMaintenanceRequest>

Detailed descriptions of the parameters are explained in the following table.

Variable

Data Type

Length

Mandatory

Description

Remark

version

Character

5

Y

Version of the Recurring Maintenance Request

2.4

timeStamp

Character

22

Y

Date and time of request Message

Request DateTime in format
of "ddMMyyHHmmss"

merchantID

Numeric

20

Y

Merchant ID

merchant ID Provided by 2C2P to merchant.

recurringUniqueID

Numeric

20

Y

The unique id of recurring payment cycle

This id is returned by 2C2P to merchant for recurring payment request.

processType

Char

1

Y

Payment process command.
I = Inquiry
C = Cancel
U = Update

recurringStatus

Character

1

N

The active status of recurring
payment cycle.
The value is either Y (yes) or N (no).

Merchant can set ‘Y’ for active and ‘N’ for inactive.
It is mandatory for Update Request.

amount

Numeric

12

N

Recurring amount in 12 digits leading zero format.

It is mandatory for Update Request.

allowAccumulate

Character

1

N

Allow accumulation if authorization failed.

Merchant can set ‘Y’ for yes and ‘N’ for no to allow
accumulation in next recurring
cycle. It is mandatory for Update Request.

maxAccumulateAmount

Numeric

12

N

Limit for the accumulate
amount before terminate. Format is 12 digits leading
zero format.

If the current accumulate
amount exceeded the limitation, the recurring cycle will be terminated.
It is mandatory for Update Request.

recurringInterval

Numeric

5

N

Recurring Interval in days

NOTE : if this parameter is used, please do not passed in value for parameter chargeOnDate due to only 1 condition can be applied.

Charge card every x days. Max value 365(1 year).
It is mandatory for Update Request.

recurringCount

Numeric

5

N

Recurring total count allowed.

Repeat this payment x times.
Value ‘0’ for endless loop until
terminated manually.
It is mandatory for Update Request.

chargeNextDate

Character

8

N

The next date of recurring payment

Date in DDMMYYYY format. No value will be current date

  • recurring Interval.
    It is mandatory for Update Request.

chargeOnDate

Character

8

N

Charge On Date,

format : ddMM

NOTE : if this parameter is used, please do not passed in value for parameter recurringInterval due to only 1 condition can be applied.

Charge card on X day of the month. dd for Day, MM for Month.

It is mandatory for Update Request when recurringInterval is NULL / EMPTY

hashValue

Character

150

Y

Hash value computed by
HMACSHA256 with secret key
provided by 2C2P System.

RPP (Recurring Payment Plan) Maintenance Response Parameters


Sample Response

<RecurringMaintenanceResponse>
	<version></version>
	<timeStamp></timeStamp>
	<respCode></respCode>
	<respReason></respReason>
	<recurringUniqueID></recurringUniqueID>
	<recurringStatus></recurringStatus>
	<invoicePrefix></invoicePrefix>
	<currency></currency>
	<amount></amount>
	<maskedCardNo></maskedCardNo>
	<allowAccumulate></allowAccumulate>
	<maxAccumulateAmount></maxAccumulateAmount>
	<recurringInterval></recurringInterval>
	<recurringCount></recurringCount>
	<currentCount></currentCount>
	<chargeNextDate></chargeNextDate>
	<chargeOnDate></chargeOnDate>
	<hashValue></hashValue>
</RecurringMaintenanceResponse>

Detailed descriptions of the parameters are explained in the following table.

Variable

Data Type

Length

Mandatory

Description

Remark

version

Character

5

Y

Version of the Recurring
Maintenance Request

2.4

timeStamp

Character

22

Y

Date and time of request Message

Requst DateTime in format of
"ddMMyyHHmmss"

respCode

Character

3

y

Response Code of recurring
maintenance request.

00 = success
respCode not 00 is failed.

respReason

Character

100

N

Reason of Failure

recurringUniqueID

Numeric

20

Y

The unique id of recurring payment cycle

recurringStatus

Character

1

N

The active status of recurring
payment cycle.
The value is either Y (yes) or N (no).

invoicePrefix

Characters

15

N

Invoice Prefix

Currency

Numeric

3

N

payment currency in ISO4217 three Numeric code

Refer to Currency List

amount

Numeric

12

N

Recurring amount in 12 digits leading zero format.

maskedCardNo

Character

16

N

Masked Credit Card Number

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

allowAccumulate

Character

1

N

Allow accumulation if authorization failed.

The value is ‘Y’ for yes and ‘N’ for no

maxAccumulateAmount

Numeric

12

N

Limit for the accumulate
amount before terminate. Format is 12 digits leading
zero format.

recurringInterval

Numeric

5

N

Recurring Interval in days

Charge card everyx days. Max value 365(1 year).

recurringCount

Numeric

5

N

Recurring total count allowed.

Repeat this payment x times.
Value ‘0’ for endless loop until
terminated manually.

currentCount

Numeric

5

N

Current recurring count of recurring cycle.

chargeNextDate

Character

8

N

The next date of recurring payment

Date in DDMMYYYY format. No value will be current date + recurring Interval.

chargeOnDate

Character

8

N

Charge On Date,

ddMM

hashValue

Character

150

Y

Hash value computed by
HMACSHA256 with secret key
provided by 2C2P System.

IPP Option Request Parameters


Sample Request

<IppOptionRequest>
	<version>2.3</version>
	<timeStamp>041016180647</timeStamp>
	<merchantID>JT</merchantID
	<hashValue>478DBA0F2CAA63D22B6B214CE1CC6ACB467C6D1A</hashValue>
</IppOptionRequest>

Detailed descriptions of the parameters are explained in the following table.

Variable

Data Type

Length

Mandatory

Description

Remark

version

Numeric

5

Y

Version of the Payment Request

2.3

timeStamp

Character

22

N

Date and time of request Message.
(if empty, system will take the server received date time.)

Requst DateTime in format of
"ddMMyyHHmmss"

merchantID

Character

15

Y

Merchant ID

Payment request merchant ID. Provided by 2C2P to merchant.

hashValue

Character

150

Y

Hash value computed by
HMACSHA256 with secret key provided by 2C2P System.

IPP Option Response Parameters


Sample Response

<IppOptionResponse>
	<version>2.3</version>
	<timeStamp>041016180707</timeStamp>
	<respCode>00</respCode>
	<respReason>Success</respReason>
	<ippBanks>
	<ippBank>
		<bankName>2C2P Simulator</bankName>
		<bankShortName>SIMU</bankShortName>
		<bankLogoUrl>https://d11fwxgc8zkidi.cloudfront.net/images/ippbanklogo/23.png</bankLogoUrl>
		<bankPromoUrl>https://d11fwxgc8zkidi.cloudfront.net/images/ipppromologo/23.png</bankPromoUrl>
		<bankTerms>Demo terms and conditions</bankTerms>
 		<bins>
			<bin>300307</bin>
			<bin>365988</bin>
		</bins>
		<installmentOptions>
			<option id="1" installmentPeriod="10" merInterestRate="-1.00" cusInterestRate="1.00" minAmount="100.00" currencyCode="THB" validFrom="2016-03-01" validUntil="2022-03-31" />
		</installmentOptions>
	</ippBank>
	<ippBank>
		<bankName>Bangkok Bank</bankName>
		<bankShortName>BBL</bankShortName>
		<bankLogoUrl>https://d11fwxgc8zkidi.cloudfront.net/images/ippbanklogo/3.png</bankLogoUrl>
		<bankPromoUrl>https://d11fwxgc8zkidi.cloudfront.net/images/ipppromologo/3.png</bankPromoUrl>
		<bankTerms>TOC</bankTerms>
		<bins>
			<bin>411111</bin>
			<bin>544485</bin>
		</bins>
		<installmentOptions>
			<option id="1" installmentPeriod="3" merInterestRate="0.40" cusInterestRate="0.50" minAmount="1.00" currencyCode="THB" validFrom="2014-07-01" validUntil="2020-12-31" />
		</installmentOptions>
	</ippBank>
	</ippBanks>
	<hashValue>965C8DB713EF63FD50D86DA972BBD4C8E31659F6</hashValue>
</IppOptionResponse>

Detailed descriptions of the parameters are explained in the following table.

Variable

Data Type

Length

Mandatory

Description

Remark

version

Character

5

Y

Version of the Payment Action
Request

2.3

timeStamp

Character

22

Y

Date and time of request Message

Request DateTime in
format of "ddMMyyHHmmss"

respCode

Character

3

Y

Response Code of payment request XML. Initial character
of the response code represents payment request type.

00 = success
Response code not 00 is failed.

respReason

Character

100

N

Reason of Failure

ippBanks

Array

N

Array of ippBank

bankName

Character

250

Y

IPP Bank Name

bankShortName

Character

250

Y

Bank Short Name /
Bank Code

bankTerms

Character

Y

Terms and condition
of Bank

bankLogoUrl

Character

250

Y

Bank Logo URL

bankPromoUrl

Character

250

Y

Bank Promo URL

bins

Array

Array of bin

bin

Character

6

Y

Allow BIN

installmentOptions

option id

Numeric

2

Y

Serial No for Option

option installmentPeriod

Numeric

2

Y

No of Months IPP Period

option merInterestRate

decimal

2,2

Y

Merchant Pay Interest Rate

Negative value means there is no option for merchant pay interest

option cusInterestRate

decimal

2,2

Y

Customer Pay Interest Rate

Negative value means there is no option for customer pay interest

option minAmount

decimal

2,2

Y

Minimum amount to be Eligible for IPP

option currencyCode

Character

3

Y

Payment Currency to be eligible for IPP

in 3 Char Currency Code.
e.g THB, SGD

option validFrom

date

10

Y

Option valid from Date
format: yyyy-MM-dd

option validUntil

date

10

Y

Option valid Until Date
format: yyyy-MM-dd

hashValue

Character

150

Y

Hash value computed by
HMACSHA256 with secret key provided by 2C2P System

Next: References