Hosted Checkout (Redirect)

The simplest integration. You never touch card data.

  1. Create the order
    POST /api/checkout/v1/orders

    {
      "merchant_order_reference": "order-10001",
      "order_amount": { "value": 1000, "currency": "SGD" },
      "integration_mode": "REDIRECT",
      "callback_url": "https://merchant.example.com/payments/return",
      "failure_callback_url": "https://merchant.example.com/payments/failed"
    }

    value is minor units — for SGD (2 decimals), 1000 means 10.00. Use the currency table to convert.

The response returns order_id and redirect_url.


  1. Redirect the shopper
    Send the shopper to redirect_url. They choose a payment method and pay on the Pine Labs hosted page.

  1. Handle the return
    After payment, the shopper is redirected to your callback_url (success) or failure_callback_url (failure). The return includes query parameters identifying the order.

In UAT a cancelled QR payment has been observed to return to the success callback URL. Always verify the real status with Get order — do not trust the callback alone.


  1. Verify the order
    GET /api/pay/v1/orders/{order_id}
    Check status — PROCESSED means success, AUTHORIZED means a pre-auth is held for capture, FAILED or CANCELLED means it did not succeed.

Did this page help you?