3. Message specification

@Payon development group

3.1 Request card verification 3.1.1 Request message

Key

Value

Length

Data Format

card_type

Card type 1. Fixed to “OC” (OC: Online Card)

2

String

api_channel

API channel mode 1. Fixed to “6”: EDEEL

1

String

trt_type

Transaction type 1. Fixed to “40” (40: Request Card Verification)

2

String

term_id

Terminal ID given by PayOn 1. “CT04000002”: Test Terminal ID for PayGo 2. Real Terminal ID will provide by PayOn

10

String

tx_id

Unique Transaction ID 1. Generate unique value to avoid duplicate (ex: ddMMyyyy-#####)

min 6 max 16

String

req_date

Top-up request date 1. Format: “ddMMyyyyHHmmss”

14

String

topup_code

Top-up Code 1. “01”: Top-up by phone number 2. “02”: Top-up by card number 3. “03”: Top-up by user id

2

String

user_id

Customer's PayOn online(Phone Number, Card No, User ID) 1. “016944666”: Test phone number 2. “1010499900000048”: Test card number 3. “[email protected]”: Test User ID

Max 50

Encrypted Hex String

currency

Currency of the amount to top-up 1. “D”: USD 2. “K”: KHR

1

String

tx_mac

Message authentication code 1. MAC for “term_id + tx_id + req_date”

16

Hex String

3.1.2 Response message

Key

Value

Length

Data Format

result_code

Top-up result code 1. “0000”: success 2. “1001” ~ “9999”: Fail (Refer to error code list)

4

String

result_message

Top-up result message

Max 100

String

member_name

Terminal ID given by PayOn

10

String

card_no

Customer's PayOn online card number

Encrypted Hex String

currency

Currency of the amount to top-up 1. “D”: USD 2. “K”: KHR

1

String

trt_type

Transaction type 1. “41”: Card verification response

2

String

3.1.3 Sample Request { "card_type": "OC", "api_channel": "6", "trt_type": "40", "term_id": "CT04000002", "tx_id": "1811202009565501", "req_date": "18112020095655", "topup_code": "01", "user_id": "6e8611af51bab4f594a7dc95e37b9dfe", "currency": "D", "tx_mac": "86ca79ff12819631" } Response { "result_code": "0000", "result_message": "Card found", "member_name": "AppDemo User 11", "card_no": "764bb9a151759f06c5d4d45ec373fd252ba7a335cd65ee3e7d63be3e5823ddf6", "currency": "D", "trt_type": "41" }

3.2 Request online top-up 3.2.1 Request message

Key

Value

Length

Data Format

card_type

Card type 1. Fixed to “OC” (OC: Online Card)

2

String

api_channel

API channel mode 1. Fixed to “6”: EDEEL

1

String

trt_type

Transaction type 1. Fixed to “30” (30: Request Top-up)

2

String

term_id

Terminal ID given by PayOn 1. “CT04000002”: Test Terminal ID for EDEEL 2. Real Terminal ID will provide by PayOn

10

String

tx_id

Unique Transaction ID 1. Generate unique value to avoid duplicate (ex: ddMMyyyy-#####) 2. Use the same tx_id of card verification request

min 6 max 16

String

req_date

Top-up request date 1. Format: “ddMMyyyyHHmmss” 2. Use the same request date of card verification request

14

String

card_no

Customer's PayOn online card number 1. Use card_no of card verification response

Encrypted Hex String

amount

Amount to top-up

  1. Do not use decimal point.

Min 1 Max 8

Encrypted Hex String

currency

Currency of the amount to top-up 1. “D”: USD 2. “K”: KHR

1

String

tx_mac

Message authentication code 1. MAC for “term_id + tx_id + req_date” 2. Use the same tx_mac of card verification request

16

Hex String

3.2.2 Response message

Key

Value

Length

Data Format

result_code

Top-up result code 1. “0000”: success

2. “1001” ~ “9999”: Fail (Refer to error code list)

4

String

result_message

Top-up result message

Max 100

String

term_id

Terminal ID given by PayOn

10

String

tx_id

Unique Transaction ID

min 6 max 16

String

req_date

Top-up request date

14

String

card_no

Customer's PayOn online card number

16

String

amount

Top-up amount

Min 1 max 8

String

approval_date

Top-up approval date and time 1. Format: “ddMMyyyyHHmmss”

14

String

approval_no

Top-up approval number

16

Encrypted Hex String

tx_mac

Message authentication code 1. MAC for “term_id + tx_id + approval_date”

16

Hex String

3.2.3 Sample Request { "card_type":"OC", "api_channel":"6", "trt_type":"30", "term_id": "CT04000002", "tx_id": "1811202009565501", "req_date": "18112020095655", "card_no":"764bb9a151759f06c5d4d45ec373fd252ba7a335cd65ee3e7d63be3e5823 ddf6", "amount": "e1471940f75aea2c01a670228b36ecee", "currency":"D", "tx_mac":"86ca79ff12819631" } Response { "result_code": "0000", "result_message": "OK", "term_id": "CT04000002", "tx_id": "1811202009565501", "req_date": "18112020095655", "card_no": "764bb9a151759f06c5d4d45ec373fd252ba7a335cd65ee3e7d63be3e5823ddf6", "tx_mac": "50c59ddd17c3c4ae", "amount": "e1471940f75aea2c01a670228b36ecee", "approval_date": "18112020095858", "approval_no": "fe6142c8ccf2f07434bb2457c99d9165" }

Last updated

Was this helpful?