Invoice checkout
Flowchart

Source:
https://cahskuy.stoplight.io/docs/OND/3c78799259e69-payment-checkout
Reference:https://documentation.onindonesia.id/books/getting-started/page/transaction-flowchartTransaction 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,
"seller_username": "testing123",
"invoice_onmarket": "INV/ONM/20240124-002B0001"
},
{
"amount": 15000,
"seller_username": "testing12345",
"invoice_onmarket": "INV/ONM/20240124-002B0002"
}
]
}
| Properties |
Properties of | Data type | Required | Description |
| amount | integer | yes | Nominal amount for the invoice | |
| service | string | yes |
ONINDONESIA services.
|
|
| source | string | yes | A way that users pay for a product or service. Possible values: XENDIT or BALANCE. | |
| xendit_methods | array[string] | yes |
The specific payment channel used to pay the invoice. Possible values for e-wallet:
Bank transfer (virtual account) is not supported yet due to high fees. Value can be empty (ie. [ ]) |
|
| xendit_ttl | integer | no |
Duration of time in seconds that the end customer is given to pay the invoice before expiration (in seconds). (Required if source == XENDIT). Default value = 7200 |
Response example
200 (OK)
Example response for ONMARKET
{
"payment_url": "https://checkout-staging.xendit.co/latest/65ba1b78f603539c068ef753",
"invoice": "ONM0001N11V0000x",
"xendit_invoice": "65ba1b78f603539c068ef753",
"expired_at": "2024-01-31T12:05:44.155Z",
"transaction": [
{
"invoice_onmarket": "INV/ONM/20240124-002B0001",
"status": "PENDING"
},
{
"invoice_onmarket": "INV/ONM/20240124-002B0002",
"status": "PENDING"
}
]
}
| 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. |
|
| transaction | array<object> |
List of transactions |
|
| invoice | transaction | string |
Invoice ID generated by USAPI |
| status | transaction | string |
Status showing whether the invoice has been paid Possible values:
|
Error response
400 Bad Request
Some parameters may contain invalid values or some parameters are not present.
{
"message": "Invalid JSON Format"
}
401 Unauthorized
Authentication header is not valid or missing
{
"message": "Auth Error"
}
500 Internal server error
Internal server error
{
"message": "Internal server error"
}