INTRODUCTION
Welcome to the Acquiring API! You can use our API to access Acquiring API endpoints, which can get information on various cats, kittens, and breeds in our database.
We have language bindings in Shell, Ruby, Python, and JavaScript! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
CREDIT CARD PROCESSING
SERVER TO SERVER
SERVER TO SERVER
<?php
$request['sid']="27";
$rcode ="xxxxxxxx";
$request['card_type'] = 'visa';
$request['email'] = 'abc@xyz.com';
$request['tx_action'] ='PAYMENT';
$request['card_no'] = '4111111111111111'; // or the ref no account authorize transaction eg. 58-9-2036956
$request['card_ccv'] = '123';
$request['card_exp_month'] = '11';
$request['card_exp_year'] = '2022';
$request['card_name'] = 'test';
$request['firstname'] = 'ALan';
$request['lastname'] = 'Lai';
$request['phone'] = '123445666';
$request['email'] = 'abc@xyz.com';
$request['address'] = 'xxx';
$request['suburb_city'] = 'xxx';
$request['state'] = 'xxx';
$request['postcode'] = 'xxx';
$request['country'] = 'MY';
$request['timestamp'] = '0123456789';
$request['currency'] = 'USD';
$request['tid'] = '1234567892';
$request['amount_shipping'] ='0.00';
$request['amount_coupon'] ='0.00';
$request['postback_url'] ="http:// testpostbackreturn.php";
$request['amount_tax'] ='0.00';
$request['item_quantity[]']= '1';
$request['item_name[]'] = 'NA';
$request['item_no[]'] = 'NA';
$request['item_description[]'] = 'NA';
$request['item_amount_unit[]'] ='10.00';
$item_quantity = $request['item_quantity[]'];
$item_amount_unit = $request['item_amount_unit[]'];
$amounttotal = $item_quantity * $item_amount_unit;
$amounttotal = $amounttotal + $request[amount_tax] + $request[amount_shipping] -$request[amount_coupon];
$amounttotal='10.00';
$request[hash] = md5($request['sid']. $request[timestamp] . $amounttotal . $request[currency] . $rcode);
if(!$curl = curl_init('http://office.paywiser.com/api/v1/index.php/27/singletx')) echo "cURL initialization failure:
".curl_error($curl);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request)); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( !$response = curl_exec($curl))
echo "cURL execution failure: ".curl_error($curl);
curl_close ($curl);
echo "Response: "; echo "
<pre>"; print_r($response); echo "</pre>";
Non 3D Asynchronous Response Sample:
{
"sid":"27",
"status":"OK",
"parent_txid":"1234567",
"txid":"7654321",
"tx_acti on":"PAYMENT",
"amount":"10.00",
"currency":"USD",
"tid":"1234567892",
"ref1":" ",
"ref2":"",
"ref3":"",
"ref4":"",
"comment":"\"Payment Success\"",
"descriptor":"AcqraS2S USD",
"rebillkey":"",
"settlementamount":"10.00",
"settlementcurrency":"USD",
" paymentinfo":""
}
3D Asynchronous Response Sample :
{
"sid":"xx",
"status":"REQ",
"parent_txid":"1619750629xxxxx",
"txid":"16197506 369xxxx",
"tx_action":"PAYMENT",
"amount":"1.00",
"currency":"USD",
"tid":"",
"ref1":"{\"webUrl\":\"https:\\\/\\\/oats.allinpay.com\\\/payh5\\\/cnp_pay\\\/ directCashier?accessCode=xxxxx&mchtId=852999956xxxxx&accessOrderId=21043010 4353xxxxxx&language=en\"}",
"ref2":"",
"ref3":"",
"ref4":"",
"comment":"",
"descriptor":"PF_VISA_USD_NEW",
"rebillkey":"",
"error":{
"type":"WAIT3D",
"sys":"",
"msg":"Awaiting 3DSecure",
"info":"{\"webUrl\":\"https:\\\/\\\/oats.allinpay.com\\\/payh5\\\\ /cnp_pay\\\/directCashier?accessCode=85200061&mchtId=852999956610024&access OrderId=2104301043530790477&language=en\"}",
"code":""
},
"settlementamount":"0.00",
"settlementcurrency":"USD",
"paymentinfo":""
}
To process a transaction using txprocess, send parameters with HTTP/ HTTPS POST (query string format) to https://office.paywiser.com/api/v1/index.php/{sid}/singletx
NOTE: Only applicable for PCI/DSS certified server
Payment Flow Diagram
HTTP Request
POST https://office.paywiser.com/api/v1/index.php/{sid}/singletx
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | No | Only required for 3D flow |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’.‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax – amount_coupon |
timestamp | Yes | Format : hhmmss |
card_type | Yes | • amex , • visa , • mastercard , • jcb , • upicard , • allcard (use this one for server to server integration) |
card_no | Yes | Credit card number, In case of double acquiring payment it will be the transaction reference from the authorize transaction and no need for the rest card info. |
cart_exp_year | condition | 4-digityear expiration of the credit card.(e.g. 2020) |
card_exp_month | condition | 2-digitmonth expiration of the credit card. (eg. 05 – May) |
card_ccv | condition | CVV/CVC2 credit card verification code |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
uip | Yes | Customer’s IPaddress. |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code ie : USD |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | Quantity of each cart item |
item_name[] | Yes | Article names for each cart item |
item_no[] | Yes | Article numbers for each cart item |
item_desc[] | Yes | Descriptions for each cart item |
item_amount_unit[] | Yes | Price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | No | Value : “PAYMENT” |
Instant Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | OK – successful , EXC – failed , REQ – pending for 3D authentication. Only for 3D channel |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | Default Value - PAYMENT |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Description of the transaction |
descriptor | String | Gateway descriptor name |
error[type] | String | “WAIT3D” - Only for 3D channel |
error[msg] | String | “Awaiting 3DSecure” - Only for 3D channel |
error[info][webUrl] | String | 3Ds url – please redirect user to the url given for the 3Ds authentication. Only for 3D channel |
Postback Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | Tx_action = PAYMENT |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | “WAIT3D” - Only for 3D channel |
error_msg | String | The error message |
error_sys | String | The system that caused the error (client or server) |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
vrfy | String | This is a sha 256 hash so the data can be verified to ensure your post back data was not modified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;txaction |
REDIRECT SOLUTION
REDIRECT SOLUTION
<form action="https://office.paywiser.com/secure/txHandler.php" method="post"> sid: <input type="text" name="sid"
value=""><BR> postback_url: <input type="text" name="postback_url" value=""><BR> redirect_url: <input
type="text" name="redirect_url" value=""><BR> timestamp: <input type="text" name="timestamp" value=""><BR> hash:
<input type="text" name="hash" value=""><BR> firstname: <input type="text" name="firstname" value=""><BR> lastname:
<input type="text" name="lastname" value=""><BR> phone: <input type="text" name="phone" value=""><BR> email: <input
type="text" name="email" value=""><BR> address: <input type="text" name="address" value=""><BR> suburb_city:
<input type="text" name="suburb_city" value=""><BR> state:
<input type="text" name="state" value=""><BR> postcode: <input type="text" name="postcode" value=""><BR> country:
<input type="text" name="country" value=""><BR> currency_code: <input type="text" name="currency" value=""><BR>
amount_shipping: <input type="text" name="amount_shipping" value="0.00"><BR> amount_tax: <input type="text"
name="amount_tax" value="0.00"><BR> amount_coupon: <input type="text" name="amount_coupon" value="0.00"><BR>
card_type: <input type="text" name="card_type" value="allcard"><BR> ref1: <input type="text" name="ref1"
value=""><BR> ref2: <input type="text" name="ref2" value=""><BR> ref3: <input type="text" name="ref3"
value=""><BR> ref4: <input type="text" name="ref4" value=""><BR>
<table>
<tr>
<td> item_quantity: <input type="text" name="item_quantity[]" value=""> item_name: <input type="text"
name="item_name[]" value=""> item_no: <input type="text" name="item_no[]" value=""> item_desc:
<input type="text" name="item_desc[]" value=""> item_amount_unit: <input type="text"
name="item_amount_unit[]" value="0.00"> </td>
</tr>
</table>
<input type="submit" value="Submit">
</form>
To process a transaction using TxHandler, post a form via HTTP POST to https://office.paywiser.com/secure/txHandler.php. During the transaction, the user will be redirected to make payment and then send back to a user defined location and the result of the transaction can be received as postback to a user defined script/page
Payment Flow Diagram
HTTP Request
POST https://office.paywiser.com/secure/txHandler.php
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | No | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’.‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax - amount_coupon |
timestamp | Yes | Format : hhmmss |
card_type | Yes | allcard |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | Mobile number | |
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code ie : USD |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | Quantity of each cart item |
item_name[] | Yes | Article names for each cart item |
item_no[] | Yes | Article numbers for each cart item |
item_desc[] | Yes | Descriptions for each cart item |
item_amount_unit[] | Yes | Price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | No | Ie : PAYMENT / PREAUTH |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | The state change txaction, e.g. “PREAUTH” or “SETTLEMENT” |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified to ensure your post back data was not modified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;txaction |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
CHINA CARD TO CARD
CHINA CARD TO CARD:
<form action="https://office.paywiser.com/secure/txHandler.php" method="post"> sid: <input type="text" name="sid"
value=""><BR> postback_url: <input type="text" name="postback_url" value=""><BR> timestamp: <input type="text"
name="timestamp" value=""><BR> hash: <input type="text" name="hash" value=""><BR> firstname: <input type="text"
name="firstname" value=""><BR> lastname:
<input type="text" name="lastname" value=""><BR> phone: <input type="text" name="phone" value=""><BR> email: <input
type="text" name="email" value=""><BR> address: <input type="text" name="address" value=""><BR> suburb_city:
<input type="text" name="suburb_city" value=""><BR> state: <input type="text" name="state" value=""><BR> postcode:
<input type="text" name="postcode" value=""><BR> country: <input type="text" name="country" value=""><BR>
currency_code: <input type="text" name="currency" value=""><BR> amount_shipping: <input type="text"
name="amount_shipping" value="0.00"><BR> amount_tax: <input type="text" name="amount_tax" value="0.00"><BR>
amount_coupon: <input type="text" name="amount_coupon" value="0.00"><BR> card_type: <input type="text"
name="card_type" value="cupbank"><BR> card_no: <input type="text" name="card_no" value="0123456789"><BR> ref1:
<input type="text" name="ref1" value=""><BR> ref2: <input type="text" name="ref2" value=""><BR> ref3: <input
type="text" name="ref3" value=""><BR> ref4: <input type="text" name="ref4" value=""><BR>
<table>
<tr>
<td> item_quantity: <input type="text" name="item_quantity[]" value=""> item_name: <input type="text"
name="item_name[]" value=""> item_no: <input type="text" name="item_no[]" value=""> item_desc:
<input type="text" name="item_desc[]" value=""> item_amount_unit: <input type="text"
name="item_amount_unit[]" value="0.00"> </td>
</tr>
</table>
<input type="hidden" name="tx_action" value="PREAUTH"> <input type="submit" value="Submit">
</form>
To process a transaction using TxHandler, post a form via HTTP POST to https://office.paywiser.com/secure/txHandler.php. During the transaction, the user will be redirected to bank account details page to make payment and the result of the transaction can be received as postback to a user defined script/page
HTTP Request
POST https://office.paywiser.com/secure/txHandler.php
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | Yes | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’ ‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax – amount_coupon |
timestamp | Yes | Format : hhmmss |
card_type | Yes | Default value : onlinepay |
account_no | Yes | UnionPay Account number |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | Mobile number | |
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code Ie: CNY |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | An array with the quantity of each cart item |
item_name[] | Yes | An array of article names for each cart item |
item_no[] | Yes | An array of article numbers for each cart item |
item_desc[] | Yes | An array with descriptions for each cart item |
item_amount_unit[] | Yes | An array that defines the price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | Yes | PREAUTH |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | The state change txaction, e.g. “PREAUTH” or “SETTLEMENT” |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified to ensure your post back data was not modified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;txaction |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
CHINA BANK TRANSFER
CHINA BANK TRANSFER:
<form action="https://office.paywiser.com/secure/txHandler.php" method="post"> sid: <input type="text" name="sid"
value=""><BR> postback_url: <input type="text" name="postback_url" value=""><BR> timestamp: <input type="text"
name="timestamp" value=""><BR> hash: <input type="text" name="hash" value=""><BR> firstname: <input type="text"
name="firstname" value=""><BR> lastname:
<input type="text" name="lastname" value=""><BR> phone: <input type="text" name="phone" value=""><BR> email: <input
type="text" name="email" value=""><BR> address: <input type="text" name="address" value=""><BR> suburb_city:
<input type="text" name="suburb_city" value=""><BR> state: <input type="text" name="state" value=""><BR> postcode:
<input type="text" name="postcode" value=""><BR> country: <input type="text" name="country" value=""><BR>
currency_code: <input type="text" name="currency" value=""><BR>bank_name: <input type="text" name="bank_name"
value="ICBC">
<BR> amount_shipping: <input type="text" name="amount_shipping" value="0.00"><BR> amount_tax: <input type="text"
name="amount_tax" value="0.00"><BR> amount_coupon: <input type="text" name="amount_coupon" value="0.00"><BR>
card_type: <input type="text" name="card_type" value="banktransfer"><BR> card_no: <input type="text" name="card_no"
value="0123456789"><BR> ref1: <input type="text" name="ref1" value=""><BR> ref2: <input type="text" name="ref2"
value=""><BR> ref3: <input type="text" name="ref3" value=""><BR> ref4: <input type="text" name="ref4"
value=""><BR>
<table>
<tr>
<td> item_quantity: <input type="text" name="item_quantity[]" value=""> item_name: <input type="text"
name="item_name[]" value=""> item_no: <input type="text" name="item_no[]" value=""> item_desc:
<input type="text" name="item_desc[]" value=""> item_amount_unit: <input type="text"
name="item_amount_unit[]" value="0.00"> </td>
</tr>
</table>
<input type="hidden" name="tx_action" value="PREAUTH"> <input type="submit" value="Submit">
</form>
To process a transaction using TxHandler, post a form via HTTP POST to https://office.paywiser.com/secure/txHandler.php. During the transaction, the user will be redirected to bank account details page to make payment and the result of the transaction can be received as postback to a user defined script/page
HTTP Request
POST https://office.paywiser.com/secure/txHandler.php
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | Yes | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’ ‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax – amount_coupon |
timestamp | Yes | Format : hhmmss |
card_type | Yes | Default value : banktransfer |
account_no | Yes | UnionPay Account number |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | Mobile number | |
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code Ie: CNY |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | An array with the quantity of each cart item |
item_name[] | Yes | An array of article names for each cart item |
item_no[] | Yes | An array of article numbers for each cart item |
item_desc[] | Yes | An array with descriptions for each cart item |
item_amount_unit[] | Yes | An array that defines the price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | Yes | PREAUTH |
bank_name | No | Bank Code, refer Appendix B |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | The state change txaction, e.g. “PREAUTH” or “SETTLEMENT” |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified to ensure your post back data was not modified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;txaction |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
JAPAN BANK TRANSFER
JAPAN BANK TRANSFER:
<form action="https://office.paywiser.com/secure/txHandler.php" method="post"> sid: <input type="text" name="sid"
value=""><BR> postback_url: <input type="text" name="postback_url" value=""><BR> timestamp: <input type="text"
name="timestamp" value=""><BR> hash: <input type="text" name="hash" value=""><BR> firstname: <input type="text"
name="firstname" value=""><BR> lastname:
<input type="text" name="lastname" value=""><BR> phone: <input type="text" name="phone" value=""><BR> email: <input
type="text" name="email" value=""><BR> address: <input type="text" name="address" value=""><BR> suburb_city:
<input type="text" name="suburb_city" value=""><BR> state: <input type="text" name="state" value=""><BR> postcode:
<input type="text" name="postcode" value=""><BR> country: <input type="text" name="country" value=""><BR>
currency_code: <input type="text" name="currency" value=""><BR> amount_shipping: <input type="text"
name="amount_shipping" value="0.00"><BR> amount_tax: <input type="text" name="amount_tax" value="0.00"><BR>
amount_coupon: <input type="text" name="amount_coupon" value="0.00"><BR> card_type: <input type="text"
name="card_type" value="cupbank"><BR> card_no: <input type="text" name="card_no" value="0123456789"><BR> ref1:
<input type="text" name="ref1" value=""><BR> ref2: <input type="text" name="ref2" value=""><BR> ref3: <input
type="text" name="ref3" value=""><BR> ref4: <input type="text" name="ref4" value=""><BR>
<table>
<tr>
<td> item_quantity: <input type="text" name="item_quantity[]" value=""> item_name: <input type="text"
name="item_name[]" value=""> item_no: <input type="text" name="item_no[]" value=""> item_desc:
<input type="text" name="item_desc[]" value=""> item_amount_unit: <input type="text"
name="item_amount_unit[]" value="0.00"> </td>
</tr>
</table>
<input type="hidden" name="tx_action" value="PREAUTH"> <input type="submit" value="Submit">
</form>
To process a transaction using TxHandler, post a form via HTTP POST to https://office.paywiser.com/secure/txHandler.php. During the transaction, the user will be redirected to bank account details page to make payment and the result of the transaction can be received as postback to a user defined script/page
HTTP Request
POST https://office.paywiser.com/secure/txHandler.php
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | Yes | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’ ‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax – amount_coupon |
timestamp | Yes | Format : hhmmss |
card_type | Yes | Default value : onlinepay |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | ||
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code Ie: JPY |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | An array with the quantity of each cart item |
item_name[] | Yes | An array of article names for each cart item |
item_no[] | Yes | An array of article numbers for each cart item |
item_desc[] | Yes | An array with descriptions for each cart item |
item_amount_unit[] | Yes | An array that defines the price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | Yes | PREAUTH |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | The state change txaction, e.g. “PREAUTH” or “SETTLEMENT” |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency tx_action |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
THAI QR PAY
THAI QR PAY:
<form action="https://office.paywiser.com/secure/txHandler.php" method="post"> sid: <input type="text" name="sid"
value=""><BR> postback_url: <input type="text" name="postback_url" value=""><BR> timestamp: <input type="text"
name="timestamp" value=""><BR> hash: <input type="text" name="hash" value=""><BR> firstname: <input type="text"
name="firstname" value=""><BR> lastname:
<input type="text" name="lastname" value=""><BR> phone: <input type="text" name="phone" value=""><BR> email: <input
type="text" name="email" value=""><BR> address: <input type="text" name="address" value=""><BR> suburb_city:
<input type="text" name="suburb_city" value=""><BR> state: <input type="text" name="state" value=""><BR> postcode:
<input type="text" name="postcode" value=""><BR> country: <input type="text" name="country" value=""><BR>
currency_code: <input type="text" name="currency" value=""><BR> amount_shipping: <input type="text"
name="amount_shipping" value="0.00"><BR> amount_tax: <input type="text" name="amount_tax" value="0.00"><BR>
amount_coupon: <input type="text" name="amount_coupon" value="0.00"><BR> card_type: <input type="text"
name="card_type" value="cupbank"><BR> card_no: <input type="text" name="card_no" value="0123456789"><BR> ref1:
<input type="text" name="ref1" value=""><BR> ref2: <input type="text" name="ref2" value=""><BR> ref3: <input
type="text" name="ref3" value=""><BR> ref4: <input type="text" name="ref4" value=""><BR>
<table>
<tr>
<td> item_quantity: <input type="text" name="item_quantity[]" value=""> item_name: <input type="text"
name="item_name[]" value=""> item_no: <input type="text" name="item_no[]" value=""> item_desc:
<input type="text" name="item_desc[]" value=""> item_amount_unit: <input type="text"
name="item_amount_unit[]" value="0.00"> </td>
</tr>
</table>
<input type="hidden" name="tx_action" value="PREAUTH"> <input type="submit" value="Submit">
</form>
To process a transaction using TxHandler, post a form via HTTP POST to https://office.paywiser.com/secure/txHandler.php. During the transaction, the user will be redirected to bank account details page to make payment and the result of the transaction can be received as postback to a user defined script/page
HTTP Request
POST https://office.paywiser.com/secure/txHandler.php
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | Yes | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’ ‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax – amount_coupon |
timestamp | Yes | Format : hhmmss |
card_type | Yes | Default value : qrpay |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | ||
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code Ie: THB |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | An array with the quantity of each cart item |
item_name[] | Yes | An array of article names for each cart item |
item_no[] | Yes | An array of article numbers for each cart item |
item_desc[] | Yes | An array with descriptions for each cart item |
item_amount_unit[] | Yes | An array that defines the price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | Yes | PREAUTH |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | The state change txaction, e.g. “PREAUTH” or “SETTLEMENT” |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;tx_action |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
ATM SOLUTION (TAIWAN BANK)
ATM SOLUTION (TAIWAN BANK):
<form action="https://office.paywiser.com/secure/txHandler.php" method="post"> txaction: <input type="text"
name="tx_action" value="PREAUTH"><BR> sid: <input type="text" name="sid" value=""><BR> postback_url: <input
type="text" name="postback_url" value=""><BR> timestamp: <input type="text" name="timestamp" value=""><BR> hash:
<input type="text" name="hash" value=""><BR> firstname: <input type="text" name="firstname" value=""><BR> lastname:
<input type="text" name="lastname" value=""><BR> phone: <input type="text" name="phone" value=""><BR> email: <input
type="text" name="email" value=""><BR> address: <input type="text" name="address" value=""><BR> suburb_city:
<input type="text" name="suburb_city" value=""><BR> state: <input type="text" name="state" value=""><BR> postcode:
<input type="text" name="postcode" value=""><BR> country: <input type="text" name="country" value=""><BR>
currency_code: <input type="text" name="currency" value=""><BR> amount_shipping: <input type="text"
name="amount_shipping" value="0.00"><BR> amount_tax: <input type="text" name="amount_tax" value="0.00"><BR>
amount_coupon: <input type="text" name="amount_coupon" value="0.00"><BR> card_type: <input type="text"
name="card_type" value="ATM"><BR> ref1: <input type="text" name="ref1" value=""><BR> ref2: <input type="text"
name="ref2" value=""><BR> ref3: <input type="text" name="ref3" value=""><BR> ref4: <input type="text"
name="ref4" value=""><BR>
<table>
<tr>
<td> item_quantity: <input type="text" name="item_quantity[]" value=""> item_name: <input type="text"
name="item_name[]" value=""> item_no: <input type="text" name="item_no[]" value=""> item_desc:
<input type="text" name="item_desc[]" value=""> item_amount_unit: <input type="text"
name="item_amount_unit[]" value="0.00"> </td>
</tr>
</table>
<input type="submit" value="Submit">
</form>
To process a transaction using TxHandler, post a form via HTTP POST to https://office.paywiser.com/secure/txHandler.php. During the transaction, the user will be redirected to make payment and then send back to a user defined location and the result of the transaction can be received as postback to a user defined script/page
Payment Flow Diagram
HTTP Request
POST https://office.paywiser.com/secure/txHandler.php
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | Yes | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’ ‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax – amount_coupon |
timestamp | Yes | ie: 1234568995265421 |
card_type | Yes | ATM |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | ||
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | An array with the quantity of each cart item |
item_name[] | Yes | An array of article names for each cart item |
item_no[] | Yes | An array of article numbers for each cart item |
item_desc[] | Yes | An array with descriptions for each cart item |
item_amount_unit[] | Yes | An array that defines the price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | Yes | PREAUTH |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | The state change txaction, e.g. “PREAUTH” or “SETTLEMENT” |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;tx_action |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
E-WALLET
E-WALLET:
<form action="https://office.paywiser.com/secure/txHandler.php" method="post"> txaction: <input type="text"
name="tx_action" value="PREAUTH">
sid: <input type="text" name="sid" value="">
postback_url: <input type="text" name="postback_url" value="">
timestamp: <input type="text" name="timestamp" value=""> hash: <input type="text" name="hash" value="">
firstname: <input type="text" name="firstname" value=""> lastname: <input type="text" name="lastname" value="">
phone: <input type="text" name="phone" value="">
email: <input type="text" name="email" value="">
address: <input type="text" name="address" value="">
suburb_city: <input type="text" name="suburb_city" value="">
state: <input type="text" name="state" value="">
postcode: <input type="text" name="postcode" value="">
country: <input type="text" name="country" value="">
currency_code: <input type="text" name="currency" value=""> amount_shipping: <input type="text"
name="amount_shipping" value="0.00"> amount_tax: <input type="text" name="amount_tax" value="0.00">
amount_coupon: <input type="text" name="amount_coupon" value="0.00"> card_type: <input type="text" name="card_type"
value="wallet">
ref1: <input type="text" name="ref1" value="">
ref2: <input type="text" name="ref2" value="">
ref3: <input type="text" name="ref3" value="">
ref4: <input type="text" name="ref4" value="">
<table>
<tr>
<td> item_quantity: <input type="text" name="item_quantity[]" value=""> item_name: <input type="text"
name="item_name[]" value=""> item_no: <input type="text" name="item_no[]" value=""> item_desc:
<input type="text" name="item_desc[]" value=""> item_amount_unit: <input type="text"
name="item_amount_unit[]" value="0.00"> </td>
</tr>
</table>
<input type="submit" value="Submit">
</form>
To process a transaction using TxHandler, post a form via HTTP POST to https://office.paywiser.com/secure/txHandler.php. During the transaction, the user will be redirected to make payment and then send back to a user defined location and the result of the transaction can be received as postback to a user defined script/page
Payment Flow Diagram
HTTP Request
POST https://office.paywiser.com/secure/txHandler.php
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | Yes | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’ ‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax – amount_coupon |
timestamp | Yes | ie: 1234568995265421 |
card_type | Yes | wallet |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | ||
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | An array with the quantity of each cart item |
item_name[] | Yes | An array of article names for each cart item |
item_no[] | Yes | An array of article numbers for each cart item |
item_desc[] | Yes | An array with descriptions for each cart item |
item_amount_unit[] | Yes | An array that defines the price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | Yes | PREAUTH |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | The state change txaction, e.g. “PREAUTH” or “SETTLEMENT” |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;tx_action |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
Supported E-Wallet
Wallet | Region | Currency |
---|---|---|
TRUEMONEY | Thailand | THB |
ALIPAY_HK | Hong Kong | HKD |
TNG | Malaysia | MYR |
GCASH | Philippines | PHP |
DANA | Indonesia | IDR |
KAKAOPAY | South Korea | KRW |
GOOGLE PAY
GOOGLE PAY:
<form action="https://office.paywiser.com/secure/txHandler.php" method="post"> sid: <input type="text" name="sid"
value=""><BR> postback_url: <input type="text" name="postback_url" value=""><BR> timestamp: <input type="text"
name="timestamp" value=""><BR> hash: <input type="text" name="hash" value=""><BR> firstname: <input type="text"
name="firstname" value=""><BR> lastname:
<input type="text" name="lastname" value=""><BR> phone: <input type="text" name="phone" value=""><BR> email: <input
type="text" name="email" value=""><BR> address: <input type="text" name="address" value=""><BR> suburb_city:
<input type="text" name="suburb_city" value=""><BR> state: <input type="text" name="state" value=""><BR> postcode:
<input type="text" name="postcode" value=""><BR> country: <input type="text" name="country" value=""><BR>
currency_code: <input type="text" name="currency" value=""><BR> amount_shipping: <input type="text"
name="amount_shipping" value="0.00"><BR> amount_tax: <input type="text" name="amount_tax" value="0.00"><BR>
amount_coupon: <input type="text" name="amount_coupon" value="0.00"><BR> card_type: <input type="text"
name="card_type" value="cupbank"><BR> card_no: <input type="text" name="card_no" value="0123456789"><BR> ref1:
<input type="text" name="ref1" value=""><BR> ref2: <input type="text" name="ref2" value=""><BR> ref3: <input
type="text" name="ref3" value=""><BR> ref4: <input type="text" name="ref4" value=""><BR>
<table>
<tr>
<td> item_quantity: <input type="text" name="item_quantity[]" value=""> item_name: <input type="text"
name="item_name[]" value=""> item_no: <input type="text" name="item_no[]" value=""> item_desc:
<input type="text" name="item_desc[]" value=""> item_amount_unit: <input type="text"
name="item_amount_unit[]" value="0.00"> </td>
</tr>
</table>
<input type="hidden" name="addinfo" value="{"allowedCardNetworks":["VISA","MASTERCARD"],"allowedCardAuthMethods":["PAN_ONLY","CRYPTOGRAM_3DS"],"environment":"PRODUCTION"}">
<input type="hidden" name="tx_action" value="PREAUTH"> <input type="submit" value="Submit">
</form>
Google Pay™
All merchants must adhere to the Google Pay APIs Acceptable Use Policy and accept the terms defined in the Google Pay API Terms of Service.
Curently Paywiser support google pay as a redirect to checkout on our page. So the merchant only submit parameter via HTTP POST to https://office.paywiser.com/secure/txHandler.php.
To specific using google pay, paywiser provide the payment method is ‘googlepay’ that merchant can use this value for card_type parameter.
The merchants are allowed to set card networks supported in allowedCardNetworks data and card authentication methods supported in allowedCardAuthMethods. And also allow merchant to determine environment if merchant want to test before deploy to production.
Available values of allowedCardNetworks are “AMEX”, “DISCOVER”, “INTERAC”, “JCB”, “MASTERCARD”, “VISA”.
Available values of allowedCardAuthMethods are “PAN_ONLY”,“CRYPTOGRAM_3DS”.
Available values of environment can be either “TEST” or “PRODUCTION”.
You can specific thease data in json string and do encode double qoute for “addinfo” parameter.
For examle addinfo value:
{"allowedCardNetworks":["VISA","MASTERCARD"],"allowedCardAuthMethods":["PAN_ONLY","CRYPTOGRAM_3DS"],"environment":"PRODUCTION"}
During the transaction, the user will be rquired to follow google pay confirmation process to make payment and paywiser will send payment request to google pay and google pay will response payment tokenised in the encrypted data. We will decrypted the data to verify payment result and create settlement for your transaction depend on verification status. Merchant will be redirect to your redirect_url page and we also send the result in asynchronous response to you postback_url endpoint.
Payment Flow Diagram
HTTP Request
POST https://office.paywiser.com/secure/txHandler.php
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | Yes | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amounttotal + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’ ‘CNY’.‘222b6c’) REMARK : amounttotal = (item_amount_unit * item_quantity ) + amount_shipping + amount_tax – amount_coupon |
timestamp | Yes | Format : hhmmss |
card_type | Yes | googlepay |
account_no | Yes | UnionPay Account number |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | Mobile number | |
mobile | No | Mobile number |
address | Yes | Customer address |
suburb_city | Yes | Customer suburb or city |
state | Yes | Customer state, 2 digit code for US/Canada |
postcode | Yes | Customer postcode/zipcode |
country | Yes | Customer country, ISO 3166 2 digit code |
currency | Yes | Transaction currency[currency in which the gateway is setup], ISO 3 letter code Ie: CNY |
amount_shipping | Yes | Transaction shipping amount. 0.00 if nothing |
amount_coupon | Yes | Coupon amount. 0.00 if nothing |
amount_tax | Yes | Transaction shipping amount. 0.00 if nothing |
item_quantity[] | Yes | An array with the quantity of each cart item |
item_name[] | Yes | An array of article names for each cart item |
item_no[] | Yes | An array of article numbers for each cart item |
item_desc[] | Yes | An array with descriptions for each cart item |
item_amount_unit[] | Yes | An array that defines the price per unit for each cart item in two decimal place |
ref1 | No | Merchant reference field |
ref2 | No | Merchant reference field |
ref3 | No | Merchant reference field |
ref4 | No | Merchant reference field |
tx_action | Yes | PREAUTH |
addinfo | Yes | {“allowedCardNetworks”:[“VISA”,“MASTERCARD”],“allowedCardAuthMethods”:[“PAN_ONLY”,“CRYPTOGRAM_3DS”],“environment”:“PRODUCTION”} |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | The state change txaction, e.g. “PREAUTH” or “SETTLEMENT” |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
descriptor | String | Gateway descriptor name |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified to ensure your post back data was not modified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;txaction |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
PAYOUT PROCESS
PAYOUT PROCESS
<?php
$request['sid']="xx";
$request['rcode']="5c0dff2bf49d68eceab9b173fexxxxxxxxxxa";
$request['postback_url']= " ";
$request['timestamp']='082311';
$request['tid']="20210301f";
//$request['firstname']="John";
//$request['lastname']="Doe";
$request['email']="John@Doe.com";
//$request['mobile']="3300123123";
//$request['country']="US";
$request['currency']="THB";
$request['payeebank']="BBL";
$request['amount'] = '500.00';
$request['account_no']= '621226070xxxxxxxxx8';
$request['receive_name'] = 'TEST';
$request['addinfo'] = '';
$request["hash"] = md5($request["sid"].$request["timestamp"].$request["amount"].$request["currency"].$request["rcode"]);
if(!$curl = curl_init('https://office.paywiser.com/api/v1/index.php/xx/payout')) echo "cURL initialization failure: ".curl_error($curl);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request)); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( !$response = curl_exec($curl))
echo "cURL execution failure: ".curl_error($curl);
curl_close ($curl);
echo "Response: "; echo "<pre>"; print_r($response); echo "</pre>";
The above command returns JSON structured like this:
{
"sid":"xx",
"status":"PEND",
"parent_txid":"1645415xxxxxxx2",
"txid":"1645415 193xxxxx2",
"tx_action":"CREDIT",
"amount":"500.00",
"currency":"THB",
"tid":"2 0210301f",
"ref1":"",
"ref2":"",
"ref3":"",
"ref4":"",
"comment":"",
"descriptor":"THB PAYOUT",
"error":{
"type":"",
"sys":"",
"msg":"Payout Request InProgress",
"info":"",
"code":""
},
"vrfy":"249e0574e373782bc10fd4c2a2c8ddfa368df042969047d19995ab04d1141695"
}
To process a transaction using txprocess, send parameters with HTTPS POST to https://office.paywiser.com/api/v1/index.php/{sid}/payout.
HTTP Request
POST https://office.paywiser.com/api/v1/index.php/{sid}/payout
Query Parameters
Parameter | Required | Description |
---|---|---|
sid | Yes | Site id (unique identifier for the web site) |
tid | No | Tracking id (must be unique for each transaction) |
postback_url | Yes | The URL of the page used to recieve the TxHandler postback. The response can be read from $_POST array. |
redirect_url | Yes | The URL of the page TxHandler will redirect to after processing. The response can be read as GET parameters. |
hash | Yes | md5 hash of strings concatenation from sid + timestamp + amount + currency + rcode e.g. (in PHP): md5(‘22’.‘1234568995265421’.‘17.00’.‘CNY’.‘222b6c’) |
timestamp | Yes | Format : hhmmss |
firstname | Yes | Frist name of the customer |
lastname | Yes | Last name of the customer |
phone | Yes | 10 to 14 numeric digits |
Yes | Email of the requester | |
mobile | No | Mobile number |
address | No | Customer address |
suburb_city | No | Customer suburb or city |
state | No | Customer state, 2 digit code for US/Canada |
postcode | No | Customer postcode/zipcode |
country | No | Customer country, ISO 3166 2 digit code |
currency | Yes | 3 digits values : CNY , THB, JPY, MYR etc |
amount | Yes | Payout amount with 2 decimals |
account_no | Yes | Receiver Bank Account Number |
receive_name | Yes | Receiver’s name |
payeebank | Yes | Receiver Bank name |
receive_name | Yes | Receiver’s name |
addinfo | Yes | Other information |
Instant Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | Default Value - CREDIT |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Status OK - Payout Request In Progress Status EXC – Reason of Failure |
descriptor | String | Gateway descriptor name |
vry | String | $sid;$rcode;$txid;$status;$amount;$currency;$txaction |
Postback Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | Tx_action =CREDIT |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Status OK - Payout Request In Progress Status EXC – Reason of Failure |
descriptor | String | Gateway descriptor name |
vrfy | String | $sid;$rcode;$txid;$status;$amount;$currency;$txaction |
tid | String | From the original transaction |
error | String | If an error has occurred, then the status value will equal “EXC” and these parameters will be sent as well. Detailed error will be present only if we receive it from the processing gateway. |
error_type | String | error_type |
error_sys | String | The system that caused the error (client or server) |
error_msg | String | The error message |
error_info | String | Error information that contains the bank message and bank code |
error_code | String | error_code |
vry | String | $sid;$rcode;$txid;$status;$amount;$currency;$txaction |
CHECK BALANCE
CHECK BALANCE
<?php
$url = 'https://uatoffice.paywiser.com/api/v3/sid/xx/balance'; $request['rcode']="5c0dff2bf4xxxxxxxxxxxda8c7a6dca";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request, 1)); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$post = curl_exec($ch);
$error = curl_errno($ch);
curl_close($ch);
echo "Response: "; echo "<pre>"; print_r($post); echo "</pre>";
echo "Error:"; echo "<pre>"; var_dump($error); echo "</pre>"
The above command returns JSON structured like this:
{
"status":"ok",
"sid":"xx",
"balance":"1870.00",
"currency":"THB"
}
To process a transaction using txshield, send parameters with HTTPS POST via jason format to https://office.paywiser.com/api/v3/sid/{sid}/balance.
HTTP Request
POST https://office.paywiser.com/api/v3/sid/{sid}/balance
Query Parameters
Parameter | Required | Description |
---|---|---|
rcode | Yes | Unique rcode provided by Paywiser |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
balance | String | Parent transaction id |
currency | String | The currency in which the transaction was processed |
CHECK STATUS
CHECK STATUS
<?php
curl -X GET "https://uatoffice.paywiser.com/api/v1/index.php/1645xxxxxxx188/getstatus?hash=363728cb25f62xxxxxc2305 xxxxxx" -H "accept: application/json"
The above command returns JSON structured like this:
{
"tid": "20210302a",
"parent_txid": 164542xxxxxxx88,
"txid": 1645420xxxxxxx188,
"amount": null,
"tx_action": "CREDIT",
"reference": "",
"currency": "THB",
"ref1": "",
"ref2": "",
"ref3": "",
"ref4": "",
"status": "EXC",
"error_msg": "Duplicate Transaction by Tid",
"vrfy": "6cf352f7bc89413a75xxxxxxxx0f376598478701c2d"
}
To process a transaction using txshield, send parameters with HTTPS POST via jason format to https://office.paywiser.com/api/v1/index.php/{ptxid}/getstatus?hash=
HTTP Request
GET https://office.paywiser.com/api/v1/index.php/{ptxid}/getstatus?hash=
Query Parameters
Parameter | Required | Description |
---|---|---|
ptxid | Yes | Parent txid of the transaction |
hash | Yes | md5 hash of strings concatenation from sid + rcode e.g. (in PHP): md5(‘22’.‘222b6c’) |
Response
Parameter | DataType | Description |
---|---|---|
sid | String | Has the sid where transaction was processed |
status | String | Has the value “OK” for a successful transaction, or “EXC” for a failed transaction. |
parrent_txid | String | Parent transaction id |
txid | String | The transaction ID |
tx_action | String | Default Value - CREDIT |
amount | String | The amount processed. |
currency | String | The currency in which the transaction was processed |
comment | String | Response from the gateway |
reference | String | Reference |
tid | String | From the original transaction |
ref1 | String | From the original transaction |
ref2 | String | From the original transaction |
ref3 | String | From the original transaction |
ref4 | String | From the original transaction |
vrfy | String | This is a sha 256 hash so the data can be verified to ensure your post back data was not modified. To generate hash with sha256 the string of sid;rcode;txid;status;amount;currency;txaction |
Appendix A
Testing Credit Cards
infomation
VISA | MASTERCARD | Asynchronous Response | Postback Response |
---|---|---|---|
4111111111111111 | 5105105105105100 | SUCCESS | SUCCESS |
4532093145083303 | 5154246427959145 | WAIT3D | SUCCESS |
4012888888881881 | 5555555555554444 | PENDING | SUCCESS |
4917610000000000 | 5431111111111228 | FAIL | FAIL |
4444333322221111 | 5427660064241339 | WAIT3D | FAIL |
4999999999999236 | 5123459046058920 | PENDING | FAIL |
Appendix B
Payout Bank List (China)
infomation
Bank Code | Bank Name |
---|---|
ICBC | 工商银行 |
ABC | 中国农业银行 |
CCB | 中国建设银行 |
CMBCHINA | 招商银行 |
DONGGUANBANK | 东莞银行 |
SDB | 深圳发展银行 |
BCCB | 北京银行 |
ECITIC | 中信银行 |
CEB | 光大银行 |
BOCO | 交通银行 |
BOC | 中国银行 |
HXB | 华夏银行 |
POST | 中国邮政储蓄银行 |
SPDB | 浦发银行 |
SHB | 上海银行 |
CMBC | 民生银行 |
CGB | 广发银行 |
CIB | 兴业银行 |
PAB | 平安银行 |
HZB | 杭州银行 |
NBCB | 宁波银行 |
BSB | 包商银行 |
JSBCHINA | 江苏银行 |
GDNYBANK | 广东南粤 |
GZCB | 广州银行 |
CRBANK | 珠海华润 |
CZBANK | 浙商银行 |
HAINANBANK | 海南农信社 |
BRCB | 北京农商行 |
DBS | 星展银行 |
CZBANK | 浙商银行 |
JJCCB | 九江银行 |
NJCB | 南京银行 |
Appendix C
Payout Bank List (Japan)
infomation
Bank Code | Bank Name |
---|---|
3283 | Japan Post Bank |
3284 | Okinawa Kaiho Bank |
3285 | Minami Nippon Bank |
3286 | Miyazaki Taiyo Bank |
3287 | Howa Bank |
3288 | Kumamoto Bank |
3289 | Nagasaki Bank |
3290 | Saga Kyoei Bank |
3291 | Fukuoka Chuo Bank |
3292 | Kochi Bank |
3293 | Ehime Bank |
3294 | Kagawa Bank |
3295 | Tokushima Bank |
3296 | Saikyo Bank |
3297 | Momiji Bank |
3298 | Tomato Bank |
3299 | Shimane Bank |
3300 | Minato Bank |
3301 | Taisho Bank |
3302 | Daisan Bank |
3303 | Chukyo Bank |
3304 | Nagoya Bank |
3305 | Aichi Bank |
3306 | Shizuoka Chuo Bank |
3307 | Fukuho Bank |
3308 | First Bank of Toyama |
3309 | Nagano Bank |
3310 | Taiko Bank |
3311 | Kanagawa Bank |
3312 | Tokyo Star Bank |
3313 | Higashi-Nippon Bank |
3314 | Keiyo Bank |
3315 | Tochigi Bank |
3316 | Towa Bank |
3317 | Daito Bank |
3318 | Fukushima Bank |
3319 | Sendai Bank |
3320 | Kita-Nippon Bank |
3321 | Kirayaka Bank |
3322 | North Pacific Bank |
3323 | SBJ Bank |
3324 | Deutsche Bank |
3325 | The Hongkong and Shanghai Banking Corporation Limited |
3326 | Bank of America Corporation |
3327 | JPMorgan Chase Bank |
3328 | Citibank |
3329 | Aozora Bank |
3330 | Shinsei Bank |
3331 | Kitakyushu Bank |
3332 | Nishi Nihon City Bank |
3333 | Okinawa Bank |
3334 | Ryukyu Bank |
3335 | Kagoshima Bank |
3336 | Miyazaki Bank |
3337 | Oita Bank |
3338 | Higo Bank |
3339 | Shinwa Bank |
3340 | Jyuhachi Bank |
3341 | Saga Bank |
3342 | Chikubo Bank |
3343 | Fukuoka Bank |
3344 | Shikoku Bank |
3345 | Iyo Bank |
3346 | Hyaku Jyushi Bank |
3347 | Awa Bank |
3348 | Yamaguchi Bank |
3349 | Hiroshima Bank |
3350 | China Bank |
3351 | Sanin Goudou Bank |
3352 | Tottori Bank |
3353 | Tajima Bank |
3354 | Kiyou Bank |
3355 | Nanto Bank |
3356 | Ikeda Senshu Bank |
3357 | Kansai Mirai Bank |
3358 | Kyoto Bank |
3359 | Shiga Bank |
3360 | Hyakugo banks |
3361 | Mie Bank |
3362 | Juroku banks |
3363 | Oogaki Kyoritsu Bank |
3364 | Shimizu Bank |
3365 | Suruga Bank |
3366 | Shizuoka Bank |
3367 | Fukui Bank |
3368 | Hokkoku Bank |
3369 | Toyama Bank |
3370 | Hokuriku Bank |
3371 | Hachijuni banks |
3372 | Yamanashi Chuo Bank |
3373 | Hokuetsu Bank |
3374 | Daishi Bank |
3375 | Yokohama Bank |
3376 | Kiraboshi Bank |
3377 | Chiba Kogyo Bank |
3378 | Chiba Bank |
3379 | Musashino Bank |
3380 | Tsukuba Bank |
3381 | Jouyou Bank |
3382 | Ashikaga Bank |
3383 | Gunma Bank |
3384 | Touhou Bank |
3385 | 77 Bank |
3386 | Tohoku Bank |
3387 | Iwate Bank |
3388 | Yamagata Bank |
3389 | Shonai Bank |
3390 | Hokuto Bank |
3391 | Akita Bank |
3392 | Michinoku Bank |
3393 | Aomori Bank |
3394 | Hokkaido Bank |
3395 | Lawson Bank |
3396 | Daiwa Next Bank |
3397 | Aeon Bank |
3398 | Jibun Bank |
3399 | Sumishin SBI Net Bank |
3400 | Rakuten Bank |
3401 | Sony Bank |
3402 | Seven Bank |
3403 | PayPay Bank (The Japan Net Bank) |
3404 | Saitama Resona Bank |
3405 | Resona Bank |
3406 | Sumitomo Mitsui Banking Corporation |
3407 | Mitsubishi UFJ Bank |
3408 | Mizuho Bank |
3540 | The Oita Mirai Shinkin Bank |
3541 | The Hiroshima Shinkin Bank |
3862 | Abashiri Shinkin bank |
3863 | Abukuma Shinkin bank |
3864 | Aichi Doctor’s Credit Cooperative |
3865 | Aichi Shinkin bank |
3866 | Aichi Shogin |
3867 | Amagasaki Shinkin Bank |
3868 | Kyoto Chuo Shinkin Bank |
3869 | Mitsubishi UFJ Trust and Banking Corporation |
3870 | SMBC Trust Bank Ltd. |
3871 | Tama Shinkin bank |
3872 | The Kyoto Shinkin Bank |
3975 | Osaka Shinkin Bank |
Appendix D
Payout Bank List (Thailand)
infomation
Bank Code | Bank Name |
---|---|
SCB | (Siam Commercial Bank)泰国汇商银行 |
BAAC | Bank for Agriculture and Agricultural Cooperatives(泰国农业合作社银行) |
BAY | Bank of Ayudhya(大城银行) |
BBL | Bangkok Bank(曼谷银行) |
CIMB | Commerce International Merchant Bank(联昌国际银行) |
CITI | Citibank(花旗银行) |
DB | Deutsche Bank AG(德意志银行) |
GHB | Government Housing Bank(泰国政府住房银行) |
GSB | Government Saving Bank(政府储蓄银行) |
HSBC | The Hongkong and Shanghai Banking Corporation(汇丰银行) |
ICBC | INDUSTRIAL AND COMMERCIAL BANK OF CHINA(中国工商银行) |
ISBT | Iowa State Bank and Trust Company(爱荷华州银行) |
KBANK | Kasikorn Bank(泰华农民银行) |
KK | Kiatnakin Bank |
KTB | Krung Thai Bank(泰京銀行) |
LHBANK | Land and Houses Bank |
MHCB | Mizuho Corporate Bank |
SCBT | Standard chartered Bank(渣打银行) |
SMBC | Sumitomo Mitsui Banking Corporation(三井住友银行) |
TBANK | Thanachartbank( 泰纳昌银行) |
TCRB | Thai Credit Retail Bank(泰国信贷银行) |
TMB | TMB Bank Public Company Limited(泰军人银行) |
TSCO | TISCO Bank Public Company Limited( 铁士古银行) |
UOB | (United Overseas Bank (Thai) Public Company Limited( 大华银行) |