Skip to main content
GET
/
collect
/
payment_request
/
{id}
Retrieve Payment Request
curl --request GET \
  --url https://api.momentco.io/collect/payment_request/{id} \
  --header 'Authorization: Bearer <token>'
{
"id": "pr_45243sfd01NoPqRsTuVw",
"status": "active",
"type": "link",
"amount": 10000,
"currency": "ZAR",
"external_reference": "INV-2024-001",
"description": "Product purchase",
"expires_at": "2025-06-17T10:30:00Z",
"link": {
"link_url": "https://links.momentpay.io/G9wbzZbFDUQBFAE"
},
"metadata": {
"customer_id": "cust_123456",
"order_id": "ord_789012"
},
"created_at": "2025-06-16T10:30:00Z",
"updated_at": "2025-06-16T10:30:00Z"
}

Authorizations

Authorization
string
header
required

Authentication using Bearer tokens. Include your API key in the Authorization header.

Key Types:

  • Test Keys: sk_test_* for development and testing
  • Live Keys: sk_* for production environments
  • Public Keys: pk_test_* or pk_* for client-side operations

📩 Need access? Contact Support to request your API keys.

Usage:

Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc

Path Parameters

id
string
required

Unique identifier for the Payment Request. Must be a valid Payment Request ID.

Example:

"pr_6phg74i4jG9wbzZbFDUQB"

Response

Payment Request retrieved successfully

A Payment Request represents a request for payment that can be shared via a link or sent to a banking app for authorization and Payment.

id
string

Unique identifier for the Payment Request.

Example:

"pr_6phg74i4jG9wbzZbFDUQB"

type
enum<string>
default:link

Delivery mode of the payment request.

Available options:
link,
push
Example:

"link"

status
enum<string>

Current status of the Payment Request.

  • Link: active, paid, expired
  • Push: active, paid, expired, failed
Available options:
active,
paid,
expired,
failed
Example:

"active"

payment_id
string

Associated payment ID when the request has been paid. Unique identifier for a payment

Example:

"p_xyz789abc123def456"

amount
integer

The amount to be charged in the smallest currency unit. For example, 20.00 ZAR is represented as 2000 cents. Learn more about minor units.

Example:

1000

currency
string

The ISO 4217 currency code for the payment.

Example:

"ZAR"

external_reference
string

External reference for reconciliation or tracking purposes. Must be unique within your merchant account.

Maximum length: 255
Example:

"INV-2024-001"

expires_at
string<date-time> | null

ISO 8601 timestamp indicating when the Payment Request expires.

Defaults (if not provided):

  • Link (type=link or omitted): 24 hours from created_at
  • Push (type=push): 2 minutes from created_at

Must be in the future when creating or updating.

Example:

"2025-06-17T10:30:00Z"

description
string

Human-readable description of what the payment is for

Maximum length: 500
Example:

"Product purchase"

Details for link-based payment requests.

push
object

Details for push (bank) payment requests. Uses a provider-specific sub-object. Beta — only Capitec is supported.

metadata
object

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. NEW Limitations:

  • Maximum 10 keys
  • Key names must be strings (max 40 characters)
  • Values must be strings (max 500 characters)
Example:
{
"customer_id": "cust_123456",
"order_id": "ord_789012"
}
created_at
string<date-time>

Creation timestamp (UTC).

Example:

"2025-06-16T10:30:00Z"

updated_at
string<date-time>

Last update timestamp (UTC).

Example:

"2025-06-16T10:30:00Z"