Payment Object
Overview
The payment object represents a single payment method used in a transaction. An order can have multiple payment objects when the customer uses split payments (e.g. gift card + credit card).
Each payment captures the method name, amount paid, and payment classification. The sum of all payment values should match the order total.
Complete Reference
payments[0] object
name string required
info
Payment method name.
name: "Credit Card - Visa"
value number required
info
Amount paid with this payment method
value: 12.99
id string
info
Payment method internal identifier
id: "PAYMENT_INTERNAL_ID"
type string
info
Payment type. Free-form string, use consistent naming (e.g. "card", "paypal", "bank_transfer", "gift_card", "cash_on_delivery").
type: "card"
Examples
- Single Payment
- Split Payment
- Cash on Delivery
- Bank Transfer
{
"name": "Credit Card - Visa",
"value": 299.99,
"id": "CC_VISA_4532",
"type": "card"
}
[
{
"name": "Gift Card",
"value": 50.00,
"id": "GC_CARD_001",
"type": "gift_card"
},
{
"name": "Credit Card - Mastercard",
"value": 249.99,
"id": "CC_MC_8901",
"type": "card"
}
]
{
"name": "Cash on Delivery",
"value": 149.99,
"type": "cash_on_delivery"
}
{
"name": "Bank Transfer",
"value": 1299.99,
"id": "BT_REF_789456",
"type": "bank_transfer"
}
Best Practices
- Accurate amounts — ensure payment values reflect actual transaction amounts; the sum of all payments should equal the order total
- Consistent naming — use standardized payment method names across events
- Type classification — use consistent
typevalues for reporting (e.g. "card", "paypal", "bank_transfer", "gift_card", "cash_on_delivery", "buy_now_pay_later") - No sensitive data — never include full card numbers, CVV, or other sensitive payment details; use last four digits or tokenized IDs only
- Split payments — when a customer pays with multiple methods, include each as a separate object in the
paymentsarray