Skip to main content
POST
/
collect
/
payment_sessions
curl --request POST \
  --url https://api.momentco.io/collect/payment_sessions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '{
  "amount": 200,
  "currency": "ZAR"
}'
{
"id": "ps_kfAWZgfQIoeG0q",
"type": "one_time",
"amount": 50,
"currency": "ZAR",
"status": "active",
"payment_status": "unpaid",
"checkout_session_id": "ckt802zEb2P2uS4Ql",
"session_url": "https://moment.dev.momentpay.io/checkout/ckt802zEb2P2uS4Ql",
"return_url": null,
"mode": "live",
"created_at": "2025-03-18T14:06:51.149Z",
"updated_at": "2025-03-18T14:06:51.149Z"
}

Authorizations

Authorization
string
header
required

Headers

Idempotency-Key
string<uuid>
required
Required string length: 1 - 255

Body

application/json
amount
integer
required
Example:
currency
string
required
Example:
type
enum<string>
default:one_time
Available options:
one_time,
first_in_series,
next_in_series
options
One Time · object
  • One Time
  • First In Series
  • Next In Series
metadata
object
Example:
external_reference
string
Maximum string length: 255
Example:

Response

id
string
Example:
type
enum<string>
Available options:
one_time,
first_in_series,
next_in_series
amount
integer
Example:
currency
string
Example:
status
enum<string>
Available options:
active,
completed,
expired,
cancelled
payment_status
enum<string>
Available options:
paid,
unpaid
customer_id
string
payment_method_id
string
checkout_session_id
null | string
Example:
payment_id
string
Example:
session_url
string<uri>
Example:
return_url
string<uri>
Example:
last_payment_error
Last Payment Error · object
mode
enum<string>
Available options:
live,
test
external_reference
string
Maximum string length: 255
Example:
metadata
object
Example:
created_at
string<date-time>
Example:
updated_at
string<date-time>
Example: