# Paydia QRIS Integration Guide

Paydia QRIS is a payment method provided by Faspay Business for convenience in transactions. QRIS is a payment system utilizing a standardized QR code provided by Bank Indonesia, allowing users to make quick payments by scanning the displayed barcode with their smartphones.

## Integration Step:&#x20;

1. POST Data&#x20;
2. Display QR Code&#x20;
3. Inquiry Status&#x20;
4. Payment Notification

### 1. POST Data Transaction

This process is used to view sending transaction data from merchants to Faspay. This POST data process is carried out when the merchant requests parameters and then Faspay will respond to the request.

#### URL Endpoint

<table><thead><tr><th width="133">Type </th><th>Development</th></tr></thead><tbody><tr><td>XML</td><td>https://debit-sandbox.faspay.co.id/pws/300011/183xx00010100000</td></tr><tr><td>JSON</td><td>https://debit-sandbox.faspay.co.id/cvr/300011/10</td></tr></tbody></table>

POST data transactions should be done from the merchant backend, the detailed API reference can be found [Here](/merchant-integration/api-reference-1/debit-transaction/post-data-transaction.md)

This is an example of a POST data transaction for the Paydia QRIS channel:

**A. Post Data Request**

{% tabs %}
{% tab title="Sample Code (XML)" %}

<pre class="language-xml"><code class="lang-xml">&#x3C;?xml version="1.0" encoding="UTF-8" ?>
&#x3C;faspay>
	&#x3C;request>Transmisi Info Detil Pembelian&#x3C;/request>
	&#x3C;merchant_id>99999&#x3C;/merchant_id>
	&#x3C;merchant>FASPAY STORE&#x3C;/merchant>
	&#x3C;bill_no>2020102900000000000003&#x3C;/bill_no>
	&#x3C;bill_reff>StagingTest&#x3C;/bill_reff>
	&#x3C;bill_date>2023-11-28 01:00:00&#x3C;/bill_date>
	&#x3C;bill_expired>2023-11-30 23:49:00&#x3C;/bill_expired>
	&#x3C;bill_desc>Pembayaran #12345678&#x3C;/bill_desc>
	&#x3C;bill_currency>IDR&#x3C;/bill_currency>
	&#x3C;bill_gross>&#x3C;/bill_gross>
	&#x3C;bill_tax>0&#x3C;/bill_tax>
	&#x3C;bill_miscfee>0&#x3C;/bill_miscfee>
	&#x3C;bill_total>1000000&#x3C;/bill_total>
	&#x3C;cust_no>1&#x3C;/cust_no>
	&#x3C;cust_name>John Doe&#x3C;/cust_name>
	&#x3C;cust_lastname>Smith&#x3C;/cust_lastname>
	&#x3C;payment_channel>836&#x3C;/payment_channel>
	&#x3C;pay_type>1&#x3C;/pay_type>
	&#x3C;bank_userid>&#x3C;/bank_userid>
	&#x3C;msisdn>&#x3C;/msisdn>
	&#x3C;email>&#x3C;/email>
	&#x3C;terminal>10&#x3C;/terminal>
	&#x3C;billing_name>John Doe&#x3C;/billing_name>
	&#x3C;billing_lastname>0&#x3C;/billing_lastname>
	&#x3C;billing_address>jalan pintu air raya&#x3C;/billing_address>
	&#x3C;billing_address_city>Jakarta Pusat&#x3C;/billing_address_city>
	&#x3C;billing_address_region>DKI Jakarta&#x3C;/billing_address_region>
	&#x3C;billing_address_state>Indonesia&#x3C;/billing_address_state>
	&#x3C;billing_address_poscode>10710&#x3C;/billing_address_poscode>
	&#x3C;billing_msisdn>&#x3C;/billing_msisdn>
	&#x3C;billing_address_country_code>ID&#x3C;/billing_address_country_code>
	&#x3C;receiver_name_for_shipping>John Doe&#x3C;/receiver_name_for_shipping>
	&#x3C;shipping_lastname>&#x3C;/shipping_lastname>
	&#x3C;shipping_address>jalan pintu air raya&#x3C;/shipping_address>
	&#x3C;shipping_address_city>Jakarta Pusat&#x3C;/shipping_address_city>
	&#x3C;shipping_address_region>DKI Jakarta&#x3C;/shipping_address_region>
	&#x3C;shipping_address_state>Indonesia&#x3C;/shipping_address_state>
	&#x3C;shipping_address_poscode>10710&#x3C;/shipping_address_poscode>
	&#x3C;shipping_msisdn>08766688686&#x3C;/shipping_msisdn>
	&#x3C;shipping_address_country_code>ID&#x3C;/shipping_address_country_code>
