> For the complete documentation index, see [llms.txt](https://e2payprod.gitbook.io/payment-gateway/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://e2payprod.gitbook.io/payment-gateway/api-documentation/technical-doc-of-fiuu-id/payment-response-parameter.md).

# Payment Response Parameter

## Getting Payment Result

Payment results will be returned to the merchant system once payment is done or the user abandons the payment process. HTTP POST is the only method that payment gateway returns all parameters to a merchant's return URL for real-time status update, which the merchant can configure in merchant admin. Merchant system should block all other methods or parameters from an untrusted source.

## Response Parameters

| Variable / Parameter | Type Format / Max Length              | Description / Example                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| -------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| amount               | 2 decimal points numeric value        | The total amount paid or to be paid in Fiuu Cash  payment request.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| orderid              | alphanumeric, 32 characters           | Invoice or order number from merchant system.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| tranID               | integer, 10 digits                    | Unique transaction ID for tracking purpose.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| domain               | alphanumeric, 32 chars                | Merchant ID in PG system.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| status               | 2-digit numeric value                 | 00 for Successful payment, 11 for failed status, 22 if pending.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| appcode              | <p>alphanumeric, 16 chars<br><br></p> | Bank approval code. Mandatory for card payment. Certain channels return empty value.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| error\_code          | alphanumeric                          | Refer to the Error Codes section.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| error\_desc          | text                                  | Error message or description.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| skey                 | 32 chars hexadecimal string           | This is the data integrity protection hash string. Refer skey section for details.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| currency             | 2 or 3 chars (ISO-4217) currency code | Default currency is IDR (indicating Indonesia Rupiah) for Indonesia channels.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| channel              | predefined string in PG system        | Channel references for the merchant system. Refer to the below table.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| paydate              | Date/Time( YYYY-MM-DD HH:mm:ss)       | Date/Time of the transaction.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| extraP\*             | optional (on request)                 | <p>JSON encoded string or array</p><p><br></p><p>token: 16-digit card token for merchant to store for recurring MIT (merchant initiated transaction)</p><p><br></p><p>fraudscreen: 1-digit integer, i.e. 1=Unknown, 2=Passed, 3=Alert, 4=Suspicious, 5=Fraud</p><p><br></p><p>buyer\_name: buyer name (if any for non-FPX channel)</p><p><br></p><p>ccbrand: Visa, MasterCard, AMEX<br><br></p><p>bank\_issuer: The issuing bank or institution</p><p><br></p><p>ccbin: Issuer/Bank identification number, first 6-digit</p><p><br></p><p>cclast4: Last 4-digit of card number<br><br></p><p>cctype: Credit, Debit, Prepaid</p><p><br></p><p>RRN: Retrieval Reference Number (if any from issuer)</p> |

## Value of “channel” in return URL

### Card / Wallet

<table><thead><tr><th>Country</th><th>Value of request &#x26; response</th><th>Display Name</th><th data-hidden data-type="files"></th></tr></thead><tbody><tr><td>Indonesia</td><td>CIMB_NIAGA</td><td>Visa/Mastercard/JCB</td><td></td></tr></tbody></table>

### Indirect / Direct Internet Banking

| Channel         | Value of request & response | Display Name            |
| --------------- | --------------------------- | ----------------------- |
| CIMB OctoClicks | E2PAY\_CIMBOCTOCLICKS\_IB   | e2Pay CIMBOctoClicks IB |
| DBank Pro       | E2PAY\_DBANKPRO\_IB         | e2Pay DBankPro IB       |

### e-Wallets

| Channel              | Value of request & response | Display Name               |
| -------------------- | --------------------------- | -------------------------- |
| CIMB QRIS            | E2PAY\_CIMB\_QRIS           | e2Pay CIMB QRIS            |
| CIMB OctoPay         | E2PAY\_CIMB\_OCTOPAY        | e2Pay CIMB Rekening Ponsel |
| DANA                 | E2PAY\_DANA                 | e2Pay DANA                 |
| LinkAja Applink      | E2PAY\_LINKAJA\_APPLINK     | e2Pay LinkAja Applink      |
| LinkAja QRIS         | E2PAY\_LINKAJA\_QRIS        | e2Pay LinkAja QRIS         |
| LinkAja Web Checkout | E2PAY\_LINKAJA\_WCO         | e2Pay LinkAja Web Checkout |
| OVO                  | E2PAY\_OVO                  | e2Pay OVO                  |
| ShopeePay JumpApp    | E2PAY\_SHOPEEPAY\_JUMPAPP   | e2Pay ShopeePay JumpApp    |
| ShopeePay QRIS       | E2PAY\_SHOPEEPAY\_QRIS      | e2Pay ShopeePay QRIS       |
| GOPAY                | E2PAY\_GOPAY                | e2Pay GOPAY                |
| MBayar QR            | E2PAY\_MBAYAR\_QR           | e2Pay MBayar QR            |
| WeChatPay QR         | E2PAY\_WECHATPAY\_QR        | e2PAY WeChatPay QR         |

### Kiosk / Over-the-Counter / Cash / Bill Payment

| Channel                 | Value of request & response | Display Name                       |
| ----------------------- | --------------------------- | ---------------------------------- |
| BNI Virtual Account     | E2PAY\_BNI\_VA              | e2Pay BNI Virtual Account (VA)     |
| CIMB Virtual Account    | E2PAY\_CIMB\_VA             | e2Pay CIMB Virtual Account (VA)    |
| Mandiri Virtual Account | E2PAY\_MANDIRI\_VA          | e2Pay Mandiri Virtual Account (VA) |
| Permata Virtual Account | E2PAY\_PERMATA\_VA          | e2Pay Permata Virtual Account (VA) |
| BCA Virtual Account     | E2PAY\_BCA\_VA              | e2Pay BCA Virtual Account (VA)     |
| BRI Virtual Account     | E2PAY\_BRI\_VA              | e2Pay BRI Virtual Account (VA)     |
| Alfamart                | E2PAY\_ALFAMART             | e2Pay Alfamart                     |
| Indomaret               | E2PAY\_INDOMARET            | e2Pay Indomaret                    |
| BSI Virutal Account     | E2PAY\_BSI\_VA              | e2Pay BSI Virtual Account          |

### Buy Now Pay Later

| Channel  | Value of request & response | Display Name            |
| -------- | --------------------------- | ----------------------- |
| Kredivo  | E2PAY\_KREDIVO\_FN          | e2Pay Kredivo Financing |
| Indodana | E2PAY\_INDODANA\_FN         | e2Pay Indodana          |

<mark style="color:orange;">\*Channel in yellow text means obsoleted</mark>

Merchant is strongly recommended to implement IPN(instant payment notification) in order to acknowledge(ACK) on the receiving of payment status from the payment gateway. There are 2 ways to implement IPN. Please refer to the IPN section for details.

### Examples of Payment Endpoint

You may use the sample for all 3 endpoints, i.e. Return URL, Notify URL, and Callback URL by making little modification based on your own requirements.

#### Sample return URL script for PHP

{% code overflow="wrap" fullWidth="true" %}

```php
<?php

$sec_key ="xxxxxxxxxxxx"; //Replace xxxxxxxxxxxx with Secret_Key

/********************************
*Don't change below parameters
********************************/
$tranID 	=	$_POST['tranID'];
$orderid 	=	$_POST['orderid'];
$status 	=	$_POST['status'];
$domain 	=	$_POST['domain'];
$amount 	=	$_POST['amount'];
$currency 	=	$_POST['currency'];
$appcode 	=	$_POST['appcode'];
$paydate 	                  =	$_POST['paydate'];
$skey		=	$_POST['skey'];

/***********************************************************
* To verify the data integrity sending by PG
************************************************************/
$key0 = md5( $tranID.$orderid.$status.$domain.$amount.$currency );
$key1 = md5( $paydate.$domain.$key0.$appcode.$sec_key );

if( $skey != $key1 ) $status= -1; // Invalid transaction. 
// Merchant might issue a requery to PG to double check payment status

if ( $status == "00" ) {
  if ( check_cart_amt($orderid, $amount) ) {
  /*** NOTE : this is a user-defined function which should be prepared by merchant ***/
  // action to change cart status or to accept order
  // you can also do further checking on the paydate as well
  // write your script here .....
  }
} else {
  // failure action. Write your script here .....
  // Merchant might send query to PG using Merchant requery
  // to double check payment status for that particular order.
}

// Merchant is recommended to implement IPN once received the payment status
// regardless the status to acknowledge the PG

?>

```

{% endcode %}

#### Sample return URL script for ASP/ASP.NET

{% code overflow="wrap" fullWidth="true" %}

```aspnet
<!--#include file="md5.asp"-->  ’For ASP Developer
<!--#include file="md5.aspx"--> ’For ASP.NET Developer

<%
’  md5.asp/md5.aspx is a 3rd party developed md5 solution for ASP/ASP.NET user
’ You could get the md5.asp/md5.aspx from support@e2pay.co.id
’ Some variables below are coming from POST method

dim key0, key1, tranID, orderid, status, merchantID, amount, currency, paydate, appcode, skey

tranID 	= Request.Form(“tranID”)
orderid 	= Request.Form(“orderid”)
status 	= Request.Form(“status”)
merchantID	= Request.Form(“domain”)
amount 	= Request.Form(“amount”)
currency 	= Request.Form(“currency”)
paydate	= Request.Form(“paydate”)
appcode	= Request.Form(“appcode”)
skey 		= Request.Form(“skey”)
key0 		= md5( tranID & orderid & status & domain & amount & currency )
key1 		= md5( paydate & merchantID & key0 & appcode & ”xxxxxxxxxxxx” )
’Replace xxxxxxxxxxxx with Secret_Key

’ invalid transaction if the key is different. Merchant might issue a requery to PG to double check payment status

If skey <> key1 then
  status= -1
End if

If status = "00" then
 ’  checking the validity of cart amount & orderid.
 ’ if the verification test passed then can update the order status to paid.
 ’ you can also do further checking on the paydate as well
Else
 ’ failure action
 ’ Merchant might send query to PG using merchant requery
 ’ to double check payment status for that particular order.
End if

’ Merchant is to implement IPN to ack on receiving of payment status
’ regardless the payment status

%>

```

{% endcode %}


---

# 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:

```
GET https://e2payprod.gitbook.io/payment-gateway/api-documentation/technical-doc-of-fiuu-id/payment-response-parameter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
