Вы находитесь на странице: 1из 43

2C2P - AIRLINE Payment

Payment Service API for Airline

Document version 1.5.6


Payment Service API for Airlines
Document version: 1.5.4

Document Control
File Name 2C2P-AIRLINE PAYMENT V1.5.4
Author 2C2P
Version History
Document Date Comments/Reasons
Version
1.0 19 September 2013 Draft
1.3 21 May 2014 Added complete xml
1.4 27 May 2014 Correct the xml syntax and inquiry responses and api
response code list
1.5 05 Jun 2014 Correct the Mandatory/Optional and more explanation
on the amount format, Standardized Response
Signature, Added PSPAuthorizedDateTime in Authorize
Response
1.5.3 11 Feb 2015 Add Backend_URL in the authorization request
1.5.4 12 Feb 2015 Add 123 agent and channel map
1.5.5 28 July 2016 Add UPI (CUP), Alipay, MPU payment type
1.5.6 13 Sep 2016 Add LINE

2
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

Contents
1. Authorization ..................................................................................................................... 5
1.1 Authorization request message .......................................................................................... 5
1.1.1 Authorization request example XML ...................................................................................... 9
1.2 Authorization response message ........................................................................................... 12
1.2.1 Authorization response example XML ................................................................................. 14
2. Settlement ....................................................................................................................... 15
2.1 Settlement request message .................................................................................................. 15
2.1.1 Settlement request example XML........................................................................................ 16
2.2 Settlement response message ............................................................................................... 17
2.2.1 Settlement response example XML ..................................................................................... 18
3. Void ................................................................................................................................ 19
3.1 Void request message ........................................................................................................... 19
3.1.1 Void request XML example ................................................................................................. 20
3.2 Void response message ......................................................................................................... 21
3.2.1 Void response XML example............................................................................................... 22
4. Inquiry Message .............................................................................................................. 23
4.1 Inquiry request message ........................................................................................................ 23
4.1.1 Inquiry request XML example .............................................................................................. 23
4.2 Inquiry response message ............................................................................................... 24
4.2.1 Inquiry response message (Authorization) .................................................................... 24
4.2.2 Inquiry Response XML (Authorization) example............................................................ 26
4.2.3 Inquiry Response Message (Settle) .............................................................................. 26
4.2.4 Inquiry Response XML (Settle) example ....................................................................... 28
4.2.5 Inquiry Response Message (Void) ................................................................................ 28
4.2.5 Inquiry Response XML (Void) example ......................................................................... 29
5. Sending the request message .................................................................................. 30
5.1 Sending request message (Redirect / 3DS Non-UI) .......................................................... 30
5.2 Receiving response message (Redirect/3DS NonUI) ........................................................ 31
5.3 Sending and receiving the message (non 3DS, non UI) .................................................... 33
Appendix: A-API URL .......................................................................................................... 35
Appendix: B-API Response Code........................................................................................ 36
Appendix: C Issuer Response Code ................................................................................. 37
Acquiring Host Response Code ................................................................................................... 37
123 Response Code .................................................................................................................... 39
Appendix: D 123 Agent Codes ......................................................................................... 40
3
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

Appendix: E 123 Chanel Codes........................................................................................ 40

4
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

1. Authorization
1.1 Authorization request message
Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current
Version Varchar 5 M
API version
RequestDateTime Varchar 12 M Format :
yyMMddHHmmss
ProcessCode Varchar 1 M A : Authorize
OfficeID Varchar 50 M
Unique invoice number,
InvoiceNo Varchar 50 O If AIRLINE does not
send, Auto generate
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O
CC=Credit Card
Amex = Amex Card
PaymentType Varchar 50 O 123=Alternative Cash
Pay
UPI = China Union Pay
AP = Alipay
MPU = MPU Card
LinePay = LINE

Agent123 Varchar 50 O Appendix D


Channel123 Varchar 50 O Appendix E
PayInSlipInfo Varchar 1-600 O Merchant can submit any
information to show on
pay-in-slip. Format :
characters
-put | if you need new
line.
-Every single line should
not exceed more than
100 characters.
-No. of lines should not
exceed more than 5
lines.
PaymentExpiry Varchar 19 O Format :
yyyy-MM-dd HH:mm:ss
Ex. : 2014-03-15
23:59:59
UserDefined1 Varchar 50 O
UserDefined2 Varchar 50 O
UserDefined3 Varchar 50 O
UserDefined4 Varchar 50 O
UserDefined5 Varchar 50 O

5
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

Authorization amount
including leading zero.
The decimal point is
based on the currency
Amount Varchar 12 M exponent in ISO4217.
(eg. If currency is THB,
exponent is 2 so the last
2 digits is decimal point.)

CurrencyCode Varchar 3 M ISO 4217 Currency code

6
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

(THB = Baht)

PassengerEmail Varchar 50 M Cardholder email


CardNumber Varchar 19 M/O Card number
Card expiry in MMYY
CardExpiry Numeric 4 M/O
format
CVV Numeric 4 M/O CVV/CVC2 code
After payment is
processed successful,
Confirmation_URL Varchar M redirect and send
response back to
Confirmation URL.
If payment is failed,
redirect and send
Cancellation_URL Varchar M
response back to
Cancellation URL.
Backend result URL to
receive payment
Backend_URL Varchar M result/payment status
from 2C2P as backend
response.
For example
CardholderIPAddress Varchar 20 O
203.142.111.76
Issuing bank country.
Example: TH as Thailand
IssuingBankCountry Varchar 2 O
(following ISO 3166-1
alpha 2)
Name of the card issuing
IssuingBankName Varchar 50 O
bank.
CardholderName Varchar 50 O Name of the cardholder
Value Y to indicate that
card information will be
saved upon successful
authorization. System
return unique card id to
StoreCard Varchar 1 O map the saved card
information. Next
payment can be made by
sending unique ID
instead of full card
information.
If storeCardUniqueID is
present in the request,
card number, card
expiry, issuing bank
StoreCardUniqueID Varchar 20 O
country, issuing bank
name and cardholder
name in the request is
ignored.
Value Y to indicate that
IppTransaction Varchar 1 O
IPP options will be used.
Installment period in
InstallmentPeriod Numeric 2 O
months
C = Customer pay
InterestType Varchar 1 O
interest

7
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

M = Merchant pay
interest

Value must be present if


IppTransaction is Y
Payment system will filter
PromotionCode Varchar 20 O only PromoCode
predefined
SessionID Airline Web session ID
Ex.
QxJjS3Jb1hrP3pBzQG6
SnhSpbk9nTHyTTLGgQ
Varchar O
g0Bq9TmBt8DWJ6k!829
61439!-
116989429!1383565595
537
Language Varchar O GB (Appendix )
TravID Numeric 2 O Traveller Sr No.
Title Varchar 50 O MR
FirstName Varchar 50 O Aaaaaaaaaaaa
LastName Varchar 50 O Aaaaaaaa
Email Varchar 50 O varin@2c2p.com
MobilePhone Varchar 50 O 66891268487
BusinessPhone Varchar 50 O
EXTERNAL_ID Varchar 50 O
EXTERNAL_ID#2 Varchar 50 O
EXTERNAL_ID#3 Varchar 50 O
EXTERNAL_ID#4 Varchar 50 O
EXTERNAL_ID#5 Varchar 50 O
EXTERNAL_ID#6 Varchar 50 O
EXTERNAL_ID#7 Varchar 50 O
EXTERNAL_ID#8 Varchar 50 O
EXTERNAL_ID#9 Varchar 50 O
FLIGHT_NUMBER Varchar 20 O
AIRPORT_CODE Varchar 20 O KKC-BKK
SEGMENT_NO How many flight no?
Varchar O Round trip or One way
Ex. = 2
AIRLINECODE Varchar O
AIRLINENAME Varchar O
BDATE Boarding date/time
Varchar O Ex. Thursday, February
12, 2015 8:45:00 AM
BLOCATIONCITYNAME Varchar O Ex. Khon Kaen
BLOCATIONCODE Varchar O Ex. KKC

