Payment Integration API
Endpoint URL
Endpoint URL is used as a feedback URL that will process the data in the post from the merchant system. There are two URLs that needs to be used, namely Production and Development. For the implementation of the testing or UAT can use the URL development.
Integration Method | Production | Development |
Merchant Window API | ||
Merchant Direct API |
Request Parameter
Sample Request
Field Name | Field Type | M/O/C | Description |
PAYMENT_METHOD | Varchar(1) | M | For payment using credit/debit card, always set to 1. |
MERCHANTID | Varchar (30) | M | Your Faspay e-Payment Merchant ID |
MERCHANT_TRANID | Varchar(100) | M | Your own assigned unique ID for this transaction. |
PYMT_IND | Varchar(20) | O | Specify the payment indicator to be used for this transaction. The payment indicator is used as the key identifier to set certain indication like card range to be processed. Certain card range of card can be processed. Ignore this parameter if there is not special requirement needed for the transaction. Note: PYMT_IND & PYMT_CRITERIA are to be in same sequence between the two parameters & each of the two parameters is to be separated by ';' only. |
PYMT_CRITERIA | Varchar(20) | O | Specify the payment criteria to be used, together with the parameter PYMT_IND. This criteria will be set one the payment indicator had been defined. Ignore this parameter if there is not special requirement needed for the transaction. Note: PYMT_IND & PYMT_CRITERIA are to be in same sequence between the two parameters & each of the two parameters is to be separated by ';' only. |
CURRENCYCODE | Varchar(3) | M | Indicate the currency of this transaction. Refer to Appendix I for Supported Currencies E.g. IDR, USD, SGD etc. |
AMOUNT | Numeric | M | Amount of transaction. Supports up to 2 decimal points. E.g. amount is RM 52.50, set value as 52.50, amount is IDR 10000, set value as 10000.00 |
SIGNATURE | Varchar(40) | C | Transaction signature of request for data integrity check. |
CUSTNAME | Varchar(120) | M | Shopper’s name. |
CUSTEMAIL | Varchar(100) | M | Shopper’s email address. |
SHOPPER_IP | Varchar(15) | M | IP address of the customer. If customer is connecting via a proxy server, please make sure you can provide the actual IP address instead of the proxy server IP address. |
DESCRIPTION | Varchar(100) | M | Short description of the order |
RESPONSE_TYPE | Varchar(1) | M | Indicate how the system should provide the transaction result. Default Value = 1 1 – Return response via browser redirection, using HTTP GET method 2 – Return response via browser with hidden form submission, i.e. using HTTP POST method 3 - response parameters will be directly printed to stream with ‘;’ as separator for each response parameter (the sequence of the parameter may be different from one release to another, please do not rely on the sequence of parameter to process response) |
RETURN_URL | Varchar(100) | C | URL that page will be redirected with the transaction response after transaction has been processed. Merchant should translate the response parameter pass back to this URL and display user-friendly message to cardholder. This field is mandatory if ‘RESPONSE_TYPE’ is set to 1 or 2. |
CARDNO | Varchar (20) | M | Shopper’s Credit Card number. Only for the integration using the Merchant Direct API |
CARDNAME | Varchar (100) | M | Name on the Credit Card. Only for the integration using the Merchant Direct API |
CARDTYPE | Char(1) | M | Indicates the card type used. MasterCard=M Visa=V JCB=J Amex=A Only for the integration using the Merchant Direct API |
EXPIRYMONTH | Char (2) | M | Use numeric representative of the month i.e. 01 - January 02 - February … 12 – December Only for the integration using the Merchant Direct API |
EXPIRYYEAR | Char(4) | M | Format of year should be YYYY i.e.2005, 2006 and etc. Only for the integration using the Merchant Direct API |
CARDCVC | Char(4) | C | Card Verification Number (Last 3 digits located usually on the back of shopper’s credit card). This field can be optional if the Allow CVC field in Merchant Setting is disabled . Only for the integration using the Merchant Direct API |
CARD_ISSUER_BANK _COUNTRY_CODE | Varchar (2) | O | Country of the credit card issuing bank |
BILLING_ADDRESS | Varchar(200) | M | Shopper’s billing address |
BILLING_ADDRESS _CITY | Varchar(50) | M | Shopper’s billing city |
BILLING_ADDRESS _REGION | Varchar(100) | M | Shopper’s billing region |
BILLING_ADDRESS _STATE | Varchar(100) | M | Shopper’s billing state |
BILLING_ADDRESS _POSCODE | Varchar(10) | M | Shopper’s billing postcode |
BILLING_ADDRESS _COUNTRY_CODE | Varchar(10) | M | Shopper’s billing country code |
RECEIVER_NAME _FOR_SHIPPING | Varchar(100) | M | Name of person to receive goods at the shipping address provided. |
SHIPPING_ADDRESS | Varchar(200) | M | Shopper’s shipping address |
SHIPPING_ADDRESS _CITY | Varchar(50) | M | Shopper’s shipping city |
SHIPPING_ADDRESS _REGION | Varchar(100) | M | Shopper’s shipping region |
SHIPPING_ADDRESS _STATE | Varchar(100) | M | Shopper’s shipping state |
SHIPPING_ADDRESS _POSCODE | Varchar(10) | M | Shopper’s shipping postcode |
SHIPPING_ADDRESS _COUNTRY_CODE | Varchar(10) | M | Shopper’s shipping country code |
SHIPPINGCOST | Numeric | O | Amount of shipping cost. Supports up to 2 decimal point. E.g. amount is RM 52.50, set value as 52.50, amount is IDR 10000, set value as 10000. |
PHONE_NO | Varchar(20) | M | Shopper's phone number |
MPARAM1 | Varchar(200) | O | Additional parameter the merchant wish to receive back as response for processing. This value is not stored by Faspay e-Payment. |
MPARAM2 | Varchar(200) | O | Additional parameter the merchant wish to receive back as response for processing. This value is not stored by Faspay e-Payment. |
<?php
$tranid = date("YmdGis");
$signaturecc=sha1('##'.strtoupper('aggregator_tes').'##'.strtoupper('ejeussad').'##'.$tranid.'##1000.00##'.'0'.'##');
$post = array(
"TRANSACTIONTYPE" => '1',
"RESPONSE_TYPE" => '2',
"LANG" => '',
"MERCHANTID" => 'aggregator_tes',
"PAYMENT_METHOD" => '1',
"TXN_PASSWORD" => 'ejeussad',
"MERCHANT_TRANID" => $tranid,
"CURRENCYCODE" => 'IDR',
"AMOUNT" => '1000.00',
"CUSTNAME" => 'merhcant test CC',
"CUSTEMAIL" => '[email protected]',
"DESCRIPTION" => 'transaski test',
"RETURN_URL" => 'http://localhost/creditcard/merchant_return_page.php',
"SIGNATURE" => $signaturecc,
"BILLING_ADDRESS" => 'Jl. pintu air raya',
"BILLING_ADDRESS_CITY" => 'Jakarta',
"BILLING_ADDRESS_REGION" => 'DKI Jakarta',
"BILLING_ADDRESS_STATE" => 'DKI Jakarta',
"BILLING_ADDRESS_POSCODE" => '10710',
"BILLING_ADDRESS_COUNTRY_CODE" => 'ID',
"RECEIVER_NAME_FOR_SHIPPING" => 'Faspay test',
"SHIPPING_ADDRESS" => 'Jl. pintu air raya',
"SHIPPING_ADDRESS_CITY" => 'Jakarta',
"SHIPPING_ADDRESS_REGION" => 'DKI Jakarta',
"SHIPPING_ADDRESS_STATE" => 'DKI Jakarta',
"SHIPPING_ADDRESS_POSCODE" => '10710',
"SHIPPING_ADDRESS_COUNTRY_CODE" => 'ID',
"SHIPPINGCOST" => '0.00',
"PHONE_NO" => '0897867688989',
"MPARAM1" => '',
"MPARAM2" => '',
"PYMT_IND" => '',
"PYMT_CRITERIA" => '',
"PYMT_TOKEN" => '',
/* ==== customize input card page ===== */
"style_merchant_name" => 'black',
"style_order_summary" => 'black',
"style_order_no" => 'black',
"style_order_desc" => 'black',
"style_amount" => 'black',
"style_background_left" => '#fff',
"style_button_cancel" => 'grey',
"style_font_cancel" => 'white',
/* ==== logo directly to your url source ==== */
"style_image_url" => 'http://url_merchant/image.png',
);
//Dev ke = https://fpgdev.faspay.co.id/payment
$string = '<form method="post" name="form" action="https://fpg.faspay.co.id/payment">';
if ($post != null) {
foreach ($post as $name=>$value) {
$string .= '<input type="hidden" name="'.$name.'" value="'.$value.'">';
}
}
$string .= '</form>';
$string .= '<script> document.form.submit();</script>';
echo $string;
exit;
?>
Response Parameter
Response parameters are parameters that will be delivered by the system Faspay in response to the request parameters have been sent by the merchant system. If no parameters are not appropriate / value is incorrect, the transaction will be rejected in the system Faspay.
Response
Sample Response
Field Name | Field Type | M/O/C | Description |
PAYMENT_METHOD | Varchar(1) | M | Indicates the payment mode used for this transaction. |
MERCHANTID | Varchar (30) | M | Your Faspay e-Payment Merchant ID |
MERCHANT_TRANID | Varchar(100) | M | Merchant’s own assigned transaction id as passed in from the request. |
ERR_CODE | Varchar(10) | M | Error Code returns from Faspay e-Payment. If transaction is successful, this value will be 0. Any other value than 0 will indicate that the transaction is not successful. |
ERR_DESC | Varchar(250) | M | Error description from Faspay e-Payment based on the ERR_CODE. |
USR_CODE | Varchar(4) | C | User Code returns from Faspay e-Payment. A user code will be used to indicate the appropriate action to be taken by shopper according to different bank response code obtained. In the case of pending status, this value is will an empty value |
USR_MSG | Varchar(200) | C | User Message returns from Faspay e-Payment. A user message will be used to indicate the appropriate action to be taken by shopper according to different bank response code obtained. In the case of pending status, this value is will an empty value |
TXN_STATUS | Varchar(3) | M | Transaction status from Faspay e-Payment. Please refer to Appendix B for full list of transaction status. A – Authorized S – Sales F – Not approved E – Error B – Blocked RC – Reconfirm N – Pending I –Incomplete This value must be stored and it’s the indication whether the transaction is successful, declined or error. |
DESCRIPTION | Varchar(100) | O | Transaction description as passed in from the request. |
CURRENCYCODE | Varchar(3) | M | Indicate the currency of this transaction. Refer to Appendix I for Supported Currencies E.g. IDR, USD, SGD etc. |
AMOUNT | Numeric(10) | M | Transaction amount as passed in from the request. |
SIGNATURE | Varchar(40) | M | Transaction signature of response for data integrity checking. |
EUI | Varchar(3) | M | End User Indicator (EUI) is use to help merchant determine the response to display on merchant return URL. Please refer to Appendix section for further details. SUC = Success RTY = Retry/Failed ALT = Alert NA = Not Applicable |
TRANSACTIONID | Integer | M | Faspay e-Payment assigned transaction id if the transaction was stored. This value must be stored and used as reference value to retrieve the transaction from Faspay e-Payment. In the event that if the request parameters are invalid, the transaction is rejected and not stored, this value will be 0. |
TRANDATE | Varchar (19) | C | Transaction date of when transaction is submitted to Faspay e-Payment. Date format in ‘DD-MM-YYYY hh:mm:ss’ e.g. 24-05-2006 08:24:23 In the event of error, this field may be empty. |
TRANSACTIONTYPE | Varchar(2) | M | Return transaction type corresponding to the original request |
IS_BLACKLISTED | Varchar(5) | C | Indicate whether the transaction is blacklisted. Value is ‘Yes’ or ‘No’ In the event of error, this field may be empty. |
FRAUDRISKLEVEL | Integer | C | Indicate fraud risk level. Value as follow: -1 : Error or not in used. 0 – Very low risk 1 – Low risk 2 – Medium risk 3 – High risk 4 – Very high risk In the event of error, this field may be empty. |
EXCEED_HIGH_RISK | Varchar(3) | C | Indicate whether the transaction fraud score exceed the threshold value set for high risk in merchant setting. Possible value are: Yes = Transaction fraud risk exceed merchant high risk threshold No = Transaction fraud risk fall bellows the merchant high risk threshold NA = Not Applicable (fraud score not available) In the event of error, this field may be empOnly for the integration using the Merchant Direct API |
CARDTYPE | Char(1) | M | Indicates the card type used. MasterCard=M Visa=V JCB=J AMEX=A Only for the integration using the Merchant Direct API |
CARD_NO_PARTIAL | Varchar(20) | C | Returns first 6 and last 4 digits of credit card. E.g.: 455555XXXXXX1234 In the event of error, this field may be empty. Only for the integration using the Merchant Direct API |
ACQUIRER_BANK | Varchar(3) | C | Acquiring bank that processed this credit card transaction. Coded value. Please refer to Appendix. This parameter will only have value if the transaction request fulfills all the mandatory parameters and passes all parameters validation checking in Faspay e-Payment server. It will be empty also if Faspay e-Payment server does not send in the transaction to any bank. This may happen, in few possible cases like, Faspay e-Payment server cannot find any suitable acquirer setup to process the transaction, or the transaction is blocked based on merchant settings. |
BANK_RES_CODE | Varchar(20) | C | Response code or error code from bank. In the event of error, this field may be empty. |
BANK_RES_MSG | Varchar(250) | C | Bank description on the response based on BANK_RES_CODE. In the event of error, this field may be empty. |
AUTH_ID | Varchar(20) | C | Bank approval code (if transaction is approved). If transaction is declined or error, this parameter will be empty. |
MPARAM1 | Varchar(200) | O | Additional parameter as what is passed in request. This value is not stored by Faspay e-Payment. |
MPARAM2 | Varchar(200) | O | Additional parameter as what is passed in request. This value is not stored by Faspay e-Payment |
WHITELIST_CARD | Varchar(3) | C | Indicate whether the transaction is use whitelist card. Value is ‘Yes’ or ‘No’ |
CUSTNAME | Varchar(120) | M | Shopper’s name. |
ACQUIRER_ID | VarcharI(30) | O | Your Faspay e-Payment Acquirer ID |
is_on_us | Varchar(3) | M | Indicate whether the transaction is using on us card. Value is ‘Yes’ or ‘No’ |
"PAYMENT_METHOD" => '1',
"MERCHANTID" => 'aggregator_tes',
"MERCHANT_TRANID" => '2016/03/000072',
"ERR_CODE" => 0,
"ERR_DESC" => 'No error',
"USR_CODE" => 101,
"USR_MSG" => 'Transaction approved',
"TXN_STATUS" => 'A',
"CUSTNAME" => 'Hanna',
"DESCRIPTION" => 'DeWalt Standard Heatgun',
"EUI" => 'SUC',
"CURRENCYCODE" => 'IDR',
"AMOUNT" => '780000.00',
"SIGNATURE" => '387CF32EF09215C73011943F06CB44055CA3BE05',
"TRANSACTIONID" => 21536,
"TRANSACTIONTYPE" => 1,
"TRANDATE" => '04-03-2016 15:22:46',
"ACQUIRER_ID" => 'mandiri_test',
"MPARAM1" => '',
"MPARAM2" => '',
"IS_BLACKLISTED" => 'No',
"FRAUDRISKSCORE" => 75,
"FRAUDRISKLEVEL" => 2,
"EXCEED_HIGH_RISK" => 'Yes',
"CARDNAME" => 'test',
"CARD_NO_PARTIAL" => '413718xxxxxx3783',
"CARDTYPE" => 'V',
"is_on_us" => 'Yes',
"ACQUIRER_BANK" => 016,
"BANK_RES_CODE" => 00,
"BANK_RES_MSG" => 'APPROVED OR COMPLETED',
"AUTH_ID" => 657399,
"BANK_REFERENCE" => 10519,
"WHITELIST_CARD" => 'No'
Last modified 1yr ago