Skip to main content

Invoice checkout

Flowchart

Source:
https://cahskuy.stoplight.io/docs/OND/3c78799259e69-payment-checkout

Reference:
Transaction Flowchart

Endpoint
Endpoint Method
Authentication
/payment-checkout
POST Yes
Authentication
Type
Token source
Server
Description
Bearer {{usapi}}/auth USAPI Buyer's auth
Body request example
{
    "total_amount": 40000,
    "service": "ONMARKET",
    "source": "XENDIT",
    "transaction": [
        {
            "amount": 10000,
            "freight_charge": 5000,
            "insurance_amount": 100,
            "seller_username"client": "testing123",
            "invoice_onmarket": "INV/ONM/20240124-002B0001"
        },
        {
            "amount": 20000,
            "freight_charge": 5000,
            "insurance_amount": 100,
            "seller_username": "testing12345",
            "invoice_onmarket": "INV/ONM/20240124-002B0002"
        }
    ]usernew1"
}
wantstodo
Properties
Properties of Data type Required Description
total_amount
integer yes Total nominal amount for the invoice.
service
string yes

ONINDONESIA services.
Possible values:

  • ONDELIVERY means the source of the transaction comes from ondelivery.
  • ONTICKET means the source of the transaction comes from onticket.
  • ONMARKET means the source of the transaction comes from onmarket.
source
string yes A way that users pay for a product or service. Possible values: XENDIT or BALANCE.
transactionclient  array<object>yesList of transactions.
amounttransactionintegeryesAmount of transaction for each store (do not include freight charge and insurance as they'll put in other parameter).
freight_chargetransactionintegeryesAmount of freight charge for each store.
insurance_amounttransactionintegernoAmount of insurance for each store.
seller_usernametransaction string yes SellerUsername ONMARKETthat username
invoice_onmarkettransactionstringyesInvoice ID generated by ONMARKET
Response example

200 (OK)

Example response for ONMARKET

{
    "payment_url"xendit_invoice": "https://checkout-staging.xendit.co/latest/65ba1b78f603539c068ef753"qr_dbc7200c-ed8a-4088-9430-dae9f529f6bb",
    "invoice": "ONM0001N11V0000x",
    "xendit_invoice": "65ba1b78f603539c068ef753"OD0001N12C00006",
    "expired_at": "2024-01-31T12:05:44.155Z"02-14T10:02:10.065027Z",
    "transaction": [
        {
            "invoice_onmarket"qr_string": "INV/ONM/20240124-002B0001",
            "status": "PENDING"
        },
        {
            "invoice_onmarket": "INV/ONM/20240124-002B0002",
            "status": "PENDING"
        }
    ]0002010102##########CO.XENDIT.WWW011893600#######14220002152#####414220010303TTT####015CO.XENDIT.WWW02180000000000000000000TTT52045######ID5911XenditQRIS6007Jakarta6105121606##########3k1mOnF73h11111111#3k1mOnF73h6v53033605401163040BDB"
}
Properties
Properties of Data type Description
xendit_invoice
string invoice ID generated by XENDIT and translated by USAPI
payment_url
string

Public URL for this invoice

expired_at
timestampz

ISO date and time that the invoice expires.

transactioninvoice
array<object>

List of transactions

invoicetransaction string

Invoice ID generated by USAPI

statusqr_string transaction
string

StatusQR showing whether the invoice has been paid

Possible values: 

  • PENDING means the invoice has been successfullyString created butby yet to be paid
  • PAID means the invoice has been paid
  • EXPIRED means the invoice expired before your customer paid
XENDIT

Error response

400 Bad Request

Some parameters may contain invalid values or some parameters are not present.
{
    "message": "Invalid JSON Format"
}

Balance is not enough for doing transaction

{
    "message": "Insufficient balance"
}

401 Unauthorized

Authentication header is not valid or missing
{
    "message": "Auth Error"
}

500 Internal server error

Internal server error
{
    "message": "Internal server error"
}