Event Name: payment_completed

Description: Triggered when payment for an order is successfully completed or captured. Separates payment confirmation from order creation and shipping, and is usable across Shopify, WooCommerce, Shiprocket-connected flows, marketplaces, and custom gateways. Use Cases:
  • Payment success notifications (email/WhatsApp)
  • Handling delayed or asynchronous payments
  • Tracking partial and multi-instalment payments
  • COD marked-as-paid events from logistics systems
  • Reconciliation between order and payment systems

Complete Schema

{
  "event_name": "payment_completed",
  "event_id": "string",
  "timestamp": "string (ISO 8601)",
  "customer_id": "string",
  "session_id": "string",

  "attributes": {
    "order_id": "string",
    "order_number": "string",
    "order_url": "string",

    "payment_id": "string",
    "payment_status": "string",
    "payment_method": "string",
    "payment_provider": "string",
    "payment_reference": "string",
    "payment_currency": "string",
    "payment_amount": "number",
    "payment_fee": "number",
    "payment_captured": "boolean",

    "order_total": "number",
    "order_currency": "string",
    "outstanding_amount": "number",
    "is_partial_payment": "boolean",
    "is_final_payment": "boolean",

    "payment_attempt_count": "integer",
    "previous_payment_status": "string",

    "paid_at": "string (ISO 8601)",
    "due_date": "string (ISO 8601)",

    "billing_email": "string",
    "billing_phone": "string",
    "billing_name": "string",
    "billing_address_line1": "string",
    "billing_address_line2": "string",
    "billing_city": "string",
    "billing_state": "string",
    "billing_postal_code": "string",
    "billing_country": "string",

    "payment_channel": "string",
    "payment_reason": "string"
  },

  "customer": {
    "customer_id": "string",
    "email": "string",
    "phone": "string",
    "first_name": "string",
    "last_name": "string"
  },

  "context": {
    "session_id": "string",
    "device_type": "string",
    "country": "string",
    "city": "string"
  },

  "platform": {
    "platform_name": "string",
    "store_id": "string",
    "store_domain": "string"
  }
}

Attributes Field Definitions

FieldTypeRequiredDescription
order_idstringYesUnique order identifier, from commerce platform or OMS
order_numberstringYesHuman-readable order number shown to customer
order_urlstringNoURL where customer can view order details
payment_idstringYesUnique identifier of payment transaction/intent
payment_statusstringYesCurrent payment status (e.g., succeeded, captured, pending_capture)
payment_methodstringYesCustomer-facing payment method (card, upi, net_banking, wallet, cod, bank_transfer, emi, paypal, etc.)
payment_providerstringNoGateway or provider name (stripe, razorpay, shopify_payments, cashfree, paytm, phonepe, etc.)
payment_referencestringNoExternal reference from gateway/bank (RRN, UTR, acquirer reference)
payment_currencystringYesCurrency of payment (ISO 4217)
payment_amountnumberYesAmount successfully paid in payment_currency
payment_feenumberNoProcessing fee charged by provider, if available
payment_capturedbooleanNoTrue if payment is fully captured/settled
order_totalnumberNoTotal order amount including taxes and shipping
order_currencystringNoCurrency of order_total
outstanding_amountnumberNoRemaining amount still unpaid for the order
is_partial_paymentbooleanNoTrue if this payment covers only part of the order_total
is_final_paymentbooleanNoTrue when, after this payment, the order becomes fully paid
payment_attempt_countintegerNoNumber of payment attempts made for this order/customer
previous_payment_statusstringNoStatus immediately before this event (pending, requires_action, failed, etc.)
paid_atstring (ISO 8601)NoTimestamp when gateway marked payment as successful
due_datestring (ISO 8601)NoDue date for payment for pay-later or COD workflows
billing_emailstringNoBilling contact email used for payment
billing_phonestringNoBilling contact phone number
billing_namestringNoFull billing name from gateway or billing profile
billing_address_line1stringNoFirst line of billing address
billing_address_line2stringNoSecond line of billing address
billing_citystringNoBilling city
billing_statestringNoBilling state or region
billing_postal_codestringNoBilling postal/ZIP code
billing_countrystringNoBilling country (ISO 3166‑1 alpha‑2 preferred)
payment_channelstringNoChannel where payment was made (web, mobile_web, mobile_app, pos, marketplace, call_center, etc.)
payment_reasonstringNoHigh-level purpose (initial_payment, retry, top_up, cod_marked_paid, subscription_renewal, etc.)