PoS Transaction API

API Flow Overview

HTTP Response Code

All the APIs here are based on the HTTP request. The following are the response codes of an HTTP request that the Indodana Paylater API may response.

HTTP Response Code

Remarks

200

Everything work as expected

400

Bad request

401

Unauthorized

422

Validation Error

404

Not found

409

Conflict

429

Too many requests

50X

Server errors

API Method References

In this section, {base_url} will correspond to

https://sandbox01-offline.indodana.com/api

You can find our IP list here.

PoS Checkout

POST https://base_url/public/v3/qr-checkout

* means the parameter is required

Request Body

NameTypeDescription

server_key*

string

Will be provided by Indodana for your integration.

amount*

number

Non negative value of grand total of customer's transaction

source*

string

Please send us static value of "QR" for now

order_id*

string

Unique order id of your transaction. Never use the same order_id twice or the request will be rejected.

sub_merchant_id*

string

Will be provided by Indodana for your integration.

push_uri*

string

Valid url. This will be used by Indodana to perform callback once the payment is complete.

items*

object

Array of JSON, consist of each customer's transaction details.

{
    "status": "OK",
    "qr_image": "https://indodana-qr-image.com/please/load/from/here",
    "raw_string_qr": "0002I101021226890015id.indodana.www01194fef0cca-6a76-11e9-02364fef0cca-6a76-11e9-a923-1681be663d3e03034fe5802ID5903wat62400136233c6099-bae1-11ec-9ca9-25e05126faf4"
    "transaction_id": "a7d2b836-c429-11eb-887a-b330815b2e37"
}

Please follow this doc to learn about callback

// sample request
{
    "server_key": "7F89lL7JIYKqX5UuPhg34lZWhoL54pFm",
    "amount": 95000,
    "source": "QR",
    "order_id": "9YUy8Z5s",
    "sub_merchant_id": "19cd5c6c-a24a-11e9-93c5-00163e013bb4",
    "push_uri": "https://your.url/any/path/is/ok",
    "items": [{
        "id": "001",
        "name": "Es Teh",
        "price": 10000,
        "type": "Drink",
        "quantity": 2
    }, {
        "id": "002",
        "name": "Nasi Goreng",
        "price": 25000,
        "type": "Food",
        "quantity": 3
    }]
}

Object Type References

items

Name

Type

Length

Remarks

id

string

64

Required. Item catalog identifier

name

string

128

Required. Item name

price

number

16,2

Required. Item price per quantity

type

string

64

Required. Item category type

quantity

number

5

Required. Total purchase quantity for this item

422-Error Debugging

check error.message in the response body, some required fields might not be provided in the request body.

Last updated