Payments

Accept QR Ph and eWallet payments from customers. All amounts in centavos (₱1 = 100).

POST/v1/paymentsIdempotent

Create 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:write

Request Body

ParameterTypeRequiredDescription
typeenumYesQRPH or PAYMENT (eWallet)
amountintegerYesAmount in centavos
currencystringNoISO currency code
reference_idstringYesYour unique reference ID
channel_codestringNoeWallet channel: GCASH, PAYMAYA, GRABPAY
mobile_numberstringNoCustomer mobile for eWallet
descriptionstringNoPayment 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/transactions

List transactions

Returns a paginated list of all transactions for your merchant account.

Required scope:transactions:read

Query Parameters

ParameterTypeRequiredDescription
typeenumNoFilter by type: PAYMENT, QRPH, PAYOUT, ELOAD, BILL
statusenumNoFilter by status
limitintegerNoResults 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/:id

Get a transaction

Retrieves a single transaction by ID.

Required scope:transactions:read

Response

{
  "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/timeline

Get transaction timeline

Returns all state transition events for a transaction in chronological order.

Required scope:transactions:read

Response

{
  "data": [
    {
      "id": "evt_01",
      "event": "CREATED",
      "data": {},
      "created_at": "2024-01-01T00:00:00.000Z"
    }
  ]
}