<strong>	&#x3C;item>
</strong>		&#x3C;id>01&#x3C;/id>
		&#x3C;product>Handphone Type K123&#x3C;/product>
		&#x3C;qty>1&#x3C;/qty>
		&#x3C;amount>1000000&#x3C;/amount>
		&#x3C;payment_plan>01&#x3C;/payment_plan>
		&#x3C;merchant_id>99999&#x3C;/merchant_id>
		&#x3C;tenor>00&#x3C;/tenor>
		&#x3C;type>Smartphone&#x3C;/type>
		&#x3C;url>http://localhost:8088/kredivo&#x3C;/url>
		&#x3C;image_url>https://cdn.mos.cms.futurecdn.net/Mffc35PH77Dq7USrHb4qNm
-1200-80.jpg&#x3C;/image_url>
	&#x3C;/item>
	&#x3C;reserve1>0&#x3C;/reserve1>
	&#x3C;reserve2>&#x3C;/reserve2>
	&#x3C;signature>f81fed8d662bedfcf6ca88dec2426001a02a9c0c&#x3C;/signature>
&#x3C;/faspay>
</code></pre>

{% endtab %}

{% tab title="Sample Code (JSON)" %}

```json
{
  "request": "Transmisi Info Detil Pembelian",
  "merchant_id": "99999",
  "merchant": "FASPAY STORE",
  "bill_no": "2020102900000000000003",
  "bill_reff": "StagingTest",
  "bill_date": "2023-11-28 01:00:00",
  "bill_expired": "2023-11-30 23:49:00",
  "bill_desc": "Pembayaran #12345678",
  "bill_currency": "IDR",
  "bill_gross": "",
  "bill_tax": "0",
  "bill_miscfee": "0",
  "bill_total": "1000000",
  "cust_no": "1",
  "cust_name": "John Doe",
  "cust_lastname": "Smith",
  "payment_channel": "836",
  "pay_type": "1",
  "bank_userid": "",
  "msisdn": "",
  "email": "",
  "terminal": "10",
  "billing_name": "John Doe",
  "billing_lastname": "0",
  "billing_address": "jalan pintu air raya",
  "billing_address_city": "Jakarta Pusat",
  "billing_address_region": "DKI Jakarta",
  "billing_address_state": "Indonesia",
  "billing_address_poscode": "10710",
  "billing_msisdn": "",
  "billing_address_country_code": "ID",
  "receiver_name_for_shipping": "John Doe",
  "shipping_lastname": "",
  "shipping_address": "jalan pintu air raya",
  "shipping_address_city": "Jakarta Pusat",
  "shipping_address_region": "DKI Jakarta",
  "shipping_address_state": "Indonesia",
  "shipping_address_poscode": "10710",
  "shipping_msisdn": "08766688686",
  "shipping_address_country_code": "ID",
  "item": [
    {
      "id": "01",
      "product": "Handphone Type K123",
      "qty": "1",
      "amount": "1000000",
      "payment_plan": "01",
      "merchant_id": "99999",
      "tenor": "00",
      "type": "Smartphone",
      "url": "http://localhost:8088/kredivo",
      "image_url": "https://cdn.mos.cms.futurecdn.net/Mffc35PH77Dq7USrHb4qNm1200-80.jpg"
    }
  ],
  "reserve1": "0",
  "reserve2": "",
  "signature": "f81fed8d662bedfcf6ca88dec2426001a02a9c0c"
}
```

{% endtab %}
{% endtabs %}

#### B. Post Data Response&#x20;

Response parameters are the parameters sent by the Faspay system in response to requests made by the merchant system. If any of these parameters do not match or contain incorrect values, the transaction will be rejected by Faspay's system. For the Paydia QRIS payment method, there are 2 types of transaction models:

* Redirect.
* Direct.&#x20;

Here below are 2 different responses based on the transaction type model.

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