8
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

BLOCATIONCOUNTRY Ex. Thailand


Varchar O
NAME
BLOCATIONNAME Varchar O Ex. Khon Kaen
BLOCATIONSTATENAM Terminal name
Varchar O
E
BTERMINAL Varchar O Terminal no
CABIN Varchar O
EDATE End Boding date/time
Varchar O Ex. Thursday, February
12, 2015 9:40:00 AM
ELOCATIONCITYNAME Varchar O Ex. Bangkok
ELOCATIONCODE Varchar O Ex. BKK
ELOCATIONCOUNTRY Ex. Thailand
Varchar O
NAME
ELOCATIONNAME Ex. Suvarnabhumi
Varchar O
International
ELOCATIONSTATENAM Terminal name
Varchar O
E
ETERMINAL Varchar O Terminal no
EQUIPMENTCODE Varchar O Ex. 32S
FLIGHTNUMBER Varchar O Ex. 2041
FLIGHTTIME Varchar O 00h55min
OTEHRAIRLINECODE Varchar O Ex. WE
OTHERAIRLINENAME Varchar O Ex. Thai Smile Airways
STATUSNAME Varchar O Ex. Confirmed
BOOKINGCLASS Varchar O Ex. WRTTH16
Hash value computed by
HMACSHA1 with secret
key provided by 2C2P
System.
signature string: Version
+ RequestDateTime+
Signature Varchar M ProcessCode + OfficeID
+ InvoiceNo + PNRCode
+ PaymentType +
Agent123 + Channel123
+ Amount +
CurrencyCode +
CardNumber

9
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

1.1.1 Authorization request example XML


<apiRequest>
<Version>1.0</Version>
<RequestDateTime></RequestDateTime>
<ProcessCode>A</ProcessCode>
<OfficeID>0001199</OfficeID>
<InvoiceNo>000000000000000011122912121</InvoiceNo>
<FirstBoardingPoint>1262253361</FirstBoardingPoint>
<PNRCode>AABBCC</PNRCode>
<PaymentType>CC</PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<PaymentExpiry></PaymentExpiry>
<PaySlipInfo></PaySlipInfo>
<UserDefine1> </UserDefine1>
<UserDefine2></UserDefine2>
<UserDefine3></UserDefine3>
<UserDefine4></UserDefine4>
<UserDefine5></UserDefine5>
<Amount>000000012500</Amount>
<CurrencyCode>764</CurrencyCode>
<PassengerEmail></PassengerEmail>
<CardNumber>4444333322221111</CardNumber>
<CardExpiry>0915</CardExpiry>
<CVV>123</CVV>
<Confirmation_URL></Confirmation_URL>
<Cancellation_URL></Cancellation_URL>
<Backend_URL></Backend_URL>
<CardholderIPAddress>10.10.0.0</CardholderIPAddress>
<IssuingBankCountry>TH</IssuingBankCountry>
<IssuingBankName>KBANK</IssuingBankName>
<CardholderName>Test User</CardholderName>
<StoreCard>Y</StoreCard>
<StoreCardUniqueID></StoreCardUniqueID>
<IppTransaction></IppTransaction>
<InstallmentPeriod></InstallmentPeriod>
<InterestType></InterestType>
<PromotionCode></PromotionCode>
<SessionID></SessionID>
<Language></Language>
<EXTERNAL_ID></EXTERNAL_ID>
<EXTERNAL_ID1></EXTERNAL_ID1>
<EXTERNAL_ID2></EXTERNAL_ID2>
<EXTERNAL_ID3></EXTERNAL_ID3>
<EXTERNAL_ID4></EXTERNAL_ID4>
<EXTERNAL_ID5></EXTERNAL_ID5>
<EXTERNAL_ID6></EXTERNAL_ID6>
<EXTERNAL_ID7></EXTERNAL_ID7>
<EXTERNAL_ID8></EXTERNAL_ID8>
<EXTERNAL_ID9></EXTERNAL_ID9>
<Users>
<User TravID="" Title="" FirstName="" LastName="" Email="" MobilePhone="" HomePhone=""
BusinessPhone=""/>
<User TravID ="" Title="" FirstName="" LastName="" Email="" MobilePhone="" HomePhone=""
BusinessPhone=""/>
</Users>
10
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

<ItineryList>
<Itinery FLIGHT_NUMBER="" AIRPORT_CODE="">
<Segment No="1" AIRLINECODE="" AIRLINENAME="" BDATE="" BLOCATIONCITYNAME=""
BLOCATIONCODE="" BLOCATIONCOUNTRYNAME=""
BLOCATIONNAME="" BLOCATIONSTATENAME="" BTERMINAL="" CABIN="" EDATE=""
ELOCATIONCITYNAME="" ELOCATIONCODE="" ELOCATIONCOUNTRYNAME=""
ELOCATIONNAME="" ELOCATIONSTATENAME="" EQUIPMENTCODE="" ETERMINAL=""
FLIGHTNUMBER="" FLIGHTTIME="" OTHERAIRLINECODE="" OTHERAIRLINENAME=""
STATUSNAME="" BOOKINGCLASS=""/>
</Itinery>
<Itinery FLIGHT_NUMBER="" AIRPORT_CODE="">
<Segment No="" AIRLINECODE="" AIRLINENAME="" BDATE="" BLOCATIONCITYNAME=""
BLOCATIONCODE="" BLOCATIONCOUNTRYNAME="" BLOCATIONNAME=""
BLOCATIONSTATENAME="" BTERMINAL="" CABIN="" EDATE="" ELOCATIONCITYNAME=""
ELOCATIONCODE="" ELOCATIONCOUNTRYNAME="" ELOCATIONNAME=""
ELOCATIONSTATENAME="" EQUIPMENTCODE="" ETERMINAL="" FLIGHTNUMBER=""
FLIGHTTIME="" OTHERAIRLINECODE="" OTHERAIRLINENAME="" STATUSNAME=""
BOOKINGCLASS=""/>
</Itinery>
</ItineryList>
<Signature></Signature>
</apiRequest>

Example for 123 Service Payment (Alternative cash payment)

<apiRequest>
<Version>1.0</Version>
<RequestDateTime></RequestDateTime>
<ProcessCode>A</ProcessCode>
<OfficeID>0001199</OfficeID>
<InvoiceNo>11122912121</InvoiceNo>
<FirstBoardingPoint>BKK</FirstBoardingPoint>
<PNRCode>AABBCC</PNRCode>
<PaymentType>123</PaymentType>
<Agent123>[Appendix D]</Agent123>
<Channel123>[Appendix E]</Channel123>
<PaymentExpiry>2015-03-15 23:59:59 </PaymentExpiry>
<PaySlipInfo></PaySlipInfo>
<UserDefine1> </UserDefine1>
<UserDefine2></UserDefine2>
<UserDefine3></UserDefine3>
<UserDefine4></UserDefine4>
<UserDefine5></UserDefine5>
<Amount>000000012500</Amount>
<CurrencyCode>764</CurrencyCode>
<PassengerEmail>email@email.com</PassengerEmail>
<MobilePhone>0811112222</MobilePhone>
<CardNumber></CardNumber>
<CardExpiry></CardExpiry>
<CVV></CVV>
<Confirmation_URL></Confirmation_URL>
<Cancellation_URL></Cancellation_URL>
<Backend_URL></Backend_URL>
<CardholderIPAddress>10.10.0.0</CardholderIPAddress>
<IssuingBankCountry>TH</IssuingBankCountry>
<IssuingBankName></IssuingBankName>
11
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

