ZevPay ID
ZevPay ID lets a customer pay from the ZevPay app. When they pick it, we create a dynamic PayID and a QR code for the session. The customer sends to the PayID or scans the QR code, and the payment confirms instantly.
Identifier: payid (also payid in the inline SDK).
How it works
- The customer selects ZevPay ID.
- We create a dynamic PayID and a QR code for the session.
- The customer opens the ZevPay app and sends to the PayID, or scans the QR code.
- The payment confirms instantly.
- The session moves to completed and your webhook fires.
What the customer sees
Selecting the method returns the PayID and QR data:
json
{
"payment_method": "payid",
"pay_id": "abc3.dypid",
"qr_data": "https://zevpay.me/abc3.dypid",
"amount": 500000,
"expires_at": "2026-01-01T12:30:00.000Z"
}amount is in kobo. qr_data is a URL you can render as a QR code for scanning.
Key details
- The PayID is dynamic and expires with the session after 30 minutes.
- The amount must match exactly. The PayID accepts a single payment for the session amount.
- A QR code is provided for quick scanning.
- On an invoice that requires full payment (
allow_partial_payments: false), ZevPay ID is hidden, because a customer-initiated transfer cannot enforce an exact partial amount.
Verifying the payment
Confirm the payment from your server before fulfilling. See Verify Session and Payment Lifecycle.