API parameters
Payment request parameters
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
{
"version": "8.5",
"merchant_id": "JT01",
"hash_value": "5bbb200c84fks8gfe45546ef45fd74f7740e90ebfa7c53152e41e205c1fd0fe",
"payment_description": "item 1 ",
"order_id": "ord12345",
"invoice_no": "inv12345",
"user_defined_1": "",
"user_defined_2": "",
"user_defined_3": "",
"user_defined_4": "",
"user_defined_5": "",
"currency": "702",
"amount": "000000000100",
"promotion": "",
"customer_email": "[email protected]",
"result_url_1": "https://merchantwebsite/payment/frontend",
"result_url_2": "https://merchantwebsite/payment/backend",
"payment_option": "CC",
"ipp_interest_type": null,
"payment_expiry": null,
"default_lang": "en",
"enable_store_card": null,
"stored_card_unique_id": null,
"request_3ds": "Y",
"recurring": null,
"order_prefix": null,
"recurring_amount": null,
"allow_accumulate": null,
"max_accumulate_amount": null,
"recurring_interval": null,
"recurring_count": null,
"charge_next_date": null,
"charge_on_date": null,
"statement_descriptor": null,
"use_storedcard_only": null,
"tokenize_without_authorization": null,
"product_code": null,
"ipp_period_filter": null,
"sub_merchant_list": [{
"merchant_id": "JT_sub01",
"order_id": "ordsub0001",
"amount": "00000000050",
"payment_description": "sub item 1"
}, {
"merchant_id": "JT_sub01",
"order_id": "ordsub0002",
"amount": "00000000050",
"payment_description": "sub item 2"
}],
"qr_type": null,
"custom_route_id": null,
"airline_transaction": null,
"airline_passenger_list": null,
"address_list": [{
"addressType": "billing",
"address1": "30 Raffles Pl",
"address2": "#32-01",
"address3": "",
"postalCode": "048622",
"city ": "Singapore",
"state": "Singapore",
"country": "Singapore"
},
{
"addressType": "shipping",
"address1": "30 Raffles Pl",
"address2": "#32-01",
"address3": "",
"postalCode": "048622",
"city ": "Singapore",
"state": "Singapore",
"country": "Singapore"
}
],
"threeDs2Parameters": {
"customerContact": {
"homePhone": {
"cc": "+65",
"subscriber": "123456789"
},
"mobilePhone": {
"cc": "+65",
"subscriber": "123456789"
},
"workPhone": {
"cc": "+65",
"subscriber": "123456789"
}
},
"cardholderAccountInfo": {
"accountAgeIndicator": "01",
"accountChangeDate": "20210915",
"accountChangeIndicator": "01",
"accountCreateDate": "20210915",
"accountPasswordChangeDate": "20210915",
"accountPasswordChangeIndicator": "04",
"purchaseCountLast6Months": "120",
"provisionAttemptCountLast24Hours": "5",
"transactionCountLast24Hours": "10",
"transactionCountLastYear": "120",
"paymentAccountCreateDate": "20210915",
"paymentAccountAgeIndicator": "05",
"shippingAddressCreateDate": "20210915",
"shippingAddressAgeIndicator": "03",
"shippingNameIndicator": "01",
"suspiciousAccountActivity": "01"
},
"merchantRiskInfo": {
"deliveryEmailAddress": "[email protected]",
"deliveryTimeframe": "04",
"giftCardAmount": "200",
"giftCardCount": 10,
"giftCardCurrencyCode": "702",
"preOrderDate": "20210915",
"preOrderPurchaseIndicator": "01",
"reorderItemsIndicator": "01",
"shippingIndicator": "03"
}
}
}
# | Parameter name | Data type / Length | Mandatory | Description |
---|---|---|---|---|
1 | version | C 5 | M | API version number. |
2 | merchant_id | AN 15 | M | Merchant ID at 2C2P PGW |
3 | payment_description | AN 255 | M | Payment detail description. |
4 | order_id | AN 20 / N 12 | M | Unique merchant order number.
|
5 | invoice_no | AN 50 | O | Merchant invoice number |
6 | user_defined_1 | AN 150 | O | For merchant to submit merchant's specific |
7 | user_defined_2 | AN 150 | O | For merchant to submit merchant's specific |
8 | user_defined_3 | AN 150 | O | For merchant to submit merchant's specific |
9 | user_defined_4 | AN 150 | O | For merchant to submit merchant's specific |
10 | user_defined_5 | AN 150 | O | For merchant to submit merchant's specific |
11 | amount | N 12 | M | Amount formatted into 12 digit format with Currency: 392 (JPY) |
12 | currency | N 3 | O | Transaction currency code in 3 numeric value as specified in ISO 4217. |
13 | promotion | AN 50 | O | Promotion Code for the payment. Example: PromoMC for MasterCard payment only, PromoVC for Visa card payment only. |
14 | customer_email | C 30 | O | Customer's email address to receive payment receipt from 2C2P PGW. |
15 | result_url_1 | C 255 | O | Frontend return url for 2C2P PGW to redirect |
16 | result_url_2 | C 255 | O | Backend return url for 2C2P PGW to notify |
17 | payment_option | AN 500 | O | To restrict customer payment methods / channels By default, all available options will be shown Supported multiple code with comma(,) separator |
18 | ipp_interest_type | A 1 | O | To specify IPP Interest Type. A – All available options By default, all available options will be shown |
19 | payment_expiry | C 19 | O | To specify payment expiry date/time for APM By default, will use expiry date/time configured there is no limit on the expiry date. |
20 | default_lang | A 2 | O | To specify payment page localization |
21 | enable_store_card | A 1 | O | To enable tokenization feature N - Disable tokenization option (default) |
22 | stored_card_unique_id | AN 20 | O | To make payment with tokenized card |
23 | request_3ds | A 1 | O | To enable / disable / Force 3DS authentication Y - Do 3DS authentication (default) |
24 | recurring | A 1 | O | To enable RPP (Recurring Payment Plan) N - Disable RPP feature (default) |
25 | order_prefix | AN 15 | C | RPP transaction will add 5 additional digit Only required if RPP is enabled. |
26 | recurring_amount | N 12 | O | The amount to be charged on RPP process. 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. Currency: 392 (JPY) Only required if RPP is enabled. |
27 | allow_accumulate | A 1 | C | To allow accumulation of failed RPP transaction N - Do not allow Only required if RPP is enabled. |
28 | max_accumulate_amount | N 12 | C | RPP will be terminated if accumulated failed
Only required if allow_accumulate is allowed |
29 | recurring_interval | N 3 | C | To indicate the frequency of RPP by days. Only required if RPP is enabled and
|
30 | recurring_count | N 5 | C | To indicate how many times to charge the set to '0' to charge indefinitely until terminated Only required if RPP is enabled. |
31 | charge_next_date | N 8 | C | To indicate the next RPP charge date. Only required if RPP with recurring_interval is if RPP is with charge_on_date then charge_next_Date is optional. |
32 | charge_on_date | N 4 | C | To charge RPP on specific date every month.
Only required if RPP is enabled and
|
33 | statement_descriptor | AN 20 | O | To set dynamic statement descriptor. |
34 | use_storedcard_only | C 1 | O | To force payment to be made only with N - Card holder may change card (default). |
35 | tokenize_without_authorization | C 1 | O | To tokenize customer's credit card without N - request will do Authorization to the card |
36 | product_code | C 50 | O | IPP product code |
37 | ipp_period_filter | C 50 | O | To filter IPP period available for customer to comma separated period value. |
38 | sub_merchant_list | O | Base64 encode Json array of sub merchants Plain JSON:
| |
38.1 | sub_merchant_list - merchant_id | C 25 | M | Sub Merchant ID from 2C2P |
38.2 | sub_merchant_list - | C 20 | M | Order ID for sub merchant id |
38.3 | sub_merchant_list - | C 12 | M | Leading zero amount (000000000100) without any decimal. |
38.4 | sub_merchant_list - payment_description | C 255 | O | Payment detail description for sub transaction |
39 | qr_type | C 2 | O | Requesting QR Type for "Q" Type of payment Option
|
40 | custom_route_id | C 50 | O | Custom Route ID |
41 | airline_transaction | C 1 | O | If the request submit airline data or not |
42 | airline_passenger_list | O | Base64 encode Json array of airline passengers Maximum of 9 Passengers and maximum of 4 legs per passenger
| |
42.1 | airline_passenger_list - | C 50 | M | Passenger's last name |
42.2 | airline_passenger_list - first_name | C 50 | O | Passenger's first name |
42.3 | airline_passenger_list -middle_name | C 50 | O | Passenger's middle name |
42.4 | airline_passenger_list - | C 50 | O | Passenger's title |
42.5 | airline_passenger_list - | C 150 | O | Passenger's email address |
42.6 | airline_passenger_list - | AN 15 | O | Passenger's mobile phone with country code prefix |
42.7 | airline_passenger_list - | C 32 | O | Type of passenger
|
42.8 | airline_passenger_list -purchaser | C 1 | M | Indicate whether this is passenger. • Y: Purchaser |
42.9 | airline_passenger_list -ticket_issue_date | C 8 | M | Ticket issue date in local time |
42.10 | airline_passenger_list - ticket_no | AN 13 | M | Airline ticket no |
42.11 | airline_passenger_list - customer_code | AN 17 | M | Customer code. E.g frequent flyer no |
42.12 | airline_passenger_list - identification_no | AN 50 | M | Customer's Passport No |
42.13 | airline_passenger_list - issuing_carrier_code | C 2 | M | Ticket issuing airline. |
42.14 | airline_passenger_list - issuing_carrier_name | C 50 | M | Ticket issuing airline name. |
42.15 | airline_passenger_list - | C 50 | M | Ticket issuing airline address1 |
42.16 | airline_passenger_list - | C 50 | O | Ticket issuing airline address2 |
42.17 | airline_passenger_list - | C 50 | O | Ticket issuing airline address3 |
42.18 | airline_passenger_list - | N 10 | M | Ticket issuing airline postal code |
42.19 | airline_passenger_list - | C 50 | M | Ticket issuing airline city |
42.20 | airline_passenger_list - | C 50 | O | Ticket issuing airline state |
42.21 | airline_passenger_list - | C 3 | M | ISO 3166: 3 digit country code e.g 764 – Thailand |
42.22 | airline_passenger_list - travel_agency_name | C 25 | M | Travel agency name if the ticket is sold through agency |
42.23 | airline_passenger_list - travel_agency_code | C 8 | M | Travel agency code if the ticket is sold through agency |
42.24 | airline_passenger_list - travel_agency_invoice | AN 50 | M | Travel agency invoice if the ticket is sold through agency |
42.25 | airline_passenger_list - travel_plan_name | C 50 | M | travel agency plan name if the ticket is sold through agency |
42.26 | airline_passenger_list - reservation_system | C 4 | M | Airline ticket reservation system. It must be 4 character if it is present |
42.27 | airline_passenger_list - document_type | C 3 | M | Passenger's document type. |
42.28.1 | airline_passenger_list - airline_legs - | C 1 | M | Sequence of airline leg |
42.28.2 | airline_passenger_list -airline_legs - | C 2 | M | 2 character airline carriercode |
42.28.3 | airline_passenger_list - airline_legs - | AN 5 | M | Flight no |
42.28.4 | airline_passenger_list - airline_legs - | C 3 | M | Indicates the Origin city’s airport code |
42.28.5 | airline_passenger_list - airline_legs - | C 3 | M | Indicates the destination city’s airport code |
42.28.6 | airline_passenger_list - airline_legs - | C 19 | M | Departure time in local time yyyy-MM-dd HH:mm:ss |
42.28.7 | airline_passenger_list -airline_legs - | C 19 | M | Arrival time in local time yyyy-MM-dd HH:mm:ss |
42.28.8 | airline_passenger_list -airline_legs - | C 1 | M | Service class for airline |
42.28.9 | airline_passenger_list -airline_legs - | C 1 | M | Indicate if stop allow or not |
42.28.10 | airline_passenger_list - airline_legs - | C 6 | M | Airline fare basis code |
42.28.11 | airline_passenger_list - airline_legs - | C 32 | M | Whether flight is one-way or return |
42.28.12 | airline_passenger_list - airline_legs - | C 10-12 | M | Any restriction applied on ticket. E.g RESTRICTED/NORESTRICTED |
42.28.13 | airline_passenger_list -airline_legs - | N 12 | M | Fare for the leg in payment currency |
42.28.14 | airline_passenger_list - airline_legs - | N 12 | M | Taxes for the leg in payment currency |
42.28.15 | airline_passenger_list -airline_legs - | N 12 | M | Fee for the leg in payment currency |
42.28.16 | airline_passenger_list -airline_legs - departure_tax_currency | C 3 | M | Departure tax currency for leg |
42.28.17 | airline_passenger_list - airline_legs - | N 12 | M | Departure tax amount for the leg |
43 | address_list | O | Base64 encode Json array of address "address_type":"B", }] | |
43.1 | address_list. | C 1 | O | address type: B = Billing |
43.2 | address_list. | C 255 | O | address line 1 |
43.3 | address_list. | C 255 | O | address line 2 |
43.4 | address_list. | C 255 | O | address line 3 |
43.5 | address_list. | C 10 | O | address postal code |
43.6 | address_list. | C 255 | O | city |
43.7 | address_list. | C 255 | O | state |
43.8 | address_list. | C 3 | O | country in N3 of ISO3166 format |
44 | threeDs2Parameters | O | 3DS 2 Parameters Objects | |
44.1 | threeDs2Parameters. | O | { | |
44.1.1 | threeDs2Parameters. | O | { | |
44.1.1.1 | threeDs2Parameters. | C 3 | O | Home phone country code. |
44.1.1.2 | threeDs2Parameters. | C 15 | O | Home phone subscriber number. |
44.1.2 | threeDs2Parameters. | O | { | |
44.1.2.1 | threeDs2Parameters. | C 3 | O | Mobile phone country code. |
44.1.2.2 | threeDs2Parameters. | C 15 | O | Mobile phone subscriber number. |
44.1.3 | threeDs2Parameters. | O | { | |
44.1.3.1 | threeDs2Parameters. | C 3 | O | Work phone country code. |
44.1.3.2 | threeDs2Parameters. | C 15 | O | Work phone subscriber number. |
44.2 | threeDs2Parameters. | O | "cardholderAccountInfo": { | |
44.2.1 | threeDs2Parameters. | C 2 | O | accountAgeIndicator • 01 = No account (guest check-out) |
44.2.2 | threeDs2Parameters. | C 8 | O | Length: 8 Chars. |
44.2.3 | threeDs2Parameters. | C 2 | O | accountChangeIndicator • 01 = Changed during this transaction |
44.2.4 | threeDs2Parameters. | C 8 | O | Length: 8 Chars. |
44.2.5 | threeDs2Parameters. | C 8 | O | Length: 8 Chars. |
44.2.6 | threeDs2Parameters. | C 2 | O | accountPasswordChangeIndicator • 01 = No change |
44.2.7 | threeDs2Parameters. | C 4 | O | Number of purchases with this cardholder account during the previous six months. maximum 9999 |
44.2.8 | threeDs2Parameters. | C 3 | O | Number of Add Card attempts in the last 24 hours. |
44.2.9 | threeDs2Parameters. | 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. |
44.2.10 | threeDs2Parameters. | 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. |
44.2.11 | threeDs2Parameters. | C 8 | O | Length: 8 Chars. |
44.2.12 | threeDs2Parameters. | C 2 | O | paymentAccountAgeIndicator • 01 = No account (guest check-out) |
44.2.13 | threeDs2Parameters. | C 8 | O | Date when the shipping address used for this transaction was first used with the 3DS Requestor. Length: 8 Chars. |
44.2.14 | threeDs2Parameters. | C 2 | O | ndicates when the shipping address used for this transaction was first used with the 3DS Requestor. JSON Data Type: String |
44.2.15 | threeDs2Parameters. | C 2 | O | Indicates if the Cardholder Name on the account is identical to the shipping Name used for this transaction. • 01 = Account Name identical to shipping Name |
44.2.16 | threeDs2Parameters. | O | Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account. • 01 = No suspicious activity has been observed | |
44.3 | threeDs2Parameters. | O | "merchantRiskInfo": | |
44.3.1 | threeDs2Parameters. | C 254 | O | Email address |
44.3.2 | threeDs2Parameters. | C 2 | O | deliveryTimeFrame • 01 = Electronic Delivery |
44.3.3 | threeDs2Parameters. | 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). |
44.3.4 | threeDs2Parameters. | C 2 | O | giftCardCount valid values 00-99 |
44.3.5 | threeDs2Parameters. | C 3 | O | giftCardCurrency ISO4217.N3 Format |
44.3.6 | threeDs2Parameters. | C 8 | O | Length: 8 Chars. |
44.3.7 | threeDs2Parameters. | C 2 | O | preorderPurchaseIndicator • 01 = Merchandise available |
44.3.8 | threeDs2Parameters. | C 2 | O | reorderItemsIndicator • 01 = First time ordered |
44.3.9 | threeDs2Parameters. | C 2 | O | shippingIndicator • 01 = Ship to cardholder’s billing address |
45 | hash_value | C 40 | M | For 8.5, HMACSHA256 cryptographic hash value of: |
Payment response parameters
{
"version": "8.5",
"request_timestamp": "2021-07-16 13:43:14",
"merchant_id": "JT01",
"order_id": "ord12345",
"invoice_no": "inv12345",
"currency": "702",
"amount": "000000000100",
"transaction_ref": "2201845639",
"approval_code": "12345",
"eci": "02",
"transaction_datetime": "2021-07-16 13:43:14",
"payment_channel": "002",
"payment_status": "001",
"channel_response_code": "000",
"channel_response_desc": "success",
"masked_pan": "411111XXXXXX1111",
"stored_card_unique_id": "124536456346",
"backend_invoice": "BEI12345",
"paid_channel": "WEBPAY",
"paid_agent": "123Service",
"recurring_unique_id": "",
"user_defined_1": "",
"user_defined_2": "",
"user_defined_3": "",
"user_defined_4": "",
"user_defined_5": "",
"browser_info": "",
"ippPeriod": "",
"ippInterestType": "",
"ippInterestRate": "",
"ippMerchantAbsorbRate": "",
"payment_scheme": "AP",
"process_by": "AP",
"hash_value": "E876579E014C8A2FE3C29D53F7753CA342ADC744"
}
# | Parameter name | Data type / Length | Mandatory | Description |
---|---|---|---|---|
1 | version | C 5 | M | API version number. |
2 | request_timestamp | C 22 | M | Timestamp of the time when message is |
3 | merchant_id | AN 25 | M | Merchant ID at 2C2P PGW |
4 | order_id | AN 20 / N 12 | M | Unique merchant order number.
|
5 | invoice_no | AN 50 | O | merchant invoice number |
6 | payment_channel | N 3 | M | |
7 | payment_status | N 3 | M | |
8 | channel_response_code | N 4 | O | |
9 | channel_response_desc | AN 255 | O | |
10 | approval_code | AN 6 | O | Authorization code from issuing bank. Only applicable when customer pay with credit or debit card. |
11 | eci | N 2 | O | ECI value. Only applicable when customer pay with credit or debit card |
12 | transaction_datetime | C 22 | M | Transaction processed date time value in format yyyy-MM-dd HH:mm:ss |
13 | transaction_ref | AN 15 | O | Channel transaction reference number |
14 | masked_pan | C 19 | O | Only applicable when customer pay with credit or debit card. Masked card format based on merchant profile setting. |
15 | paid_agent | AN 30 | O | Only applicable to 123 Cash Payment Channel and IPP transaction channel. 123: APM agent code that customer made payment with. IPP: IPP bank’s name. |
16 | paid_channel | AN 30 | O | APM channel code |
17 | amount | N 12 | M | Amount formatted into 12 digit format with leading zero. Currency: 392 (JPY) |
18 | currency | N 3 | M | Transaction currency code in 3 numeric value as specified in ISO 4217. |
19 | user_defined_1 | AN 150 | O | For merchant to submit merchant's specific data. |
20 | user_defined_2 | AN 150 | O | For merchant to submit merchant's specific data. |
21 | user_defined_3 | AN 150 | O | For merchant to submit merchant's specific data. |
22 | user_defined_4 | AN 150 | O | For merchant to submit merchant's specific data. |
23 | user_defined_5 | AN 150 | O | For merchant to submit merchant's specific data. |
24 | browser_info | C 50 | M | Client Browser information. Eg. Type=Firefox28,Name=Firefox,Ver=28.0 |
25 | stored_card_unique_id | AN 20 | O | Tokenized credit card number. |
26 | backend_invoice | C 12 | O | backend invoice number |
27 | recurring_unique_id | N 20 | O | recurring unique id |
28 | ippPeriod | N 2 | O | IPP tenor |
29 | ippInterestType | A 1 | O | IPP Interest Type. |
30 | ippInterestRate | C 5 | O | IPP interest rate |
31 | ippMerchantAbsorbRate | C 5 | O | IPP merchant absorb rate |
32 | payment_scheme | C 2 | O | Payment scheme code |
33 | process_by | C 2 | O | Payment scheme code which process the transaction. |
34 | card_type | C 20 | O | Card Type |
35 | issuer_country | A 3 | O | Card Issuer Country |
36 | issuer_bank | C 200 | O | Card Issuer Bank |
37 | sub_merchant_list | M | Base64 encode Json array of sub merchants Plain JSON:
| |
37.1 | sub_merchant_list - merchant_id | C 25 | M | Sub Merchant ID from 2C2P |
37.2 | sub_merchant_list - | C 20 | M | Order ID for sub merchant id |
37.3 | sub_merchant_list - | N 12 | M | Leading zero amount (000000000100) without any decimal. Decimal place depends on the payment currency minor unit. Example: THB (764) 000000199900 represent 1,999.00 Example: JPY (392) 000000199900 represent 199,9900 |
38 | hash_value | C 40 | M | For 8.5, HMACSHA256 cryptographic hash value of and use the secret_key provided by 2C2P as salt. |
Updated 6 days ago