<CardholderName> </CardholderName>
<StoreCard>N</StoreCard>
<StoreCardUniqueID></StoreCardUniqueID>
<IppTransaction></IppTransaction>
<InstallmentPeriod></InstallmentPeriod>
<InterestType></InterestType>
<PromotionCode></PromotionCode>
<SessionID></SessionID>
<Language></Language>
<EXTERNAL_ID></EXTERNAL_ID>
<EXTERNAL_ID1></EXTERNAL_ID1>
<EXTERNAL_ID2></EXTERNAL_ID2>
<EXTERNAL_ID3></EXTERNAL_ID3>
<EXTERNAL_ID4></EXTERNAL_ID4>
<EXTERNAL_ID5></EXTERNAL_ID5>
<EXTERNAL_ID6></EXTERNAL_ID6>
<EXTERNAL_ID7></EXTERNAL_ID7>
<EXTERNAL_ID8></EXTERNAL_ID8>
<EXTERNAL_ID9></EXTERNAL_ID9>
<Users>
<User TravID="" Title="" FirstName="" LastName="" Email="" MobilePhone="" HomePhone=""
BusinessPhone=""/>
<User TravID ="" Title="" FirstName="" LastName="" Email="" MobilePhone="" HomePhone=""
BusinessPhone=""/>
</Users>
<ItineryList>
<Itinery FLIGHT_NUMBER="" AIRPORT_CODE="">
<Segment No="1" AIRLINECODE="" AIRLINENAME="" BDATE="" BLOCATIONCITYNAME=""
BLOCATIONCODE="" BLOCATIONCOUNTRYNAME=""
BLOCATIONNAME="" BLOCATIONSTATENAME="" BTERMINAL="" CABIN="" EDATE=""
ELOCATIONCITYNAME="" ELOCATIONCODE="" ELOCATIONCOUNTRYNAME=""
ELOCATIONNAME="" ELOCATIONSTATENAME="" EQUIPMENTCODE="" ETERMINAL=""
FLIGHTNUMBER="" FLIGHTTIME="" OTHERAIRLINECODE="" OTHERAIRLINENAME=""
STATUSNAME="" BOOKINGCLASS=""/>
</Itinery>
<Itinery FLIGHT_NUMBER="" AIRPORT_CODE="">
<Segment No="" AIRLINECODE="" AIRLINENAME="" BDATE="" BLOCATIONCITYNAME=""
BLOCATIONCODE="" BLOCATIONCOUNTRYNAME="" BLOCATIONNAME=""
BLOCATIONSTATENAME="" BTERMINAL="" CABIN="" EDATE="" ELOCATIONCITYNAME=""
ELOCATIONCODE="" ELOCATIONCOUNTRYNAME="" ELOCATIONNAME=""
ELOCATIONSTATENAME="" EQUIPMENTCODE="" ETERMINAL="" FLIGHTNUMBER=""
FLIGHTTIME="" OTHERAIRLINECODE="" OTHERAIRLINENAME="" STATUSNAME=""
BOOKINGCLASS=""/>
</Itinery>
</ItineryList>
<Signature></Signature>
</apiRequest>

12
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

1.2 Authorization response message


Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current API
Version Varchar 5 M
version
ResponseDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M A : Authorize
OfficeID Varchar 50 M
See Appendix API
ApiResponseCode Varchar 3 M
Response Code
ApiResponseDescriptio
Varchar 255 O API Response Description
n
InvoiceNo Varchar 50 M Unique invoice number
Payment number/Stamp at
EpNumber Varchar 50 M
PSP
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O PNR Number
CC=Credit Card
- CC-VI, CC-CA
PaymentType Varchar 50 O Amex = Amex Card
123=Alternative Cash Pay
Default = Credit Card
Agent123 Varchar 50 O Appendix D
Channel123 Varchar 50 O Appendix E
UserDefined1 Varchar 50 O
UserDefined2 Varchar 50 O
UserDefined3 Varchar 50 O
UserDefined4 Varchar 50 O
UserDefined5 Varchar 50 O
Authorization amount
Amount Varchar 12 M
including leading zero
CurrencyCode Varchar 3 M Currency code
Payment status code
A= Authorized
P = Payment Pending
Status Numeric 2 M S= Settled
V=Voided
R=Rejected
F=Failed
Appendix Host Response
IssuerResponseCode Numeric 2-3 O
Code
Issuer approval code for the
IssuerApprovalCode Varchar 6 O authorization

PSPAuthorizedDateTi
Varchar 12 O Format : yyMMddHHmmss
me
PaymentRef Numeric 20 O API Payment Reference Code
PaymentRefCode123 Varchar 12 O Payment.RefCode from 123
Card number (Full Card
CardNumber Varchar 19 M/O
Number)
CardExpiry Numeric 4 M/O Card expiry in MMYY format
Issuing bank country.
IssuingBankCountry Varchar 2 O Example: TH as Thailand
(following ISO 3166-1 alpha 2)

13
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

Name of the card issuing


IssuingBankName Varchar 50 O
bank.
CardholderName Varchar 50 O Name of the cardholder
ECI Varchar 2 O ECI value
CAVV Varchar 50 O CAVV value
XID Varchar 50 O XID value
If storeCardUniqueID is
present in the request, card
number, card expiry, issuing
StoreCardUniqueID Varchar 20 O
bank country, issuing bank
name and cardholder name in
the request is ignored.
MontlyPaymentAmount Decimal 18,2 O For IPP Payment, monthly
payment amount
MonthlyInterestAmount Decimal 18,2 O For IPP Payment, monthly
interest amount
InstallmentPeriod Int 4 O Installment Period in months
Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.

Signature string: Version +


ResponseDateTime +
ProcessCode + OfficeID +
ApiResponseCode +
Signature Varchar 255 M
InvoiceNo + EpNumber +
PNRCode + Agent123 +
Channel123 + Status +
PaymentRef + Amount +
IssuerResponseCode +
IssuerApprovalCode +
PSPAuthorizedDateTime

14
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

1.2.1 Authorization response example XML


<apiResponse>
<Version></Version>
<ResponseDateTime></ResponseDateTime>
<ProcessCode></ProcessCode>
<OfficeID></OfficeID>
<ApiResponseCode></ApiResponseCode>
<ApiResponseDescription></ApiResponseDescription>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<UserDefined1></UserDefined1>
<UserDefined2></UserDefined2>
<UserDefined3></UserDefined3>
<UserDefined4></UserDefined4>
<UserDefined5></UserDefined5>
<Amount></Amount>
<CurrencyCode></CurrencyCode>
<Status></Status>
<IssuerResponseCode></IssuerResponseCode>
<IssuerApprovalCode></IssuerApprovalCode>
<PSPAuthorizedDateTime></PSPAuthorizedDateTime>
<PaymentRef></PaymentRef>
<PaymentRefCode123></PaymentRefCode123>
<CardNumber></CardNumber>
<CardExpiry></CardExpiry>
<IssuingBankCountry></IssuingBankCountry>
<IssuingBankName></IssuingBankName>
<CardholderName></CardholderName>
<ECI></ECI>
<CAVV></CAVV>
<XID></XID>
<StoreCardUniqueID></StoreCardUniqueID>
<MonthlyPaymentAmount></MonthlyPaymentAmount>
<MonthlyInterestAmount></MonthlyInterestAmount>
<InstallmentPeriod></InstallmentPeriod>
<Signature></Signature>
</apiResponse>

