Response Redirect / Callback
Share Commerce will redirect to Merchant (based on Payment Request RedirectURL parameters pass in) with the status of transaction completion.
Merchant server shall examine field RespCode to determine the actual processing response of the request.
| Field Name | Data Type (Len) | M/O | Description |
|---|---|---|---|
| RespCode | String (30) | M | Payment response code (Refer to Appendix 1 – Response Code) |
| RespDesc | String (1000) | O | Result description of a payment transaction |
| MerchantID | String (50) | M | Unique merchant ID assigned to each merchant by Share Commerce |
| TxnRefNo | String (50) | M | Unique reference of a transaction, generated by Share Commerce |
| CurrencyCode | String (5) | M | Transaction currency |
| TxnAmount | Decimal (18,2) | M | Transaction amount |
| MerchantOrderNo | String (50) | M | Unique Order no generated in merchant system |
| MerchantOrderDesc | String (1000) | O | Order description |
| MerchantRef1 | String (100) | O | Merchant reference 1 |
| MerchantRef2 | String (100) | O | Merchant reference 2 |
| MerchantRef3 | String (100) | O | Merchant reference 3 |
| CustReference | String (50) | O | Customer reference |
| CustName | String (150) | O | Customer name |
| CustEmail | String (150) | O | Customer email |
| CustPhoneNo | String (50) | O | Customer phone number |
| CustAddress1 | String (100) | O | Customer address line 1 |
| CustAddress2 | String (100) | O | Customer address line 2 |
| CustCountryCode | String (10) | O | Customer country code |
| CustAddressState | String (150) | O | Customer state |
| CustAddressCity | String (150) | O | Customer city |
| CustPostcode | String (100) | O | Customer postcode |
| PaymentMethod | String (100) | M | Payment Method select by customer. (Refer to Appendix 2 - Payment Method) |
| MaskedPAN | String (20) | O | Masked Card Number if payment via Credit/Debit Card. |
| Versioning | Integer | M | API Version. Hard code value 6. |
| SCSign | M | Message sign (Refer to below SCSign Calculation section) |
Legend:
M: Mandatory field.
O: Optional field. Value can be empty, but parameter must exist.
1. Response Sample (Redirect)
https://[MerchantRedirectUrl]?RespCode=00
&RespDesc=Success
&MerchantID=MID0001
&TxnRefNo=3262873184
&CurrencyCode=MYR
&TxnAmount=101.50
&MerchantOrderNo=POST0001
&MerchantOrderDesc=perfume
&MerchantRef1=mref1
&MerchantRef2=mref2
&MerchantRef3=mref3
&CustReference=ctRefIC111
&CustName=TomTom
&CustEmail=tomt%40email.com
&CustPhoneNo=01938668396
&CustAddress1=add1
&CustAddress2=add2
&CustCountryCode=MY
&CustAddressState=semenyih
&CustAddressCity=selangor
&CustPostcode=57000
&PaymentMethod=CARD
&MaskedPAN=545301XXXXXX1234
&Versioning=6
&SCSign=3bc0f71376f33e9f7439df71b6ff0f8a2a26eb589442302368ee6c90c22f23c8
*Note, above is one line string url.
2. Response Sample (Callback)
{
"RespCode": "00",
"RespDesc": "Success",
"MerchantID": "MID0001",
"TxnRefNo": "3262873184",
"CurrencyCode": "MYR",
"TxnAmount": 101.50,
"MerchantOrderNo": "POST0001",
"MerchantOderDesc": "Perfume",
"MerchantRef1": "mref1",
"MerchantRef2": "mref2",
"MerchantRef3": "mref3",
"CustReference": "ctRefIC111",
"CustName": "TomTom",
"CustEmail": "tomt%40email.com",
"CustPhoneNo": "01938668396",
"CustAddress1": "add1",
"CustAddress2": "add2",
"CustCountryCode": "MY",
"CustAddressState": "semenyih",
"CustAddressCity": "selangor",
"CustPostcode": "57000",
"PaymentMethod": "CARD",
"MaskedPAN": "545301XXXXXX1234",
"Versioning": 6,
"SCSign": "3bc0f71376f33e9f7439df71b6ff0f8a2a26eb589442302368ee6c90c22f23c8"
}
SCSign Calculation (Redirect & Callback)
SCSign generation will concat all the above Table Field's value (in sequence), with HMACSHA256.
Concat all the value (refer to Sample)
String to sign :
00SuccessMID000013262873184MYR101.50POST0001perfumemref1mref2mref3ctRefIC111TomTomtomt@email.com01938668396add1add2MYsemenyihselangor57000CARD545301XXXXXX12346
Calculate with HMACSHA256
Secret Key : mSuE3Ttn5B8vJhe5ncMutMLV
SCSign : f5e3093a6b3569005f671869cce566ce532a35dfc8de3007a488beb0c3c8755e