The URL service end points for the direct payment API are as follow:
The transaction request from merchant system should be formatted in JSON, and send through the BODY of the HTTP Request to RDP service end-point.
There are three types of transaction request mode within RDP Direct API as follow:
Below are those steps for creating or generating the transaction signature inside the request message:
For secret-key:
D716A4188569B68AB1B6DFAC178E570114CDF0EA3A1CC0E31486C3E41241BC6A76424E8C37AB26F096FC85EF9886C8CB634187F4FDDFF645FB099F1FF54C6B8C
Concatenated string for signature:
1000089029TST101S1.02SGD41111111111120173D716A4188569B68AB1B6DFAC178E570114CDF0EA3A1CC0E31486C3E41241BC6A76424E8C37AB26F096FC85EF9886C8CB634187F4FDDFF645FB099F1FF54C6B8C
Example:
{
"merchant_reference": "testing",
"payer_name": "abc",
"card_no": "4111111111111111",
"exp_date": "112017",
"cvv2": "123",
"mid": "1000089029",
"order_id": "TST101",
"amount": "1.02",
"ccy": "SGD",
"api_mode": "direct_n3d",
"payment_type": "S",
"payer_email": "merchant@merchant.com",
"signature": "ec67c7ed4cf9e2acfca7d0e53750f1a1696a10636fbb9d5781d6fa5e8fae53a5e476c4cb3a5268aa5a0398f118f763e7f0eb77b8fed742f5c0dc192593cb1cf5"
}
For secret-key :
D716A4188569B68AB1B6DFAC178E570114CDF0EA3A1CC0E31486C3E41241BC6A76424E8C37AB26F096FC85EF9886C8CB634187F4FDDFF645FB099F1FF54C6B8C
Concatenated string for signature:
1000089227TST101A1.02SGD1981401925D716A4188569B68AB1B6DFAC178E570114CDF0EA3A1CC0E31486C3E41241BC6A76424E8C37AB26F096FC85EF9886C8CB634187F4FDDFF645FB099F1FF54C6B8C
Example:
{
"payer_name": "abc",
"payer_id": "1981401247381925",
"mid": "1000089227",
"order_id": "TST101",
"amount": "1.02",
"ccy": "SGD",
"api_mode": "direct_n3d",
"payment_type": "A",
"payer_email": "merchant@merchant.com",
"signature":"09b942bf5778e160d3d83653127466a59e6073dfe85e81ec5c368089d91ff564c4c556e37bc6fd84bc82601819762a843158e8dfc0e8f17bc6afb565ae7b9959"
}
Transaction response result example:
{"mid":"1000089029","transaction_id":"pruefer_9is_9901523031657784985","order_id":"pruefer_9is","acquirer_transaction_id":"311815","request_amount":"0.01","request_ccy":"SGD","authorized_amount":"0.01","authorized_ccy":"SGD","acquirer_authorized_amount":"0.01","acquirer_authorized_ccy":"SGD","response_code":"0","response_msg":"successful","acquirer_response_code":"0","acquirer_response_msg":"APPROVED OR COMPLETED","acquirer_authorization_code":"657300","created_timestamp":"2017-05-05 09:49:24","acquirer_created_timestamp":"2017-05-05 09:49:15","first_6":"411111","last_4":"1111","request_timestamp":"2017-05-05 09:49:08","request_mid":"1000089029","transaction_type":"S","payment_mode":"1","signature":"cf966933ef6b23ab45b95e9a0d8d4d51bd024f9ed3aaa0b0ff66132e317f8b0fa077dcd5b50dd2dcc6808d8b00b90b4cc53a9cfa04278118f8a848f86782eb2a"}
The following is a step by step procedure to calculate the signature response. This is required in order to verify that the response is coming from RDP system.
Note:
Please take note that the ‘signature’ field will not always be available or exist inside RDP response message; and might only be available or exist for these following response codes:
{
"mid": "1000089227",
"transaction_id": "TST101_1497589026754509762",
"order_id": "TST101",
"acquirer_transaction_id": "1450067604",
"request_amount": "1.02",
"request_ccy": "SGD",
"authorized_amount": "1.02",
"authorized_ccy": "SGD",
"response_code": "-1",
"response_msg": "bank reject",
"acquirer_response_code": "9967",
"acquirer_response_msg": "issuer bank reject",
"acquirer_authorization_code": "1450067604",
"created_timestamp": "2015-12-14 12:33:24",
"acquirer_created_timestamp": "2015-12-14 12:33:24",
"first_6": "520000",
"last_4": "7102",
"payer_name": "abc",
"exp_date": "112017",
"request_timestamp": "2015-12-14 12:33:21",
"merchant_reference": "",
"transaction_type": "A",
"signature": "28b2a637e0ce35949b6120d9ad4ef577a93c4e86c788e4575e430b4136bb8b0a3dd3f2490e76a0885918b40ae73a580bc08faeb0a048ecac9691bc4e9e780b30"
}