15
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

2. Settlement

2.1 Settlement request message


Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current API
Version Varchar 5 M
version
RequestDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M S : Settle
OfficeID Varchar 50 O
InvoiceNo Varchar 50 O Unique invoice number
EpNumber Varchar 50 M Payment number
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O
CC=Credit Card
CC-VI, CC-CA, CC-JC
Amex = Amex Card
PaymentType Varchar 50 O
CP=ChinaPay
AP=AliPay
Default is Credit Card.
Agent123 Varchar 50 O Appendix D
Channel123 Varchar 50 O Appendix E
Settlement amount including
leading zero. Can be full or
partial amount of the
Amount Varchar 12 O
authorization.
If Amount=Null, System
process full settlement
Issuer approval code for the
IssuerApprovalCode Varchar 6 O
authorization
PaymentRef Varchar 20 O 2C2P PaymentRef/
TransactionRef returned from
AIRLINE Controller after
Authorization
TicketNoList Varchar 150 O
Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.
Signature string: Version +
RequestDateTime+
Signature Varchar 255 M
ProcessCode + OfficeID +
InvoiceNo + EpNumber +
PNRCode + Agent123 +
Channel123 + Amount +
PaymentRef

16
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

2.1.1 tlement request example XML

<apiRequest>
<Version>1.0</Version>
<RequestDateTime></RequestDateTime>
<ProcessCode></ProcessCode>
<OfficeID></OfficeID>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<Amount></Amount>
<IssuerApprovalCode></IssuerApprovalCode>
<PaymentRef></PaymentRef>
<TicketNoList></TicketNoList>
<Signature></Signature>
</apiRequest>

17
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

2.2 Settlement response message


Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current API
Version Varchar 5 M
version
ResponseDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M S : Settle
See Appendix API
ApiResponseCode Varchar 3 M
Response Code
ApiResponseDescriptio Varchar 255 O Response Description
n
OfficeID Varchar 50 M
InvoiceNo Varchar 50 O Unique invoice number
EpNumber Varchar 50 M Payment number
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O
CC=Credit Card
CC-VI, CC-CA, CC-JC
123 = Alternative Cash Pay
PaymentType Varchar 50 O
Amex = Amex Card
CP=ChinaPay
AP=AliPay
Agent123 Varchar 50 O Appendix D
Channel123 Varchar 50 O Appendix E
Appendix Host Response
IssuerResponseCode Numeric 2-3 O
Code
Issuer approval code for the
IssuerApprovalCode Varchar 6 O
authorization
CardNumber Varchar 16 M/O Credit Card Number (Full)
CardExpiry Varchar 4 M/O Card Expiry in MMYY format.

A= Authorized
P = Payment Pending
S= Settled
Status Varchar 1 M
V=Voided
R=Rejected
F=Failed

PaymentRef Varchar 20 O 2C2P PaymentRef/


TransactionRef returned from
AIRLINE Controller to
Confirmation_URL after
Authorization.
PSPProcessedDateTi Numeric 3 O PSP Settlement DateTime in
me format of "yyMMddHHmmss"
SettledAmount Decimal 18,2 O Settled Amount in 2 decimal
format
Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.
Signature string: Version +
Signature Varchar 255 M
ResponseDateTime+
ProcessCode + OfficeID +
ApiResponseCode +
InvoiceNo + EPNumber +
18
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

PNRCode + Status +
PaymentRef + SettledAmount
+ IssuerResponseCode +
PSPProcessedDateTime

2.2.1 tlement response example XML


<apiResponse>
<Version></Version>
<ResponseDateTime></ResponseDateTime>
<ProcessCode></ProcessCode>
<ApiResponseCode></ApiResponseCode>
<ApiResponseDescription></ApiResponseDescription>
<OfficeID></OfficeID>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<IssuerResponseCode></IssuerResponseCode>
<IssuerApprovalCode></IssuerApprovalCode>
<CardNumber></CardNumber>
<CardExpiry></CardExpiry>
<Status></Status>
<PaymentRef></PaymentRef>
<PSPProcessedDateTime></PSPProcessedDateTime>
<SettledAmount></SettledAmount>
<Signature></Signature>
</apiResponse>

19
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

3. Void

3.1 Void request message


Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current API
Version Varchar 5 M
version
RequestDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M V : Void
OfficeID Varchar 50 O
InvoiceNo Varchar 50 O Unique invoice number
EpNumber Varchar 50 M Payment number
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O
CC=Credit Card
CC-VI, CC-CA, CC-JC
123 = Alternative Cash Pay
PaymentType Varchar 50 O Amex = Amex Card
CP=ChinaPay
AP=AliPay
Default is Credit Card
Agent123 Varchar 50 O Appendix D
Channel123 Varchar 50 O Appendix E
Issuer approval code for the
IssuerApprovalCode Varchar 6 O
authorization
PaymentRef Numeric 20 O 2C2P PaymentRef/
TransactionRef returned from
AIRLINE Controller to
Confirmation_URL after Void.
Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.
Signature string: Version +
Signature Varchar 255 M RequestDateTime +
ProcessCode + OfficeID +
InvoiceNo + EpNumber +
PNRCode + Agent123 +
Channel123 + PaymentRef

20
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

3.1.1 Void request XML example

<apiRequest>
<Version></Version>
<RequestDateTime></RequestDateTime>
<ProcessCode></ProcessCode>
<OfficeID></OfficeID>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<IssuerApprovalCode></IssuerApprovalCode>
<PaymentRef></PaymentRef>
<Signature></Signature>
</apiRequest>

21
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

3.2 Void response message


Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current API
Version Varchar 5 M
version
ResponseDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M V : Void
See Appendix API
ApiResponseCode Varchar 3 M
Response Code
ApiResponseDescriptio
Varchar 255 O
n
OfficeID Varchar 50 M
InvoiceNo Varchar 50 M Unique invoice number
EpNumber Varchar 50 M Payment number
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O PNR Code
CC=Credit Card
CC-VI, CC-CA, CC-JC
123 = Alternative Cash Pay
PaymentType Varchar 50 O Amex = Amex Card
CP=ChinaPay
AP=AliPay
Default is Credit Card
Agent123 Varchar 50 O Appendix D
Channel123 Varchar 50 O Appendix E
A= Authorized
P = Payment Pending
S= Settled
Status Numeric 2 M
V=Voided
R=Rejected
F=Failed
Appendix Host Response
IssuerResponseCode Numeric 2-3 O
Code
Issuer Approval Code for
IssuerApprovalCode Varchar 6 O
Authorization
PaymentRef Varchar 20 O 2C2P PaymentRef/
TransactionRef returned from
AIRLINE Controller to
Confirmation_URL after Void.
PSPProcessedDateTi Numeric 3 O PSP Settlement DateTime in
me format of "yyMMddHHmmss"
Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.
ignature string: Version +
ResponseDateTime+
ProcessCode + OfficeID +
Signature Varchar 255 M
ApiResponseCode +
InvoiceNo + EpNumber +
PNRCode + Agent123 +
Channel123 + Status +
PaymentRef +
PSPProcessedDateTime

22
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

3.2.1 Void response XML example


<apiResponse>
<Version></Version>
<ResponseDateTime></ResponseDateTime>
<ProcessCode></ProcessCode>
<ApiResponseCode></ApiResponseCode>
<ApiResponseDescription></ApiResponseDescription>
<OfficeID></OfficeID>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<Status></Status>
<IssuerResponseCode></IssuerResponseCode>
<IssuerApprovalCode></IssuerApprovalCode>
<PaymentRef></PaymentRef>
<PSPProcessedDateTime></PSPProcessedDateTime>
<Signature></Signature>
</apiResponse>

