> For the complete documentation index, see [llms.txt](https://docs.faspay.co.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.faspay.co.id/merchant-integration/api-reference-1/credit-card-transaction/recurring-payment-api/message-flow-transaction/post-transaction.md).

# Post Transaction

### Register New Member&#x20;

In this API Service, if the member has a deal with the Merchant, the merchant has to register the Member for recurring transactions.

#### URL EndPoint

The endpoint URL is a feedback URL that will process the data in the post from the merchant system. For the implementation of the testing, UAT can use URL development.

<table><thead><tr><th width="219">Integration Method</th><th width="514.3246753246754">Development</th></tr></thead><tbody><tr><td>Merchant Window API</td><td><a href="#url-end-point">https://fpg-sandbox.faspay.co.id/recurring</a></td></tr><tr><td>Merchant Direct API</td><td><a href="https://fpg.faspay.co.id/recurring">https://fpg-sandbox.faspay.co.id/recurring</a></td></tr></tbody></table>

#### Request Parameter

{% tabs %}
{% tab title="Table Parameter" %}

<table><thead><tr><th width="294">Parameter</th><th width="134">Data Type</th><th width="83" align="center">M/O/C</th><th width="338">Description</th></tr></thead><tbody><tr><td>lang*</td><td>Varchar (10)</td><td align="center">O</td><td>Defined the language to be used if the merchant support multiple languages payment window. This requires configuration at merchant settings. Ignore this parameter if there is no such requirement. Refer Appendix F for coded values.</td></tr><tr><td>merchantid</td><td>Varchar (30)</td><td align="center">M</td><td>Your Faspay Credit card Merchant ID</td></tr><tr><td>txn_password</td><td>Varchar(12)</td><td align="center">M</td><td>Your Faspay Credit card transaction password</td></tr><tr><td>merchant_tranid</td><td>Varchar(100)</td><td align="center">M</td><td>Your own assigned unique ID for this transaction.</td></tr><tr><td>payment_method*</td><td>Varchar(1)</td><td align="center">M</td><td>For recurring transaction, please fill with type = 3</td></tr><tr><td>currencycode*</td><td>Varchar(3)</td><td align="center">M</td><td><p>Fill with <strong>IDR,</strong> Indicate the currency of this transaction.</p><p> </p><p>E.g. MYR, USD, SGD etc.</p></td></tr><tr><td>amount</td><td>Numeric</td><td align="center">M</td><td>On this recurring process, Amount used for initial transaction member when register.</td></tr><tr><td>custname</td><td>Varchar(120)</td><td align="center">M</td><td>Shopper’s / customer name.</td></tr><tr><td>custemail</td><td>Varchar(100)</td><td align="center">M</td><td>Shopper’s / customer Email Address.</td></tr><tr><td>description</td><td>Varchar(100)</td><td align="center">O</td><td>Short description of the order</td></tr><tr><td>return_url</td><td>Varchar(100)</td><td align="center">M</td><td>URL that page will be redirected with the transaction response after transaction has been processed (also for Thank you page URL). Merchant should translate the response parameter pass back to this URL and display user-friendly message to cardholder.Responses parameters are passed back using HTTP POST.</td></tr><tr><td>signature</td><td>Varchar (40)</td><td align="center">M</td><td>Transaction signature of request for data integrity check. Refer to  Transaction Signature for details.</td></tr><tr><td>billing_address</td><td>Varchar(200)</td><td align="center">O</td><td>Shopper’s billing address</td></tr><tr><td>billing_address_city</td><td>Varchar(50)</td><td align="center">O</td><td>Shopper’s billing city</td></tr><tr><td>billing_address_region</td><td>Varchar(100)</td><td align="center">O</td><td>Shopper’s billing region</td></tr><tr><td>billing_address_state</td><td>Varchar(100)</td><td align="center">O</td><td>Shopper’s billing state</td></tr><tr><td>billing_address_poscode</td><td>Varchar(10)</td><td align="center">O</td><td>Shopper’s billing postcode</td></tr><tr><td>billing_address_country_code*</td><td>Varchar(10)</td><td align="center">O</td><td>Shopper’s billing country code</td></tr><tr><td>receiver_name_for_shipping</td><td>Varchar(100)</td><td align="center">O</td><td>Shopper’s / customer name.</td></tr><tr><td>shipping_address</td><td>Varchar(200)</td><td align="center">O</td><td>Shopper’s shipping address</td></tr><tr><td>shipping_address_ city</td><td>Varchar(50)</td><td align="center">O</td><td>Shopper’s shipping city</td></tr><tr><td>shipping_address_region</td><td>Varchar(100)</td><td align="center">O</td><td>Shopper’s shipping region</td></tr><tr><td>shipping_address_state</td><td>Varchar(100)</td><td align="center">O</td><td>Shopper’s shipping state</td></tr><tr><td>shipping_address_poscode</td><td>Varchar(10)</td><td align="center">O</td><td>Shopper’s shipping postcode</td></tr><tr><td>shipping_address_country_code*</td><td>Varchar(10)</td><td align="center">O</td><td>Shopper’s shipping country code</td></tr><tr><td>shippingcost</td><td>Numeric</td><td align="center">O</td><td><p>Amount of shipping cost. Supports up to 2 decimal point. E.g. amount is RM 52.50, set value as 52.50, amount is</p><p>IDR 10000, set value as 10000.</p></td></tr><tr><td>phone_no</td><td>Varchar(20)</td><td align="center">O</td><td>Shopper’s phone number</td></tr><tr><td>mref1</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref2</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref3</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref4</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref5</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref6</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref7</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref8</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref9</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mref10</td><td>Varchar(100)</td><td align="center">O</td><td>Additional reference value for the transaction.</td></tr><tr><td>mparam1</td><td>Varchar(50)</td><td align="center">O</td><td><p>Additional parameter the merchant wish to receive back as response for processing.</p><p>This value is not stored by Faspay Credit card.</p></td></tr><tr><td>mparam2</td><td>Varchar(50)</td><td align="center">O</td><td><p>Additional parameter the merchant wish to receive back as response for processing.</p><p>This value is not stored by Faspay Credit card.</p></td></tr><tr><td>customer_ref</td><td>Varchar(50)</td><td align="center">O</td><td><p>Value that may be used by bank to refer to the transaction when liaising with customer.For  credit  card, this  value  will be passed  to  bank and display  on  cardholder’s  statement  if  applicable.  Actualvalue displayed may be truncated by bank.</p><p>The length could be vary for different bank but cannot be more than the specified max value.</p></td></tr><tr><td>pymt_ind</td><td>Varchar(20)</td><td align="center">O</td><td> </td></tr><tr><td>pymt_criteria</td><td>Varchar(20)</td><td align="center">O</td><td> </td></tr><tr><td>frisk1</td><td>Varchar(50)</td><td align="center">O</td><td><p>Additional parameter that is passed to Fraud Detection</p><p>System (FDS)</p></td></tr><tr><td>frisk2</td><td>Varchar(50)</td><td align="center">O</td><td><p>Additional parameter that is passed to Fraud Detection</p><p>System (FDS)</p></td></tr><tr><td>domicile_address</td><td>Varchar(200)</td><td align="center">O</td><td>Shopper's desirable contact address</td></tr><tr><td>domicile_address_city</td><td>Varchar(50)</td><td align="center">O</td><td>Shopper's desirable contact city</td></tr><tr><td>domicile_address_city</td><td>Varchar(100)</td><td align="center">O</td><td>Shopper's desirable contact region</td></tr><tr><td>domicile_address_state</td><td>Varchar(100)</td><td align="center">O</td><td>Shopper's desirable contact state</td></tr><tr><td>domicile_address_poscode</td><td>Varchar(10)</td><td align="center">O</td><td>Shopper's desirable contact postcode</td></tr><tr><td>domicile_address_country_code</td><td>Varchar(10)</td><td align="center">O</td><td>Shopper's desirable contact country code</td></tr><tr><td>domicile_phone_no</td><td>Varchar(20)</td><td align="center">O</td><td>Shopper's desirable contact phone number</td></tr><tr><td>merchant_id</td><td>Numeric(5)</td><td align="center">M</td><td>Merchant ID given by Faspay</td></tr><tr><td>member_id</td><td>Varchar(50)</td><td align="center">M</td><td>Merchant’s Member ID for recurring (generated by merchant)</td></tr><tr><td>member_name</td><td>Varchar(50)</td><td align="center">M</td><td>Merchant’s Member Name</td></tr><tr><td>member_email</td><td>Varchar(50)</td><td align="center">M</td><td>Merchant's Member Email</td></tr><tr><td>member_email_notif</td><td>Varchar(1)</td><td align="center">M</td><td>Merchant's Member Email Notification</td></tr><tr><td>process_date</td><td>Varchar</td><td align="center">M</td><td><p>Process date, this parameters used for date of transaction and date of retry recurring if there is a failed recurring.</p><p>Sample : <strong>process_date</strong>  = "<strong>12</strong>,15,20,25,01,05,10".</p><p> </p><p><strong>12</strong> is a date for register new recurring transaction date.</p><p> </p><p>15,20,25,01,05,10 is a date for retry recurring if any failed recurring to this member.</p></td></tr><tr><td>recurring_type</td><td>Numeric(1)</td><td align="center">M</td><td><p>Recurring Type :</p><p>1 = Register new member</p><p>2 = Update Card</p></td></tr><tr><td>recurring_amount</td><td>Numeric(12)</td><td align="center">M</td><td>Recurring Amount is used for transaction amount on recurring process.</td></tr><tr><td>recurring_start_date</td><td>Date(10)</td><td align="center">M</td><td>Recurring Start Time (must be same day with the transaction date)</td></tr><tr><td>recurring_end_date</td><td>Date(10)</td><td align="center">M</td><td>Recurring End Time</td></tr><tr><td> </td><td> </td><td align="center"> </td><td> </td></tr><tr><td>recurring_period</td><td>Varchar(1)</td><td align="center">M</td><td><p>Recurring Period :</p><p><strong>M</strong> = Monthly</p><p><strong>Y</strong> = Yearly</p></td></tr><tr><td>recurring_perriod_at</td><td>Numeric(1)</td><td align="center">M</td><td><p>Repetition of Recurring Period, sample case : if user fill recurring_period with <strong>M</strong> (monthly), recurring_perriod_at is used for repetition of deduction by period. Sample :</p><p>-          recurring_period : <strong>M</strong></p><p>-          recurring_perriod_at : <strong>1</strong></p><p>so<strong>,</strong> recurring will process by system per months, if fill with 3, recurring will process per 3 months.</p><p> </p><p> </p></td></tr><tr><td>recurring_accumulate</td><td>Varchar(1)</td><td align="center">M</td><td>Recurring Accumulate : t</td></tr><tr><td>recurring_accumulate_at</td><td>Numeric(1)</td><td align="center">M</td><td>Repetition of Recurring Accumulate in Days</td></tr><tr><td>recurring_status</td><td>Varchar(1)</td><td align="center">M</td><td>Recurring Status : t</td></tr><tr><td>recurring_signature</td><td>Varchar(10)</td><td align="center">M</td><td>Recurring Signature <strong>sha5 (md5(user_id+password+member_id))</strong></td></tr></tbody></table>
{% endtab %}

{% tab title="Sample Code Request" %}

```php
<?php
    $mid    = 'sophia_store';
    $passw    = 'abcde';
    $trx_id    = date("YmdHis");
    $bill_total   = number_format(5000,2,".","");
    $address   = 'Jalan Pintu Air Raya No 2A JKT';
    $city    = 'Daerah Khusus Ibukota Jakarta JKT';
    $region    = 'Indonesia';
    $state    = 'Indonesia';
    $poscode   = '10710';
    $ctrycode   = 'ID';
    
    $merchant_id  = "99999";
    $member_id   = date("YmdHis");
    $member_name  = "John Doe";
    $member_email  = "john@gmail.com";
    $member_email_notif = "t";
    $process_date  = "20,21";    
    $rec_type   = 1;
    $rec_amount   = number_format(5000,2,".","");
    $rec_start   = "2022-03-10";
    $rec_end   = "2022-07-10";
    $rec_period   = "D";
    $rec_period_at  = 1;
    $rec_accumulate  = "t";
    $rec_accumulate_at = 0;
    $rec_status   = "t";
    $card_expire_notif = 0;
    
    $user_id  = "john99999";
    $password  = "9bdqHG2N";
    
    $rec_signature    = sha1(md5($user_id.$password.$member_id));
    $signaturecc      = sha1('##'.strtoupper($mid).'##'.strtoupper($passw).'##'.$trx_id.'##'.$bill_total.'##0##');
    
    $string     = "<form method='post' name='frmPayment' action='https://fpg-sandbox.faspay.co.id/recurring'>";
    
    $post = array(
                "LANG"                                    => '',
                "MERCHANTID"                              => $mid,
                "PAYMENT_METHOD"                          => '3',
                "MERCHANT_TRANID"                         => $trx_id,
                "TXN_PASSWORD"                            => $passw,
                "CURRENCYCODE"                            => 'IDR',
                "AMOUNT"                                  => $bill_total,
                "CUSTNAME"                                => $member_name,
                "CUSTEMAIL"                               => $member_email, 
                "DESCRIPTION"                             => 'Testing di '.$mid,
                "RETURN_URL"                              => 'http://stack.faspay.co.id/post_fpg/result.php',
                "SIGNATURE"                               => $signaturecc,
                "BILLING_ADDRESS"                         => $address,
                "BILLING_ADDRESS_CITY"                    => $city,
                "BILLING_ADDRESS_REGION"                  => $region,
                "BILLING_ADDRESS_STATE"                   => $state,
                "BILLING_ADDRESS_POSCODE"                 => $poscode,
                "BILLING_ADDRESS_COUNTRY_CODE"            => $ctrycode,
                "RECEIVER_NAME_FOR_SHIPPING"        		=> $member_name,
                "SHIPPING_ADDRESS"                        => $address,
                "SHIPPING_ADDRESS_CITY"                   => $city,
                "SHIPPING_ADDRESS_REGION"                 => $region,
                "SHIPPING_ADDRESS_STATE"                  => $state,
                "SHIPPING_ADDRESS_POSCODE"                => $poscode,
                "SHIPPING_ADDRESS_COUNTRY_CODE"           => $ctrycode,
                "SHIPPINGCOST"                    		  => '0.00',
                "PHONE_NO"                                => '',
                "MREF1"                                   => '',
                "MREF2"                                   => '',
                "MREF3"                                   => '',
                "MREF4"                                   => '',
                "MREF5"                                   => '',
                "MREF6"                                   => '',
                "MREF7"                                   => '',
                "MREF8"                                   => '',
                "MREF9"                                   => '',
                "MREF10"                                  => '',
                "MPARAM1"                                 => '',
                "MPARAM2"                                 => '',
                "CUSTOMER_REF"                            => '',
                "PYMT_IND"                                => '',
                "PYMT_CRITERIA"                           => '',
                "FRISK1"                                  => '',
                "FRISK2"                                  => '',
                "DOMICILE_ADDRESS"                        => '',
                "DOMICILE_ADDRESS_CITY"                   => '',
                "DOMICILE_ADDRESS_REGION"                 => '',
                "DOMICILE_ADDRESS_STATE"                  => '',
                "DOMICILE_ADDRESS_POSCODE"                => '',
                "DOMICILE_ADDRESS_COUNTRY_CODE"           => '',
                "DOMICILE_PHONE_NO"                       => '',
                "merchant_id"                             => $merchant_id,
                "member_id"                               => $member_id,
                "member_name"                             => $member_name,
                "member_email"                            => $member_email,
                "member_email_notif"                      => $member_email_notif,
                "process_date"                            => $process_date,
                "recurring_type"                          => $rec_type,
                "recurring_amount"                        => $rec_amount,
                "recurring_start_date"                    => $rec_start,
                "recurring_end_date"                      => $rec_end,
                "recurring_period"                        => $rec_period,
                "recurring_period_at"                     => $rec_period_at,
                "recurring_accumulate"                    => $rec_accumulate,
                "recurring_accumulate_at"                 => $rec_accumulate_at,
                "recurring_status"                        => $rec_status,
                "recurring_signature"                     => $rec_signature,
                "card_expire_notif"                       => $card_expire_notif,
    );

    if($post!= null) {
        foreach ($post as $name => $value) {
                $string .= '<input type="hidden" name="'.$name.'" value="'.$value.'">';
        }
    }

    $string .='<script> document.frmPayment.submit();</script>';
    $string .= '</form>';

    echo $string;
?>
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Notes:&#x20;

* (an) is an alphanumeric format.
* can insert up to 5 dates on process\_date (use "," (comma) as separator)
* see point 3.1 for signature \&authkeyalgoritmcode in PHP
* parameter “recurring\_accumulate\_at” is in days, fill with 0 (zero) to use parameter at process\_date
* parameter “process\_date” can be filled only with one date if “recurring\_accumulate\_at” is not filled with 0 (zero)
* **recurring\_type** forma&#x74;**:**

&#x20;           **- 1**: New Member

&#x20;           **- 2**: Update Card
{% endhint %}

#### Response Parameter

| Action     | Description                                                                         |
| ---------- | ----------------------------------------------------------------------------------- |
| When       | Receiving                                                                           |
| What To Do | will get a response from Faspay and please keep the member\_id from the response’s. |

**Payment Window Response:**

Following are the standard parameters that the payment result will pass back as a response. Transaction request that has insufficient parameters or incorrect values, will be rejected by **Faspay Credit card** and not stored in the system.

<table><thead><tr><th width="215">Parameter</th><th width="127">Data Type</th><th width="95" align="center">M/O/C</th><th width="287">Description</th></tr></thead><tbody><tr><td>recurring_type<strong>*</strong></td><td>Varchar(1)</td><td align="center">M</td><td>Indicates  the  recurring type of transaction,1 for register new member.</td></tr><tr><td>member_name</td><td>Varchar(50)</td><td align="center">M</td><td>Merchant’s Member Name</td></tr><tr><td>member_email</td><td>Varchar(50)</td><td align="center">M</td><td>Merchant's Member Email</td></tr><tr><td>member_email_notif</td><td>Varchar(50)</td><td align="center">M</td><td><p>Merchant's Member Email Notification</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p></td></tr><tr><td>process_date</td><td>Varchar</td><td align="center">M</td><td><p>Process date, this parameters used for date of transaction and date of retry recurring if there is a failed recurring.</p><p>Sample : <strong>process_date</strong>  = "<strong>12</strong>,15,20,25,01,05,10". (Max 9 date)</p><p> </p><p><strong>12</strong> is a date for register new recurring transaction date.</p><p> </p><p>15,20,25,01,05,10 is a date for retry recurring if any failed recurring to this member.</p></td></tr><tr><td>reccuring_amount</td><td>Numeric(12)</td><td align="center">M</td><td>Recurring Amount is used for transaction amount on recurring process.</td></tr><tr><td>recurring_start_date</td><td>Date(10)</td><td align="center">M</td><td>Recurring Start Time (must be same day with the transaction date)</td></tr><tr><td>recurring_end_date</td><td>Date(10)</td><td align="center">M</td><td>Recurring End Time</td></tr><tr><td>recurring_period</td><td>Varchar(1)</td><td align="center">M</td><td><p>Recurring Period :</p><p><strong>M</strong> = Monthly</p><p><strong>Y</strong> = Yearly</p></td></tr><tr><td>recurring_period_at</td><td>Numeric(1)</td><td align="center">M</td><td><p>Repetition of Recurring Period, sample case : if user fill recurring_period with <strong>M</strong> (monthly), recurring_perriod_at is used for repetition of deduction by period. Sample :</p><p>-          recurring_period : <strong>M</strong></p><p>-          recurring_perriod_at : <strong>1</strong></p><p>so<strong>,</strong> recurring will process by system per months, if fill with 3, recurring will process per 3 months.</p></td></tr><tr><td>recurring_accumulate_at</td><td>Numeric(1)</td><td align="center">M</td><td>Repetition of Recurring Accumulate in Days</td></tr><tr><td>recurring_status</td><td>Varchar(1)</td><td align="center">M</td><td>1 for active, 0 for inactive</td></tr><tr><td>payment_method<strong>*</strong></td><td>Varchar(1)</td><td align="center">C</td><td><p>Indicates  the  payment  mode  used  to  process  this transaction.In the event of error,this field may be empty.</p><p>Refer to Appendix E for Available Payment Methods</p></td></tr><tr><td>merchantid</td><td>Varchar (30)</td><td align="center">M</td><td>Your <strong>Faspay Credit card</strong> MerchantID</td></tr><tr><td>merchant_tranid</td><td>Varchar(100)</td><td align="center">M</td><td><p>Merchant’sown assigned transaction id as passed in from</p><p>The request.</p></td></tr><tr><td>err_code*</td><td>Varchar(10)</td><td align="center">M</td><td><p>Error Code returns from <strong>Faspay Credit card</strong>.</p><p>If transaction is successful,this value will be 0.</p><p>Any other value than 0 will indicate that the transaction is not successful.</p></td></tr><tr><td>err_desc</td><td>Varchar(250)</td><td align="center">M</td><td><p>Error description from <strong>Faspay Credit card</strong> based on the</p><p>ERR_CODE.</p></td></tr><tr><td>usr_code</td><td>Varchar(4)</td><td align="center">C</td><td><p>User Code returns from <strong>Faspay Credit card.</strong>A user code</p><p>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</p></td></tr><tr><td>usr_msg*</td><td>Varchar(200)</td><td align="center">C</td><td><p>User Message returns from <strong>Faspay Credit card.</strong>A user</p><p>message will be used to indicate the appropriate action to be takenby shopperaccordingto different bankresponsecode obtained. Inthecase of pending status,this value is will an empty value</p></td></tr><tr><td>txn_status*</td><td>Varchar(3)</td><td align="center">M</td><td><p>Transaction status from <strong>Faspay Credit card</strong>. Please refer</p><p>To Appendix B for full list of transaction status.</p><p> </p><p><strong>A–Authorized</strong></p><p><strong>S –Sales</strong></p><p><strong>F–Notapproved</strong></p><p><strong>E –Error</strong></p><p><strong>B –Blocked</strong></p><p><strong>RC –Reconfirm</strong></p><p><strong>N –Pending</strong></p><p><strong>I–Incomplete</strong></p><p> </p><p>This value must be stored and it’s the indication whether the transaction is successful,declined or error.</p></td></tr><tr><td>custname</td><td>Varchar(120)</td><td align="center">M</td><td>Shopper’s name as passed in from the request.</td></tr><tr><td>description</td><td>Varchar(100)</td><td align="center">O</td><td>Transactiondescriptionaspassedin fromtherequest.</td></tr><tr><td>currencycode<strong>*</strong></td><td>Varchar(3)</td><td align="center">M</td><td><p>Currency code as passed in from the request. Refer to</p><p>Appendix for SupportedCurrencies</p></td></tr><tr><td>amount</td><td>Numeric(10)</td><td align="center">M</td><td>Transaction amount as passed in fromtherequest.</td></tr><tr><td>signature</td><td>Varchar(40)</td><td align="center">M</td><td>Transaction  signature  of  response  for  data  integrity checking.RefertoChapter 5TransactionSignaturefor details.</td></tr><tr><td>transactionid</td><td>Integer</td><td align="center">M</td><td><p><strong>Faspay Credit card</strong> assigned  transaction  id  if  the</p><p>Transaction was stored. This value must be stored and used as reference value to retrieve the transaction from <strong>Faspay Credit card</strong>.</p><p> </p><p>In the event that if the request parameters are invalid, the transaction is rejected and not stored, this value will be 0.</p></td></tr><tr><td>trandate</td><td>Varchar (19)</td><td align="center">C</td><td><p>Transaction date of when transaction is submitted to</p><p><strong>Faspay Credit card</strong>.</p><p>Date formatin ‘DD-MM-YYYYhh:mm:ss’</p><p>e.g.24-05-200608:24:23</p><p>In the event of error, this field may be empty.</p></td></tr><tr><td>transactiontype</td><td>Varchar(2)</td><td align="center">C</td><td>Indicate the transaction type used for this transaction. In the event of error, this field maybe empty.</td></tr><tr><td>is_blacklisted</td><td>Varchar(5)</td><td align="center">C</td><td><p>Indicate whether the transaction is blacklisted. Value is ‘Yes’</p><p>or ‘No’ In the event of error, this field maybe empty.</p></td></tr><tr><td>fraudrisklevel</td><td>Integer</td><td align="center">C</td><td><p>Indicate fraud risklevel. Valueas follow:</p><p>-1 : Error or notinused.</p><p>0–Very lowrisk</p><p>1– Lowrisk</p><p>2–Medium risk</p><p>3–High risk</p><p>4–Very high risk</p><p> </p><p>In the event of error, this field maybe empty.</p></td></tr><tr><td>fraudriskscore</td><td>Numeric</td><td align="center">C</td><td><p>Fraud risk score in two decimal values.</p><p>In the event of error, this field maybe empty.</p></td></tr><tr><td>exceed_high_risk</td><td>Varchar(3)</td><td align="center">C</td><td><p>Indicate whether the transaction fraud score exceed the threshold value set for highrisk in merchant setting.</p><p>Possible value are:</p><p> </p><p>Yes = Transaction fraud risk exceed merchant high risk threshold</p><p> </p><p>No=Transactionfraudriskfallbellowsthemerchanthigh riskthreshold</p><p>NA=NotApplicable(fraudscore notavailable) In theeventof error,thisfieldmaybeempty.</p></td></tr><tr><td>mparam1</td><td>Varchar(50)</td><td align="center">O</td><td>Additional parameter as what is passed in request. This value is not stored by <strong>Faspay Credit card</strong>.</td></tr><tr><td>mparam2</td><td>Varchar(50)</td><td align="center">O</td><td>Additional parameter as what is passed in request. This value is not stored by <strong>Faspay Credit card</strong>.</td></tr><tr><td>acquirer_bank</td><td>VarcharI(30)</td><td align="center">O</td><td>Your <strong>Faspay Credit card</strong> Acquirer ID</td></tr><tr><td>member_id</td><td>Varchar(50)</td><td align="center">M</td><td>Merchant’s Member ID for recurring (generated by merchant)</td></tr></tbody></table>

In addition, depending on the acquiring bank and payment modes, you may have some additional information returned from your acquiring bank.

As different acquiring banks may return different additional parameters, we would advise you to check with your acquiring bank and service provider if these additional parameters are made available to you in the response parameter. Certain parameters may not be returned to you if it’s not stored on the **Faspay Credit card** server.

**Payment Window Response Specific to Credit Card:**

<table><thead><tr><th width="165">Parameter</th><th width="134">Data Type</th><th width="84" align="center">M/O/C</th><th>Description</th></tr></thead><tbody><tr><td>cardtype</td><td>Varchar(1)</td><td align="center">C</td><td><p>Indicate card type used.</p><p> </p><p>MasterCard=M </p><p>Visa=V</p><p>JCB=J </p><p>Amex=A</p><p> </p><p>In the event of error, this field maybe empty.</p></td></tr><tr><td>card_no_partial</td><td>Varchar(20)</td><td align="center">C</td><td><p>Returns first 2 and last 4 digits of creditcard. E.g.: 45XXXXXXXXXX1234</p><p> </p><p>In the event of error, this field maybe empty.</p></td></tr><tr><td>cardname</td><td>Varchar(100)</td><td align="center">C</td><td><p>Name on the Credit Card</p><p> </p><p>In the event of error, this field maybe empty.</p></td></tr><tr><td>acquirer_bank*</td><td>Varchar(3)</td><td align="center">C</td><td><p>Acquiring bank that processed this credit card transaction. Coded value.Please refer to Appendix.</p><p> </p><p>This parameter will only have value if the transaction request fulfills allthe mandatory parameters and passes all parameters validation checking in<strong>Faspay Credit card</strong> server.</p><p> </p><p>It will be empty also if <strong>Faspay Credit card</strong> server does not sendin the transaction to any bank. This may happen, in few possible cases like, <strong>Faspay Credit card</strong> server cannot find any suitable acquirer setup to process the transaction,   or   the  transaction  is   blocked   based  on merchant settings.</p></td></tr><tr><td>bank_res_code</td><td>Varchar(20)</td><td align="center">C</td><td>Response code or error code from bank.</td></tr><tr><td>bank_res_msg</td><td>Varchar(250)</td><td align="center">C</td><td><p>Bank description on the       response based on</p><p>BANK_RES_CODE.</p></td></tr><tr><td>auth_id</td><td>Varchar(20)</td><td align="center">C</td><td>Bank approval code (iftransaction is approved). If transaction is  declined  or  error, this parameter  will  be empty.</td></tr><tr><td>bank_reference</td><td>Varchar(100)</td><td align="center">O</td><td>Reference value from bank (if transaction is approved).If transaction hit error, this parameter maybe empty.</td></tr><tr><td>whitelist_card</td><td>Varchar(3)</td><td align="center">C</td><td><p>Indicate whether the transaction is use whitelist card. Value</p><p>is ‘Yes’ or ‘No’</p></td></tr><tr><td>is_on_us</td><td>Varchar(3)</td><td align="center">M</td><td><p>Indicate whether the transaction is using on uscard. Value</p><p>is ‘Yes’ or ‘No’</p></td></tr></tbody></table>

&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.faspay.co.id/merchant-integration/api-reference-1/credit-card-transaction/recurring-payment-api/message-flow-transaction/post-transaction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
