Payment Links

Payment links allow you to create hosted checkout pages that you can share with customers via email, SMS, or any messaging platform. Each link generates a unique ZuriPay checkout URL.


POST/v1/links

Create a new hosted payment link.

Required attributes

  • Name
    amount
    Type
    integer
    Description

    Amount in the smallest currency unit (e.g., 5000 for $50.00).

  • Name
    currency
    Type
    string
    Description

    Three-letter ISO currency code (e.g., USD, ZWL).

Optional attributes

  • Name
    description
    Type
    string
    Description

    Description of what the payment is for.

Request

POST
/v1/links
curl -X POST https://api.zuripay.app/v1/links \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "currency": "USD",
    "description": "Invoice #1234"
  }'

Response

{
  "result": "success",
  "payment_link_id": "zp_chk_a1b2c3d4e5",
  "hosted_payment_link": "https://checkout.zuripay.app?checkout_id=zp_chk_a1b2c3d4e5",
  "message": "Payment link created successfully. Amount: USD 5000, Charges: USD 50.0, Total: USD 50.5"
}

GET/v1/links/list

Retrieve all payment links for your account.

Optional parameters

  • Name
    start_date
    Type
    string
    Description

    Filter by start date (YYYY-MM-DD).

  • Name
    end_date
    Type
    string
    Description

    Filter by end date (YYYY-MM-DD).

  • Name
    limit
    Type
    integer
    Description

    Maximum number of records (default: 100).

Request

GET
/v1/links/list
curl https://api.zuripay.app/v1/links/list \
  -H "Authorization: Bearer sk_live_your_api_key"

Response

{
  "result": "success",
  "payment_links": [
    {
      "payment_link_id": "zp_link_zp_chk_a1b2c3d4e5",
      "amount": "50.00",
      "currency": "USD",
      "message": "Payment link listed successfully.",
      "details": {}
    }
  ]
}

GET/v1/links/fetch/:id

Retrieve details of a specific payment link.

Request

GET
/v1/links/fetch/zp_chk_a1b2c3d4e5
curl https://api.zuripay.app/v1/links/fetch/zp_chk_a1b2c3d4e5 \
  -H "Authorization: Bearer sk_live_your_api_key"

PUT/v1/links/update

Update an existing payment link's details.

Optional attributes

  • Name
    payment_link_id
    Type
    string
    Description

    The ID of the payment link to update.

  • Name
    amount
    Type
    integer
    Description

    Updated amount.

  • Name
    description
    Type
    string
    Description

    Updated description.

  • Name
    status
    Type
    string
    Description

    Set to active or inactive.

Request

PUT
/v1/links/update
curl -X PUT https://api.zuripay.app/v1/links/update \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "payment_link_id": "zp_chk_a1b2c3d4e5",
    "description": "Updated Invoice #1234"
  }'

Response

{
  "result": "success",
  "message": "Payment link updated successfully."
}

DELETE/v1/links/delete

Delete a payment link. Deleted links can no longer be used for payments.

Request

DELETE
/v1/links/delete
curl -X DELETE https://api.zuripay.app/v1/links/delete \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"payment_link_id": "zp_chk_a1b2c3d4e5"}'

Response

{
  "result": "success",
  "message": "Payment link deleted successfully."
}

Was this page helpful?