Payment Request API
Last updated
Last updated
Params Name | Description | Required | Notes |
action | Action name (Constant Value) | Y | “CC_PURCHASE” / “CC_PREAUTH” (for pre-authorization) |
version | Version number | Y | "2.0" |
merchant_id | Merchant ID | Y | Provided by OTT Pay |
data | Encrypted Transaction Data | Y | See "Data" table below |
md5 | Message Digest | Y |
☑️ Request Example(JSON Data):
Params Name | Description | Required | Notes |
orderId | Order ID | N | String, Order ID should be unique, it could be generated by OTTPAY or generated by client’s code with no more than of 20 numbers and alphabets |
merId | Merchant ID | N | String, Provided by OTTPAY |
shopId | Store Id | Y | String, provided by OTTPay |
termId | Terminal no | N | String, “CNP_ECOM”, i.e., card not present E-commerce |
operator_id | Operator ID | Y | String, provided by OTTPay |
txnTime | Transaction Time | Y | String, format “yyyyMMddHHmmss” |
txnAmt | Transaction Amount | Y | String, "100" for 1.00 dollar |
cc_number | Encrypted card data | Y | String, see detail in the “Description for request encryption for cc_number, and cc_sha in data of request” in appendix A |
cc_sha | SHA 256 of card data | Y | String, see detail in the “Description for request encryption for cc_number, and cc_sha in data of request” in appendix A |
cc_type | Card type | N | String, “VISA”/”MC” |
channelType | UnionPay Payment Channel identity | Y | "PORTICOECOM" |
biz_type | Message Digest | Y | " portico_card" |
cc_channelType | Payment Channel | N | "web" |
currency | Currency type | Y | String, “CAD”/”USD” |
cc_maskednum | Masked card number | Y | String, last 4 digits of card number |
☑️ Encrypted cc_number field contains the following fields:
Params Name | Description | Required | Notes |
cc_number | Pan | Y | Card number |
cc_name | Card holder | Y | Card holder |
cc_expiry | Expire date | Y | Card expire date |
cvn2 | Cvv2 | Y | Verification code |
ssl_avs_address | address | Y | Card holder address |
ssl_city | city | Y | Card holder city |
ssl_province | province | Y | Card holder province/state |
ssl_avs_zip | Postal code | Y | Card holder postal code |
ssl_country | country | Y | Card holder country |
Params Name | Description | Required | Notes |
rsp_code | Response code | Y | refer to Appendix B |
rsp_msg | Response message | Y | |
data | Encrypted Data | Y | See "Data" table below |
md5 | Message Digest | Y |
☑️ Response Example(JSON Data):
Params Name | Description | Required | Notes |
rspCode | Payment response code | Y | The response code by payment gateway |
rspMsg | Payment response message | Y | The response message by payment gateway |
trade_time | Finish time | Y | Payment time |
orderId | Order id | Y | Order ID |
trackorderId | Order Id for track | N | Track order Id, used for split bill |
bizpay_order_id | Gate way payment Id | Y | Payment transaction id from gateway |
amount | Pay amount | Y | Transaction amount |
tip | tip | N | Tips amount |
order_status | Status of the order | N | Status of order, “success”, “processing”, ”error”, ”fail” |
exchange_rate | rate | N | Exchange rate |
convenience_fee | fee | N | Possible additional fee |
refundAmount | Y |