Skip to main content
Azupay PayID is a bank payment method that allows buyers in Australia to pay using a PayID. Azupay uses a redirect flow where the buyer completes the payment on the Azupay hosted page.

Setup

Azupay provides a self-service sign-up for a sandbox account. To sign up for an account, visit the sign-up page and follow the instructions.

Credentials

When setting up PayID in the dashboard, configure the following credentials:
  • Client ID - The client ID provided as part of the Azupay account request form once the account is created.
  • Secret key - The secret key generated in the Azupay Dashboard under Settings > API Keys.

Capabilities

Supported countries

Supported currencies

Limitations

  • PayID generation - Azupay automatically generates the PayID with the suffix registered at the time of sign-up. A dynamic suffix as part of the payload is not supported.
  • Concurrent refunds - Another refund cannot be initiated while there is an outstanding in-progress refund.
  • PayID expiry - The PayID expires after 20 minutes. Payments initiated against the PayID after expiry are automatically declined and returned by Azupay.

Webhooks

Azupay sends webhook events for every payment request status change. Ensure all webhook events are enabled:
  1. Log in to the Azupay Dashboard.
  2. Navigate to Settings > Payment Request webhook events.
  3. Set the webhook URL as defined by the connector.
Configure the Azupay account to decline payments where the amount paid by the buyer does not match the amount requested.

Integration

The default integration for Azupay PayID uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields.
var transaction = await client.Transactions.CreateAsync(
  transactionCreate: new TransactionCreate()
  {
    Amount = 1299,
    Currency = "AUD",
    Country = "AU",
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "payid",
          Country = "AU",
          Currency = "AUD",
          RedirectUrl = "https://example.com/callback",
        }
      ),
  }
);
After the transaction is created, the API response includes a payment_method.approval_url and the status is set to buyer_approval_pending. The PayID expires after 20 minutes.
{
  "type": "transaction",
  "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625",
  "payment_method": {
    "type": "payment-method",
    "approval_url": "https://cdn.gr4vy.com/connectors/..."
  },
  "method": "payid"
}
Redirect the buyer to the approval_url (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to a capture_succeeded state.