Skip to content

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

ConceptDescription
PayID ValueA 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 StatusThe lifecycle status of the request: createdcompleted (or expired / cancelled).
WebhookAn HTTP callback sent to your endpoint when the Payment Request status changes (e.g. a payment is received).
ExpiryEach 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

StatusDescription
createdThe PayID has been registered and is awaiting customer payment.
completedThe customer has successfully sent payment via their banking app.
expiredThe Payment Request reached its expiry date without receiving payment.
cancelledThe 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.