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 |
Updated over 3 years ago