PaymentOrder object
Last updated: 2026-07-17
PaymentOrder is returned by pay-in and payout operations, payment reads, and
webhooks. Fields that do not apply to the selected flow can be omitted or empty.
The OpenAPI schema does not mark response properties as required, so the
presence labels below describe normal response semantics rather than a JSON
Schema guarantee.
| Field | JSON type | Presence | Merchant meaning |
|---|---|---|---|
id | string | Core | Payment order UUID |
merchantReference | string | Core | Merchant-provided reference |
paymentMethod | enum | Core | Selected PAYMENT_METHOD_* value |
type | enum | Core | PAYMENT_ORDER_TYPE_PAYMENT_IN or PAYMENT_ORDER_TYPE_PAYMENT_OUT |
status | enum | Core | Current payment lifecycle status |
amount | string (int64) | Core | Amount in minor units |
currencyCode | string | Core | Payment currency |
currencyMinorUnits | integer (int32) | Optional | Currency exponent captured when the payment was created |
paymentUrl | string | Conditional | Hosted or authorization URL when a redirect is available |
redirectUrl | string | Optional | Merchant return URL stored on the payment |
failureReason | string | Conditional | Public failure reason for a negative outcome |
failureReasonCode | string (int64) | Conditional | Numeric failure code encoded as a JSON string |
createdAt | string (date-time) | Core | Creation timestamp |
updatedAt | string (date-time) | Core | Last update timestamp |
trafficVertical | enum | Core | Transaction vertical classification |
customerSegment | enum | Core | Customer lifecycle segment |
bankTransferDetails | object | Conditional | Generated bank-transfer account state and details |
paymentSubMethod | string | Conditional | Public submethod code; currently moniepoint for bank transfer |
Payment status values are:
PAYMENT_ORDER_STATUS_CREATEDPAYMENT_ORDER_STATUS_PENDINGPAYMENT_ORDER_STATUS_COMPLETEDPAYMENT_ORDER_STATUS_CANCELLEDPAYMENT_ORDER_STATUS_EXPIREDPAYMENT_ORDER_STATUS_FAILED
Treat PAYMENT_ORDER_STATUS_UNSPECIFIED as an unknown/default enum value, not a
successful business outcome. See Payment lifecycle for
reconciliation and Bank transfer details
for the nested bank-transfer object.