Quicksilver P2P API Integration Manual v1.0.4
Quicksilver P2P API Integration Manual v1.0.4
Status: Published
Table Of Content
1.0.1 2017-09-29 Added Alipay and Wechat pay and QQCoin bv interface
example
3. Prerequisites
Company ID
The CompanyID/Merchant Code provided by Quicksilver and use to uniquely identify the
Merchant.
Request URL
Merchant to provide Request URL to Quicksilver team ([email protected]).
Registered Request URL must be either IP or domain based.
4. Merchant Integration
4.1 URL
Post the following parameters to Quicksilver Post URL:
https://api.samopay.com/API/SamopayCheckCompany.asp
The EPKey is
valid for 40
days from
the date of
transaction
and it is
renewed for
another 40
days upon
subsequent
transactions
using this
key.
signature signature This is MD5 signature that (refer to 6.1 Posting Signature
generate by our gateway Validation )
On the request page, specify the callback post URL by using "callbackURL" parameter.
6. Security
● Signatures are used when posting a submission to Quicksilver. It is also used when
Quicksilver sends callback to the merchant.
● The callback page should implement checking signature checking, and etc to prevent
user hijack merchant system.
● · The callback page should not have session related code so that merchant
systems are still able accept payment status from Quicksilver even if the user
is logged out or the session is expired.
● · You need to implement a check to make sure
callback page to update the order so it won't update order status in
system more than 1 time.
3. CartID
4. Amount ( For the Amount value, remove the “.” and “,” is any.)
5. Currency
The fields must set in the following order, (add separator semicolon “;” in every each of
value)
(SignatureKey & “;” & CID & “;” & CartID & “;” & Amount & “;” & Currency)
For an example,
SignatureKey = “abcdef”
CID = “M104-C-123”
CartID= “CART001”
Amount = “45.00” (take out the “.” And “,”)
Currency = “CNY”
The hash would be calculated on the following string (Convert all characters to uppercase
before hashing)
ABCDEF;M104-C-123;CART001;4500;CNY
The resulting signature value equals to (calculate by MD5 algorithm)
51805653a9ca99464c3e7af40d85e68a
1. SignatureKey (please request from Quicksilver Support, this key is shared between
Quicksilver and Merchant only)
2. CID (Company ID/Merchant Code)
3. OID (BillNo / ReferenceNo from Quicksilver)
4. CartID
5. Amount ( For the Amount value, remove the “.” and “,” is any.)
6. Currency
7. Status
There fields must be set in the following order. Add separator semicolon “;” in every each of
value. (Does not need to be converted to uppercase before hashing
(SignatureKey & ";" & CID & ";" & OID & ";" & CartID & ";" & Amount & ";" & Currency &
";" & Status)
Page 10/22
Example:
SignatureKey= “ABCDEF”
CID = “M104-C-123”
OID = “M104-PO-9999”
CartID = “CART001”
Amount = “45.00” (take out the “.” And “,”)
Currency = “CNY”
Status = “88 - Transferred”
The hash would be calculated on the following string:
ABCDEF;M104-C-123;M104-PO-9999;CART001;4500;CNY;88 - Transferred
Quicksilver allows you to request refunds via API. You can post your refund requests to this
API via the URL https://office.samopay.com/api/refund.asp. Prior to using this API, make
sure that the server IP address that you are posting from is in the Whitelist IP Addresses list
in the Quicksilver backoffice. To do this, login to Quicksilver backoffice and click on Whitelist
IP Addresses. Below are the parameters for this API:
cid Merchant This is the merchant ID of this transaction. This text “M104-C-
ID identifies you as a merchant in the system. 196”
oid Order ID This is the unique order ID that identifies the text “M104-PO-
transaction. 1234”
cid Merchant This is the merchant ID of this transaction. This text “M106-C-
ID identifies you as a merchant in the system. 196”
oid Order ID This is the unique order ID that identifies the text “M106-PO-
transaction. 1234”
...continue
Page 15/22
… continue
0 Payment Declined
5 IP Duplicate
6 Email Duplicate
7 Card Duplicate
8 Browser Duplicate
13 Invalid Md5info
18 Browser Duplicate
22 (web-to-web) Pending
25 Message error
66 (web-to-web) Failed
11 Pending
88 Transferred
70 Timeout
Page 19/22
However, what happen when the user’s internet connection failed, or the bank site is down
or the user decided to discontinue the payment process? We cannot allow the transaction
status to remain as “22 - Pending” forever. Therefore, we have created a timeout function.
When a transaction status remains as “22 - Pending” longer than the timeout period, it will
automatically be changed to “66 - Failed”. Please note that this is an assumption that the
transaction has failed.
ICBC 工商银行
ABC 农业银行
BOC 中国银行
CCB 建设银行
CMB 招商银行
SPDB 浦发银行
BCOM 交通银行
PSBC 邮政储蓄银行
ECITIC 中信银行
CMBC 民生银行
CEBB 光大银行
HXB 华夏银行
CIB 兴业银行
SHB 上海银行
SPABANK 平安银行
BOB 北京银行
NBB 宁波银行
WECHAT 微信支付
Page 21/22
Thailand banks are selected via web. Pre-selection is not possible. The following banks are
available in the web selection.
1. SCB
2. Krungthai
3. Krungsri
4. Bangkok Bank
5. UOB
1. Mandiri
2. Permata ATM
3. Permata Netpay
The number of active banks can be increased or reduced without prior notice. As of the
publishing of this document, the banks listed above are active.