23
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

4. Inquiry Message

4.1 Inquiry request message


Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current API
Version Varchar 5 M
version
RequestDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M I : Inquiry
ProcessStep Varchar 1 M A=Auth, V=Void,S=Settle
OfficeID Varchar 50 O
InvoiceNo Varchar 50 O Unique invoice number
EpNumber Varchar 50 M Payment number
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O
CC=Credit Card
Amex = Amex Card
PaymentType Varchar 50 O
123=Alternative Cash Pay
Default is Credit Card
PaymentRef Numeric 20 O 2C2P PaymentRef/
TransactionRef returned from
AIRLINE Controller to
Confirmation_URL after Void.
Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.
Signature string: Version +
Signature Varchar 255 M
RequestDateTime +
ProcessCode + OfficeID +
InvoiceNo + EpNumber +
PNRCode + PaymentType

4.1.1 Inquiry request XML example


<apiRequest>
<Version></Version>
<RequestDateTime></RequestDateTime>
<ProcessCode></ProcessCode>
<ProcessStep></ProcessStep>
<OfficeID></OfficeID>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<PaymentRef></PaymentRef>
<Signature></Signature>
</apiRequest>

24
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

4.2 Inquiry response message

4.2.1 Inquiry response message (Authorization)


Data Element Name Data Type Length Mandatory / Comments
Optional
Version Varchar 5 M Example 1.0 as current API
version
ResponseDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M A : Authorize
OfficeID Varchar 50 M
ApiResponseCode Varchar 3 M See Appendix API
Response Code
ApiResponseDescriptio Varchar 255 O API Response Description
n
InvoiceNo Varchar 50 M Unique invoice number
EpNumber Varchar 50 M Payment number/Stamp at
PSP
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O PNR Number
PaymentType Varchar 50 O CC=Credit Card
- CC-VI, CC-CA
Amex = Amex Card
123=Alternative Cash Pay
Default = Credit Card
Agent123 Varchar 50 O Appendix D
Channel123 Varchar 50 O Appendix E
UserDefined1 Varchar 50 O
UserDefined2 Varchar 50 O
UserDefined3 Varchar 50 O
UserDefined4 Varchar 50 O
UserDefined5 Varchar 50 O
Amount Varchar 12 M Authorization amount
including leading zero
CurrencyCode Varchar 3 M Currency code
Status Numeric 2 M Payment status code
A= Authorized
P = Payment Pending
S= Settled
V=Voided
R=Rejected
F=Failed
IssuerResponseCode Numeric 2-3 O Appendix Host Response
Code
IssuerApprovalCode Varchar 6 O Issuer approval code for the
authorization

PSPAuthorizedDateTi Varchar 12 O Format : yyMMddHHmmss


me
PaymentRef Numeric 20 O API Payment Reference Code
PaymentRefCode123 Varchar 12 O Payment.RefCode from 123
CardNumber Varchar 19 O Card number (Full Card
Number)
CardExpiry Numeric 4 O Card expiry in MMYY format

25
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

IssuingBankCountry Varchar 2 O Issuing bank country.


Example: TH as Thailand
(following ISO 3166-1 alpha 2)
IssuingBankName Varchar 50 O Name of the card issuing
bank.
CardholderName Varchar 50 O Name of the cardholder
ECI Varchar 2 O ECI value
CAVV Varchar 50 O CAVV value
XID Varchar 50 O XID value
StoreCardUniqueID Varchar 20 O If storeCardUniqueID is
present in the request, card
number, card expiry, issuing
bank country, issuing bank
name and cardholder name in
the request is ignored.
Signature Varchar 255 M Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.

Signature string: Version +


ResponseDateTime +
ProcessCode + OfficeID +
ApiResponseCode +
InvoiceNo + EPNumber +
PNRCode + Agent123 +
Channel123 + Status +
PaymentRef + Amount +
IssuerResponseCode +
IssuerApprovalCode +
PSPAuthorizedDateTime

26
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

4.2.2 Inquiry Response XML (Authorization) example


<apiResponse>
<Version></Version>
<ResponseDateTime></ResponseDateTime>
<ProcessCode></ProcessCode>
<OfficeID></OfficeID>
<ApiResponseCode></ApiResponseCode>
<ApiResponseDescription></ApiResponseDescription>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<UserDefined1></UserDefined1>
<UserDefined2></UserDefined2>
<UserDefined3></UserDefined3>
<UserDefined4></UserDefined4>
<UserDefined5></UserDefined5>
<Amount></Amount>
<CurrencyCode></CurrencyCode>
<Status></Status>
<IssuerResponseCode></IssuerResponseCode>
<IssuerApprovalCode></IssuerApprovalCode>
<AuthorizedDateTime></AuthorizedDateTime>
<PaymentRef></PaymentRef>
<PaymentRefCode123></PaymentRefCode123>
<CardNumber></CardNumber>
<CardExpiry><CardExpiry>
<IssuingBankCountry><IssuingBankCountry>
<IssuingBankName></IssuingBankName>
<CardholderName></CardholderName>
<ECI></ECI>
<CAVV></CAVV>
<XID></XID>
<StoreCardUniqueID></StoreCardUniqueID>
<Signature></Signature>
</apiResponse>

4.2.3 Inquiry Response Message (Settle)


Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current API
Version Varchar 5 M
version
ResponseDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M S : Settle
See Appendix API
ApiResponseCode Varchar 3 M
Response Code
ApiResponseDescriptio Varchar 255 O Response Description
n
OfficeID Varchar 50 M
InvoiceNo Varchar 50 M Unique invoice number
EpNumber Varchar 50 O Payment number
FirstBoardingPoint Varchar 50 O
27
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

PNRCode Varchar 6 O
CC=Credit Card
CC-VI, CC-CA, CC-JC
123 = Alternative Cash Pay
PaymentType Varchar 50 O
Amex = Amex Card
CP=ChinaPay
AP=AliPay
Agent123 Varchar 50 O Appendix D
Channel123 Varchar 50 O Appendix E
Appendix Host Response
IssuerResponseCode Numeric 2-3 O
Code
Issuer approval code for the
IssuerApprovalCode Varchar 6 O
authorization
CardNumber Varchar 16 M/O Credit Card Number (Full)
CardExpiry Varchar 4 M/O Card Expiry in MMYY format.

A= Authorized
P = Payment Pending
S= Settled
Status Varchar 1 M
V=Voided
R=Rejected
F=Failed

PaymentRef Varchar 20 O 2C2P PaymentRef/


TransactionRef returned from
AIRLINE Controller to
Confirmation_URL after
Authorization.
PSPProcessedDateTi Numeric 3 O PSP Settlement DateTime in
me format of "yyMMddHHmmss"
SettledAmount Decimal 18,2 O Settled Amount in 2 decimal
format
Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.
Signature string: Version +
ResponseDateTime+
ProcessCode + OfficeID +
Signature Varchar 255 M
ApiResponseCode +
InvoiceNo + EPNumber +
PNRCode + Status +
PaymentRef + SettledAmount
+ IssuerResponseCode +
PSPProcessedDateTime

28
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

4.2.4 Inquiry Response XML (Settle) example


