PayID Overview
PayID is a feature of the New Payments Platform (NPP) that enables merchants to request payment from their customers using a unique, human-readable address linked to a bank account. By creating a PayID Payment Request, merchants can collect payments directly through customers’ online banking — without the customer needing to provide credit card or bank account details.
PayID can be used for various purposes, such as paying an invoice or topping up their account balance with a service provider.
How It Works
When a merchant creates a PayID Payment Request via the API, a unique PayID value (in email format) is generated for that transaction. The merchant shares this PayID with the customer, who then opens their banking app and sends the exact payment amount to the PayID. Once the payment is received and processed through the NPP, the merchant is notified via a webhook and the Payment Request status transitions to completed.
PayID Workflow
sequenceDiagram
autonumber
participant M as Merchant
participant GP as Global Payments
participant NPP as NPP
participant C as Customer
M->>GP: Call the /paymentrequests endpoint<br> to request a payment using PayID
GP->>NPP: Register unique PayID with<br> the parameters specified<br> by the merchant
NPP-->>GP: Unique PayID is returned to <br>Global Payments
GP-->>M: API responds with the newly created PayID
rect rgb(235, 235, 245)
Note over M,C: External Step
M-->>C: Merchant shares PayID with customer
end
rect rgb(255, 243, 153)
C->>C: Opens online banking, chooses<br> to make a payment and enters<br> the PayID provided by the<br> merchant
end
C->>NPP: Funds are transferred via the NPP network
NPP-->>GP: Global Payments receives<br> notification of the payment<br> and receives the funds
GP-->>M: Webhook: payment_requests (paymentRequestStatus: completed)
GP-->>M: Webhook: transactions (if subscribed to transactions event)
Key Concepts
| Concept | Description |
|---|---|
| PayID Value | A unique email-format value (e.g. 0123-inv-0000001@pay.gpaunz.com) generated per Payment Request. Share this with the customer to receive payment. |
| Payment Request Status | The lifecycle status of the request: created → completed (or expired / cancelled). |
| Webhook | An HTTP callback sent to your endpoint when the Payment Request status changes (e.g. a payment is received). |
| Expiry | Each PayID Payment Request has an expiry (up to 90 days from creation). After expiry, the PayID is released and no payment can be received. |
Payment Request Statuses
| Status | Description |
|---|---|
created | The PayID has been registered and is awaiting customer payment. |
completed | The customer has successfully sent payment via their banking app. |
expired | The Payment Request reached its expiry date without receiving payment. |
cancelled | The Payment Request was explicitly cancelled via the API. |
Next Steps
- Integration Guide — Step-by-step guide to implementing PayID in your system.
- Examples — Copy-paste ready request and response examples.