<table><thead><tr><th width="169">Parameter</th><th width="160">Data Type</th><th width="117">M/O/C</th><th>Description</th></tr></thead><tbody><tr><td>response</td><td>Alphanumeric (50)</td><td>Mandatory</td><td>Response Name</td></tr><tr><td>trx_id</td><td>Numeric (16)</td><td>Mandatory</td><td>Transaction ID (Issued/generated by Faspay (Media Indonusa)) Notes: Unique Transaction ID for 1 day or as long as it hasn’t been paid and hasn’t expired</td></tr><tr><td>merchant_id</td><td>Numeric (5)</td><td>Mandatory</td><td>Merchant Code</td></tr><tr><td>merchant</td><td>Alphanumeric (32)</td><td>Mandatory</td><td>Merchant Name</td></tr><tr><td>bill_no</td><td>Alphanumeric (32)</td><td>Mandatory</td><td>Order Number</td></tr><tr><td>bill_items</td><td>Array</td><td> </td><td> </td></tr><tr><td>id</td><td>Numeric</td><td>Optional</td><td>ID product</td></tr><tr><td>product</td><td>Alphanumeric</td><td>Optional</td><td>Product name</td></tr><tr><td>amount</td><td>Numeric</td><td>Optional</td><td>Nominal product price</td></tr><tr><td>merchant_id</td><td>Numeric (5)</td><td>Mandatory</td><td>Merchant Code</td></tr><tr><td>qty</td><td>Numeric</td><td>Optional</td><td>Quantity of item</td></tr><tr><td>payment_plan</td><td>Numeric</td><td>Optional</td><td>Payment code<br>1: Full Settlement<br>2: Installement</td></tr><tr><td>tenor</td><td>Numeric</td><td>Optional</td><td>Installment Tenor<br>00: Full Payment<br>03: 3 months<br>06: 6 months<br>12: 12 months</td></tr><tr><td>type</td><td>Alphanumeric</td><td>Optional</td><td>Item type</td></tr><tr><td>url</td><td>Alphanumeric</td><td>Optional</td><td>Item Link</td></tr><tr><td>image_url</td><td>Alfaumeric</td><td>Optional</td><td>Image item Link</td></tr><tr><td>response_code</td><td>Numeric (2)</td><td>Mandatory</td><td>Response Code<br>00 Success</td></tr><tr><td>response_desc</td><td>Alphanumeric (32)</td><td>Mandatory</td><td>Response Code Description</td></tr><tr><td>web_url</td><td>Alphanumeric</td><td>Conditional</td><td>Used if the transaction model uses direct type, displaying only QR code in the browser.</td></tr><tr><td>qr_content</td><td>Alphanumeric</td><td>Conditional</td><td>Data to be encoded in a QR code that will be generated or processed. Use this if the transaction is direct type.</td></tr><tr><td>redirect_url</td><td>Alphanumeric</td><td>Mandatory</td><td>Link to Faspay landing page containing QR image</td></tr></tbody></table>
{% endtab %}

{% tab title="Redirect Type (JSON)" %}

```json
{
  "response": "Transmisi Info Detil Pembelian",
  "trx_id": "9999983659992075",
  "merchant_id": "99999",
  "merchant": "FASPAY DEMO",
  "bill_no": "2020102900000000000003",
  "bill_items": [
    {
      "id": "01",
      "product": "Handphone Type K123",
      "qty": "1",
      "amount": "1000000",
      "payment_plan": "01",
      "merchant_id": "99999",
      "tenor": "00",
      "type": "Smartphone",
      "url": "http://localhost:8088/kredivo",
      "image_url": "https://cdn.mos.cms.futurecdn.net/Mffc35PH77Dq7USrHb4qNm-1200-80.jpg"
    }
  ],
  "response_code": "00",
  "response_desc": "Success",
  "redirect_url": "https://debitstaging.faspay.co.id/pws/100003/0830000010100000/f81fed8d662bedfcf6ca88dec2426001a02a9c0c?trx_id=9999983659992075&merchant_id=99999&bill_no=2020102900000000000003"
}
```

{% endtab %}

{% tab title="Direct Type (JSON)" %}

```json
{
  "response": "Transmisi Info Detil Pembelian",
  "trx_id": "9999983622046227",
  "merchant_id": "99999",
  "merchant": "FASPAY DEMO",
  "bill_no": "9333300199999123456",
  "bill_items": [
    []
  ],
  "response_code": "00",
  "response_desc": "Success",
  "web_url": "https://debitstaging.faspay.co.id/__assets/qr/paydia/99999-9999983622046227.png",
  "qr_content": "00020101021226650013ID.PAYDIA.WWW011893600818022111600102152211160010000000303UBE520465325303360540430005802ID5908FASPAY6006BEKASI610517111625501255761210ce5e04f658cbac7afa07152211160010000000803api630437E3",
  "redirect_url": "https://debitstaging.faspay.co.id/pws/100003/0830000010100000/ca1ed7300c72b8b14bc503826d0f54db8ed1a8b8?trx_id=9999983622046227&merchant_id=99999&bill_no=9333300199999123456"
}
```

