Payments
Accept QR Ph and eWallet payments from customers. All amounts in centavos (₱1 = 100).
POST
/v1/paymentsIdempotentCreate a payment
Creates a QR Ph or eWallet payment request. Returns a QR string for QRPH or a redirect URL for eWallets. The transaction starts in PENDING and transitions to SUCCEEDED via webhook.
Required scope:
payments:writeRequest Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | enum | Yes | QRPH or PAYMENT (eWallet) |
| amount | integer | Yes | Amount in centavos |
| currency | string | No | ISO currency code |
| reference_id | string | Yes | Your unique reference ID |
| channel_code | string | No | eWallet channel: GCASH, PAYMAYA, GRABPAY |
| mobile_number | string | No | Customer mobile for eWallet |
| description | string | No | Payment description |
Response
{
"id": "pay_01HXYZ",
"status": "PENDING",
"amount": 10000,
"currency": "PHP",
"reference_id": "ORDER-001",
"qr_string": "QR_STRING_HERE",
"provider_transaction_id": "pr_abc123",
"fees": {
"provider_fee": 1000,
"payroo_fee": 500,
"merchant_net": 8500
},
"created_at": "2024-01-01T00:00:00.000Z"
}GET
/v1/transactionsList transactions
Returns a paginated list of all transactions for your merchant account.
Required scope:
transactions:readQuery Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | enum | No | Filter by type: PAYMENT, QRPH, PAYOUT, ELOAD, BILL |
| status | enum | No | Filter by status |
| limit | integer | No | Results per page (max 100) |
Response
{
"data": [
{
"id": "pay_01HXYZ",
"type": "QRPH",
"status": "SUCCEEDED",
"amount": 10000,
"currency": "PHP",
"reference_id": "ORDER-001",
"created_at": "2024-01-01T00:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}GET
/v1/transactions/:idGet a transaction
Retrieves a single transaction by ID.
Required scope:
transactions:readResponse
{
"id": "pay_01HXYZ",
"type": "QRPH",
"status": "SUCCEEDED",
"amount": 10000,
"currency": "PHP",
"reference_id": "ORDER-001",
"created_at": "2024-01-01T00:00:00.000Z"
}GET
/v1/transactions/:id/timelineGet transaction timeline
Returns all state transition events for a transaction in chronological order.
Required scope:
transactions:readResponse
{
"data": [
{
"id": "evt_01",
"event": "CREATED",
"data": {},
"created_at": "2024-01-01T00:00:00.000Z"
}
]
}