<apiResponse>
<Version></Version>
<ResponseDateTime></ResponseDateTime>
<ProcessCode></ProcessCode>
<ApiResponseCode></ApiResponseCode>
<ApiResponseDescription></ApiResponseDescription>
<OfficeID></OfficeID>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<IssuerResponseCode></IssuerResponseCode>
<IssuerApprovalCode></IssuerApprovalCode>
<CardNumber></CardNumber>
<CardExpiry></CardExpiry>
<Status></Status>
<PaymentRef></PaymentRef>
<PSPProcessedDateTime></PSPProcessedDateTime>
<SettledAmount></SettledAmount>
<Signature></Signature>
</apiResponse>

4.2.5 Inquiry Response Message (Void)


Mandatory /
Data Element Name Data Type Length Comments
Optional
Example 1.0 as current API
Version Varchar 5 M
version
ResponseDateTime Varchar 12 M Format : yyMMddHHmmss
ProcessCode Varchar 1 M V : Void
See Appendix API
ApiResponseCode Varchar 3 M
Response Code
ApiResponseDescriptio
Varchar 255 O
n
OfficeID Varchar 50 M
InvoiceNo Varchar 50 M Unique invoice number
EpNumber Varchar 50 M Payment number
FirstBoardingPoint Varchar 50 O
PNRCode Varchar 6 O PNR Code
CC=Credit Card
CC-VI, CC-CA, CC-JC
123 = Alternative Cash Pay
PaymentType Varchar 50 O Amex = Amex Card
CP=ChinaPay
AP=AliPay
Default is Credit Card
Agent123 Varchar 50 O Appendix D
Channel123 Varchar 50 O Appendix E
A= Authorized
Status Numeric 2 M
P = Payment Pending
29
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

S= Settled
V=Voided
R=Rejected
F=Failed
Appendix Host Response
IssuerResponseCode Numeric 2-3 O
Code
Issuer Approval Code for
IssuerApprovalCode Varchar 6 O
Authorization
PaymentRef Varchar 20 O 2C2P PaymentRef/
TransactionRef returned from
AIRLINE Controller to
Confirmation_URL after Void.
PSPProcessedDateTi Numeric 3 O PSP Settlement DateTime in
me format of "yyMMddHHmmss"
Hash value computed by
HMACSHA1 with secret key
provided by 2C2P System.
Signature string: Version +
ResponseDateTime+
ProcessCode + OfficeID +
Signature Varchar 255 M
ApiResponseCode +
InvoiceNo + EpNumber +
PNRCode + Agent123 +
Channel123 + Status +
PaymentRef +
PSPProcessedDateTime

4.2.5 Inquiry Response XML (Void) example


<apiResponse>
<Version></Version>
<ResponseDateTime></ResponseDateTime>
<ProcessCode></ProcessCode>
<ApiResponseCode></ApiResponseCode>
<ApiResponseDescription></ApiResponseDescription>
<OfficeID></OfficeID>
<InvoiceNo></InvoiceNo>
<EpNumber></EpNumber>
<FirstBoardingPoint></FirstBoardingPoint>
<PNRCode></PNRCode>
<PaymentType></PaymentType>
<Agent123></Agent123>
<Channel123></Channel123>
<Status></Status>
<IssuerResponseCode></IssuerResponseCode>
<IssuerApprovalCode></IssuerApprovalCode>
<PaymentRef></PaymentRef>
<PSPProcessedDateTime></PSPProcessedDateTime>
<Signature></Signature>
</apiResponse>

30
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

5. Sending the request message

5.1 Sending request message (Redirect / 3DS Non-UI)

Step 1=> Form xml request string


Step 2 => Encrypt xml request string using PKCS7 public key provided by 2c2p.
Step 3 => Send encrypted value to Payment URL with Form post. The form tag variable name for the
encrypted message will be apiRequest .

<Form method=post
action="URL here">
<input type="hidden" Name="apiRequest"
value="MIIGEwYJKoZIhvcNAQcDoIIGBDCCBgACAQAxggFAMIIBPAIBADAkMBYxFDASBgNVBAMTC1NpbmFwdElRIE
NBAgoeg+bBAAAAAAAMMA0GCSqGSIb3DQEBAQUABIIBAAcXZrZwmGdYyFKwfskyMzqoRCvMfmRlPoq7wauu/tNHtQg
5XSjAmrWEfu2qK0D41++uPL8urU7PUzXgGmQgMWsBQcUaF64kvbhuoYK8g7Q+b2jO5in09waRfXoJxlkE1g+5Ecwj
ZamIjrJQyX1+8sOtMRhSlEwQhkVInF77/4Q9UYpJiofegZJJn74XgG88YsCPjn1JggvTA6R2YWxofB50vh05yA8Ga
U1uQxiCQaxqWL+YcwOq//8vO0eBHbSamxg2m8/RqTWx+/7g/D8HSmSyE0QtKBa8dXQr6lcUiOxmJ2L+bo44fdcITB
R4oKQkkdeU/bSJ+W1z76qdXnfaxjkwggS1BgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECJ8mAU1aPOW3gIIEkOnpZ7l
He/pqaf3GxoWPXkLtUfnPN314BWmACdQOrgyJZKDdOruBMvp6Qix+0CCOJR365avc73cHW11pNNMdS5x86ab3Hj3n
BjtMXzz16xJI/NSBxpw0grGjEAJQYiP/i0ihTka5OP95n5n+quYtVn6vRoChx46uRibm8bnjv1UuEGfgVf21HJWpC
fMJ+WRr5XPhaQgU+rAA9M5Hn+8C4gyclHnVMzgzIdneIPBSPs3002Jo6rr6Tojitly/bx/rGeij46oYYWxlEUN5sK
LUBwl21GD5VdGCeKqAnCpRraa/SNfEJIXrblWrzVgMX1TxI6su8bo6qIiKWT4ZkaIqKxIYH8aCVhDxhBwfkvKUpqm
yQmPa4/+3VFNzNiDXvmFNMQOgTFP7WQsXykSPn1lAIIX1q+lWDhQGQ4wogfwM9s9m0FLrkGtisgJXmob2UaVMdv+R
xilr3Wzv8haSY7TcXCrzDXqYPHxDrTL5tZsim+Tno/IheQT40wtCKx8kDIbHcTNhfdk1cciRVK68790FXH8wPuWdN
VTA849OXILu92nZvVU93ODJ2PNXQ2wVscFXs3leVFaAW37qfQ4T8Yx8HZ2JOTIHflIt0LVoqmC6gUjTkjdkMOxaQi
gWM3KVV/iQxsF0s6ZCftEyzOOAirlineWsCY9RVEbQhMzFuW2dr0Te9Ezqw11gQ0ibkPy7dV03WL3PpNC+wg8tlQ2
lohzy
7EXNn2TuOaIAGBf4cOrR0n3DwiDOS2On6zQw6OF9haY61UxBirjUQP5wPAs6gzRsexAkraOgvxikjQRqrwqXpMhbh
wxcG3HcdH353kVt4OQvlKWAmSVettuO0X6t7gT9K61/qJ8TJimsNSEebJPZ90w0d4PdXb9TT2gZGv/pyMtzJkcz8f
yDz0jXzalKEvqAR8kSyNVhVQcQGlMjwbKfyS8S/dGGj1txfTCYV7Nigys4yE0Fg+n604rV1PxZLW0UY81uMasZPbw
PLRDgTTkpECELARjhiteamfmxfiqQEuL5GjOitNNWt8G7tS8+WGyxM4qdBJZZ2+QtQbhNyasPG5LnepFhg2f+mPC7
7Hl6TiUmyBMAxb8SUFRdaHZq6uMN6Ehil5dVuzf+0oaglpLSDUJReBbXjdpi2vJLcH3rM9ArR+0bHdyS3o7dSlxUV
vtQ9TEQmFvEoL2dMqAGUjAUD63E1tJzVWgGrZQtrhjMK/ASLtCCqnqRbn8N0G2I7ALPj+tWdsTLs+JIJeQqmK1H6U
K/Xv1qxNS22Zq908xb7ePcv9VCMNcxpOzApQie+faf6ANK4x6y9MYfaenrDrcBq95Md51nG/GnIQEflhIh+8NGx0v
KWpqOdZamq4lKlTuiMQ8HkgFV9jaHIYLJl5waVCf/RebX2oK2vXXR/W0u+nOOMCEbM6e7y52v/Kc+v/P3L5NFM9NQ
U6uouZOEkVqajdLyyU9rFhUaGUOsOTjgcOUTILhMSJLCNS32vpukwi5xoJkJTIeLi0D/9AI/A9jBCNTDCz8WqUN2D
9Z6EH4pBNPZbh5oN3Alpv07X4dFQcgpAMaDqR9g=">
<input type="submit" value="Send" name="submit" >

