Payment object contains all the information needed to process a payment transaction.
Properties
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | ✅ | Payment amount in the smallest currency unit (e.g., cents for USD) |
currency | string | ✅ | ISO 4217 currency code (e.g., “USD”, “EUR”) |
paymentMethod | PaymentMethod | ✅ | The chosen payment method details (e.g., card) |
merchantReference | string | ✅ | Merchant’s unique identifier for this payment (idempotency/business tracking) |
goodsType | string | ✅ | Type of goods being purchased Values: PHYSICAL (tangible items), DIGITAL (non-physical items), MIXED (combination of both) |
productItems | array of ProductItem | ❌ | List of product or service items included in this payment |
captureNow | boolean | ❌ | Determines how the payment is processed Behavior: false (default) - Authorization only, true - Sale (authorize and capture in one step) |
descriptor | string | ❌ | Text shown on the customer’s bank statement (e.g., merchant or product name) |
consumer | Consumer | ❌ | Consumer details such as name, email, phone |
billing | Billing | ❌ | Billing address information |
shipping | Shipping | ⚠️ | Shipping address and recipient details. Required when goodsType is not "DIGITAL" |
previousFailures | array of PreviousFailure | ❌ | Array of previous failed payment attempts with other providers. Providing this context can help improve approval rates when retrying payments |

