Skip to content

PalmPay

CS Integration option

Payment

Info

This integration option supports only NGN currency.

Payment flow

  1. The customer initiates the PalmPay payment on the merchant's website.
  2. The merchant sends a payment request with method.type set to palm_pay.
  3. PaySage.io returns a URL for the PalmPay payment page.
  4. The merchant redirects the customer to the URL in form.action.
  5. The customer completes the payment and returns to the URL specified in return_url.
  6. PaySage.io sends a webhook notification when the payment is finalized. The merchant may also request the status using the status query.
Request

Send a payment request with the following parameters:

object
amount
required
bigInteger
Transaction amount in minimal currency units. For example, ₦100.00 must be sent as 10000.
currency
required
string
NGN.
description
required
string
Short description of the order.
return_url
required
string
URL to which the customer is redirected after the transaction is completed.
object
Section of the payment method information.
type
required
string
palm_pay
object
Section of information about the customer.
email
required
string
Customer's email address.
first_name
string (60)
Customer's first name.
last_name
string (60)
Customer's last name.
Request example
{
    "request": {
        "amount": 10000,
        "currency": "NGN",
        "description": "Order 1024",
        "return_url": "https://merchant.example/return",
        "method": {
            "type": "palm_pay"
        },
        "customer": {
            "email": "customer@example.com",
            "first_name": "Adaeze",
            "last_name": "Okafor"
        }
    }
}
Response

Redirect the customer to the URL in form.action of the payment response.

Response example
{
    "transaction": {
        "uid": "afc435d9-b80a-4714-b904-3df193444558",
        "type": "payment",
        "status": "pending",
        "amount": 10000,
        "currency": "NGN",
        "description": "Order 1024",
        "created_at": "2026-11-03T15:54:29Z",
        "updated_at": "2026-11-03T15:54:29Z",
        "method_type": "palm_pay",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/afc435d9-b80a-4714-b904-3df193444558/b351bc741fe851af7b80e1aae5dcaffbe0bb5621108840feb3141caf24bb568a",
        "payment": {
            "status": "pending",
            "gateway_id": 7716,
            "message": "Test Success"
        },
        "palm_pay": {
            "type": "palm_pay",
            "use_pending_page": true
        },
        "customer": {
            "email": "customer@example.com.com",
            "last_name": "Okafor",
            "first_name": "Adaeze",
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Test Success",
        "test": false,
        "billing_address": {
            "email": "customer@example.com",
            "last_name": "Okafor",
            "first_name": "Adaeze"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "smart_routing_verification": {
            "status": "skipped"
        },
        "gateway": {
            "iframe": false
        },
        "payment_method_type": "palm_pay",
        "form": {
            "action": "link-to-payment-page",
            "fields": [],
            "method": "GET"
        }
    }
}