31
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

5.2 Receiving response message (Redirect/3DS NonUI)

Step 1 => Receiving Payment Response: the payment processing system will
send back encrypted Payment Response XML message to the Confirmation_URL or *predefined
return URL using HTTP Form Post method. The form tag name of the encrypted payment response
will be apiResponse. If payment is failed/rejected/cancelled, 2c2p will redirect to Cancellation_URL.

The following is the example code snippet in C# on how to receive payment response from 2C2P
system.

string encryptedPaymentResponse = ;

encryptedPaymentResponse = Request.Form[apiResponse];

The following is the example code snippet in PHP on how to receive payment response from 2C2P
system.

$encryptedPaymentResponse = ;

$encryptedPaymentResponse = _REQUEST[apiResponse];

32
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.4

Step 2 => Decrypt the payment response using merchant's private key and interpret the result. The
following example use 2C2P .Net framework dll to decrypt the payment response.
In C#

SinaptIQPKCS7.PKCS7 pkcs7 = new SinaptIQPKCS7.PKCS7();

string encryptedPaymentResponse =
MIIE2wYJKoZIhvcNAQcDoIIEzDCCBMgCAQAxggFAMIIBPAIBADAkMBYxFDASBgNVBAMTC1NpbmFwdEl
RIENBAgoeg+bBAAAAAAAMMA0GCSqGSIb3DQEBAQUABIIBAGfvpnQI07oTmL+Mmfdpf6ms+h+2w4+rs0k
q/8/U049Poy5aUl9mwwVKgx1OksFgsYj7+R7CrXR6MvK/P49eFl+wFVtHRS0VxfAQLo3ja+GpqRdMd2o
akkPVJ/AK1VWooli07pzDxdixjN5DDBuRH+mBrV+G1js8eymgpIx1PmNPL9zyGZmiXvurT3xg91amWJQ
/+bfJ2pmBBlMqs+cav5oTJ7v1eoQPzFK+8CvA+dSyZK7hSkGT1gciPVwhCQW7xAIfB/6tR0p2/hgZXlY
nZOn+PbNMozD1/pqPNQjnfW4WG9SsLPiplycLhF7fpJ3dch+RHhBPGkcw19Ow0SeS3TEwggN9Bgkqhki
G9w0BBwEwFAYIKoZIhvcNAwcECPkjkibE353SgIIDWGz3MSEQo0dBJd542O/O3R4Ro7MsK/DhKJyvHG8
aX1AJOYHcMe7XcFCH19jFZFiT0lPM11iHS+XJpz91lSZ8ZAhoaoKt0EbQhGqsQYL5tLOLKDdaJloonH9
SSTiFpTlPQlpRh/qBeBuDegCCxHGXhe4UkWlOds1vCWS+87uRr/+BpY7H5tAgJCXy22ScIDLjxgrYd4O
s4ax3h0Q7v3xkwrL4yTOwLx8dr0HcQRDdHecAjzeHqazig8kqFWKC0jrmBbCDQ2W7r6fFsIYeb6xZceH
fuCiMvPOeKOtjJgbA7rkWq/gaKpNuwE8b4PN2zazI3rANSpLwYSluN4FtN5wj+YivvplgTlhkFm8lGQo
V9hwUaSkJX2shi3yG/O1UjVZIXDtPF7aPPtVFkCjpQXwGkrFUX45XFHoWuI9ozSDd9wlXNwucc05wD9+
dHQChhlSqHkPEcoJ4fzn8PGBmJOCdLSxQ/omkGh52sH8vcOOZFH+vUTv0FwEUb7lpePKqC3xSivOXkU/
O68ttAUW40ZzQKWat9QOId9ij7LxklGXzbnt6F8fJx7TSezB5s6u2JjzoQkHS04NQ7l8fXFObzoL+j4q
LG6MSUxxuA/awL4wNGZLqZ9q2OMUHB9DQoAlSJ/cgdSq1jvmWBEV/vROcxvyaSNuZ8NsqSmsLvSEFeek
hqkCjxHDmHCl4SoQD2iLTBf8AuvJix5R+9sor4x3wMIqcsD72aPalrZOIc6DIbziz0DjZQ+UIjvs4STp
AirlinePhJuYmutd0Yk+CGNrXtM0zn+a9NLMooDYrOu0BpT3PlQeaFOILfMbckNbDmU8X6kx2cc4y48w2
aFtQ
R9QgVcvQ1n7K+JxEKVnpZKMRBs1bBtfd7gNOg59byWNa+JcAzA+2AHPMtKlFksevfGtYO64KwEaG1EIo
4wjJYJ+Czk1ScTvKjwhY2GgsJeyVCLQb3LF51P2EZoyA7zogC7mJJhO4Nksl1dScH/yo3B8fyQ6DcD20
gVySee1Q3Esd/SlgOgxRSG9xbx6lXgf1vEdpF5hCfnvH+hzynpUe1GY4CmHojLtY0YfwUdUq7EX7NChE
n7Gh2yfXSAz7WQM3KJwODYV05jhoH5jSslIrJQt1RzVkHuzS386MUvEhumKis/r0=;

string paymentResponse = pkcs7.decryptMessage(encryptedPaymentResponse,


pkcs7.getPrivateCert("D:/demo2_2c2p.pfx",
"2c2p"));

In PHP

<?php
include('pkcs7.php'); //to use this library create a folder for temporary file
in the same location as pkcs7.php with named tmp.
//public and private keys
$publicKey = "demo2_2c2p.crt";
$privateKey = "demo2_2c2p.pem";
$privateKeyPass = "2c2p";
$encrypt_text = "encrypted message"; //message returned by 2c2p PGW //to
decrypt
$decrypted= $pkcs7-
>decrypt($encrypt_text,$publicKey,$privateKey,$privateKeyPass); echo
$decrypted;
?>

33
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

5.3 Sending and receiving the message (non 3DS, non UI)

Step 1=> Form xml request string


Step 2 => Encrypt xml request string
Step 3 => Send encrypted value to 2C2P Payment URL with server to server post
and get the encrypted response.
Step 4 => Decrypt the response using private key.
Example in C#
public bool SendRequest(string strEncryptedRequest, string paymentURL, out
string strEncryptedResponse, out string err)
{
strEncryptedResponse = "";
err = "";
try
{
//Create an instance of the WebRequest class
WebRequest objRequest = WebRequest.Create(paymentURL);
objRequest.Timeout = 120000;
//In milliseconds - in this case 2 min
objRequest.Method = "POST";
objRequest.ContentLength = strEncryptedRequest.Length;
objRequest.ContentType = "application/x-www-form-urlencoded";
//Create an instance of the StreamWriter class and attach the
WebRequest object to it - here's where we do the posting
StreamWriter postWriter = new
StreamWriter(objRequest.GetRequestStream());
postWriter.Write(strEncryptedRequest);
postWriter.Close();
//Create an instance of the WebResponse class and get the output
to the rawOutput string
WebResponse objResponse = objRequest.GetResponse();
StreamReader sr = new
StreamReader(objResponse.GetResponseStream());
strEncryptedResponse = sr.ReadToEnd();
sr.Close();
return true;
}
catch (Exception ex)
{
err = ex.Message.ToString(); return false;
}
}