{% endtab %}
{% endtabs %}

### 2. Display QR Code

Here are two ways to display the QR Code:

* Redirect Type: To display the QR Code on Faspay's page, simply redirect using the redirect\_url obtained from the POST Data Transaction Response (in JSON format), or refer to the detailed API reference for more information [Here](/merchant-integration/api-reference-1/debit-transaction/redirect-process.md)
* Direct Type: To display the QR Code on the merchant's page, if the frontend is HTML, you can use the web\_url retrieved from the post data transaction within an image tag like this: Alternatively, you can display it on a similar component without downloading. However, if the front end does not support this scenario, you should download the QR code image from that URL and then display it on the front end.

### 3. Inquiry Status Transaction&#x20;

Inquiry Payment Status is a process of checking the status of the payment of Faspay. Merchants previously would have had to post a URL redirect to Faspay.&#x20;

#### Endpoint URL Payment Status Inquiry

<table><thead><tr><th width="127">Type</th><th>Development</th></tr></thead><tbody><tr><td>XML</td><td>https://debit-sandbox.faspay.co.id/pws/100004/183xx00010100000</td></tr><tr><td>JSON</td><td>https://debit-sandbox.faspay.co.id/cvr/100004/10</td></tr></tbody></table>

#### A. Request Inquiry Status&#x20;

The Detailed API reference of Request Inquiry Status can be found [here.](/merchant-integration/api-reference-1/debit-transaction/inquiry-payment-status.md)

{% tabs %}
{% tab title="XML" %}

```xml
<?xml version="1.0" encoding="UTF-8" ?>
<faspay>
    <request>Inquiry Status Pembayaran</request>
    <trx_id>9999983622046227</trx_id>
    <bill_no>9333300199999123456</bill_no>
    <merchant_id>99999</merchant_id>
    <signature>ca1ed7300c72b8b14bc503826d0f54db8ed1a8b8</signature>
</faspay>
```

{% endtab %}

{% tab title="JSON" %}

```json
{
"request":"Inquiry Status Pembayaran",
"trx_id":"9999983622046227",
"bill_no":"9333300199999123456",
"merchant_id":"99999",
"signature":"ca1ed7300c72b8b14bc503826d0f54db8ed1a8b8"
}
```

{% endtab %}
{% endtabs %}

#### B. Response Inquiry Status

You will get the response:

{% tabs %}
{% tab title="XML " %}

```xml
<?xml version="1.0" encoding="UTF-8" ?>
<faspay>
    <response>Inquiry Status Pembayaran</response>
    <trx_id>9999983622046227</trx_id>
    <merchant_id>99999</merchant_id>
    <merchant>FASPAY DEMO</merchant>
    <bill_no>9333300199999123456</bill_no>
    <payment_reff>5761210ce5e04f658cbac7afa</payment_reff>
    <payment_date>2023-09-22 16:44:39</payment_date>
    <payment_status_code>2</payment_status_code>
    <payment_status_desc>Payment Sukses</payment_status_desc>
    <payment_total>10000.00</payment_total>
    <response_code>00</response_code>
    <response_desc>Sukses</response_desc>
</faspay>
```

{% endtab %}

{% tab title="JSON" %}

```json
{
"response": "Inquiry Status Pembayaran",
"trx_id": "9999983622046227",
"merchant_id": "99999",
"merchant": "FASPAY DEMO",
"bill_no": "9333300199999123456",
"payment_reff": "5761210ce5e04f658cbac7afa",
"payment_date": "2023-09-22 16:44:39",
"payment_status_code": "2",
"payment_status_desc": "Payment Sukses",
"payment_total": "10000.00",
"response_code": "00",
"response_desc": "Success"
}
```

{% endtab %}
{% endtabs %}

### 4. Payment Notification

Payment notification from Faspay to the Merchant backend will also be triggered in event of transaction status getting updated, to ensure the merchant is securely informed. Please provide the URL and make sure it's already registered on the Faspay system The detailed API reference can be found [here](/merchant-integration/api-reference-1/debit-transaction/payment-notification.md)


---

# Agent Instructions: 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://docs.faspay.co.id/merchant-integration/api-reference-1/debit-transaction/e-money-channel-integration-guide/paydia-qris-integration-guide.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.