Example in PHP

<?php
require("HTTP.php");
//POST TO PGW
$HTTP = new HTTP();

$result = $HTTP-
>post("http://demo2.2c2p.com/Payment.aspx","apiRequest=".$encrypted);
echo "result: ".$result;
?>
33
2015 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

HTTP.php

<?php
/**
* CURL POST

* @param string $url


* @param string $fields_string
* @return void
* @author 2c2p
*/

Class HTTP
{
function post($url,$fields_string)
{
//open connection
$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//execute post
$result = curl_exec($ch); //close connection
curl_close($ch);

return $result;
}
}

34
2016 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

Appendix: A-API URL


2C2P URL
Demo UI API TBC
Production UI API TBC

35
2016 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

Appendix: B-API Response Code


Response Code Description
00 Success
9001 Invalid request version
9002 Authentication Failed.
9003 Invalid http request method.
9004 Invalid request.
9005 Unable to decrypt request.
9006 Missing Mandatory Fields
9007 Invalid field length.
9008 Invalid field value.
9009 Invalid merchant profile.
9010 No public key is set.
9011 Invalid configuration.
9012 Return URL is not set.
9013 Invalid currency code.
9014 EP Generation Failed
9020 Stored card option is disabled.
9021 Installment Payment is disabled.
9022 Corporate BIN rejected.
9023 Fraud rejected.
9024 PSP Profile is not valid.
9025 3D Authentication Failed.
9026 Authorization failed
9027 Ticket issue failed
9028 Payment is cancelled
9029 China Union Pay sign failed
9030 Session is expired.
9031 Duplicate request.
9032 Payment is rejected.
0099 Reserved
9098 Validation Check Failed.
9097 System DB Error
9099 System Error

36
2016 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

Appendix: C Issuer Response Code

Acquiring Host Response Code


Response Code Description
00 Approved
01 Refer to Card Issuer
02 Refer to Issuer's Special Conditions
03 Invalid Merchant ID
04 Pick Up Card
05 Do Not Honour
06 Error
07 Pick Up Card, Special Conditions
08 Honour with ID
09 Request in Progress
10 Partial Amount Approved
11 Pending Payment (For 123)
12 Invalid Transaction
13 Invalid Amount
14 Invalid Card Number
15 No Sun Issuer
16 Approved, Update Track 3
17 Customer Cancellation
18 Customer Dispute
19 Re-enter Transaction
20 Invalid Response
21 No Action Taken
22 Suspected Malfunction
23 Unacceptable Transaction Fee
24 File Update not Supported by Receiver
25 Unable to Locate Record on File
26 Duplicate File Update Record
27 File Update Field Edit Error
28 File Update File Locked Out
29 File Update not Successful
30 Format Error
31 Bank not Supported by Switch
32 Completed Partially
33 Expired Card - Pick Up
34 Suspected Fraud - Pick Up
35 Contact Acquirer - Pick Up
36 Restricted Card - Pick Up
37 Call Acquirer Security - Pick Up
38 Allowable PIN Tries Exceeded
39 No Credit Account
40 Requested Function not Supported
41 Lost Card - Pick Up
42 No Universal Amount
43 Stolen Card - Pick Up
44 No Investment Account
45 Settlement Success
46 Settlement Fail
47 Cancel Success
48 Cancel Fail
37
2016 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

Response Code Description


49 No Transaction Reference Number
50 Host Down
51 Insufficient Funds
52 No Cheque Account
53 No Savings Account
54 Expired Card
55 Incorrect PIN
56 No Card Record
57 Trans. not Permitted to Cardholder
58 Transaction not Permitted to Terminal
59 Suspected Fraud
60 Card Acceptor Contact Acquirer
61 Exceeds Withdrawal Amount Limits
62 Restricted Card
63 Security Violation
64 Original Amount Incorrect
65 Exceeds Withdrawal Frequency Limit
66 Card Acceptor Call Acquirer Security
67 Hard Capture - Pick Up Card at ATM
68 Response Received Too Late
69 Reserved
70 Settle amount cannot more than authorized amount
71 Inquiry Record Not Exist
72 Reserved
73 Reserved
74 Reserved
75 Allowable PIN Tries Exceeded
76 Invalid Credit Card Format
77 Invalid Expiry Date Format
78 Invalid Three Digits Format
79 Reserved
80 User Cancellation by closing Internet Browser
81 Reserved
82 Reserved
83 Reserved
84 Reserved
85 Reserved
86 ATM Malfunction
87 No Envelope Inserted
88 Unable to Dispense
89 Administration Error
90 Cut-off in Progress
91 Issuer or Switch is Inoperative
92 Financial Institution not Found
93 Trans Cannot be Completed
94 Duplicate Transmission
95 Reconcile Error
96 System Malfunction
97 Reconciliation Totals Reset
98 MAC Error
99 Reserved

38
2016 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

123 Response Code


Response Code Description

000 SUCCESS (PAID)

001 SUCCESS (PENDING)

002 TIMEOUT

003 INVALID MESSAGE

004 INVALID PROFILE(MERCHANT) ID

005 DUPLICATED INVOICE

006 INVALID AMOUNT

007 INSUFFICIENT BALANCE

008 INVALID CURRENCY CODE

009 PAYMENT EXPIRED

010 PAYMENT CANCELED BY PAYER

011 INVALID PAYEE ID

012 INVALID CUSTOMER ID

013 ACCOUNT DOES NOT EXIST

014 AUTHENTICATION FAILED

015 SUCCESS (PAID MORE MISMATCHED) customer paid


more than transaction amount

016 SUCCESS (PAID LESS MISMATCHED) customer paid


less than transaction amount

017 SUCCESS (PAID EXPIRED) customer paid expired


transaction Merchant can select response between '000'
or "017" (setting in 123 Merchant report service)

998 INTERNAL ERROR

999 SYSTEM ERROR

39
2016 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

Appendix: D 123 Agent Codes


Agent Name Agent Code

BAY Bank of Ayutthaya

BBL Bangkok Bank

BIGC Big C Supercenter

KBANK Kasikorn Bank

KTB Krung Thai Bank

MPAY mPay Station by AIS

PAYATPOST Pay@Post by Thailandpost

SCB Siam Commercial Bank

TBANK Thanachart Bank Public


Company Ltd.

TESCO Tesco Lotus Counter Service

TMB TMB Bank Public Company


Limited

TOT Just Pay by TOT public


Company Ltd.

TRUEMONEY True Money Shop

UOB United Overseas Bank

CENPAY Central Counter Payment

40
2016 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

Appendix: E 123 Chanel Codes


Channel Code Channel Name

ATM ATM Machine

BANKCOUNTER Bank Counter

IBANKING Internet Banking

OVERTHECOUNTER Over the counter

WEBPAY Web Payment


(Direct Debit)
MOBILEBANKING Mobile Banking
Application
(Scan QR code and Pay)

41
2016 2C2P Pte. Ltd. All Rights Reserved.
Payment Service API for Airlines
Document version: 1.5.5

Appendix: F-Available Payment Channels

42
2016 2C2P Pte. Ltd. All Rights Reserved.

Вам также может понравиться