---
title: "Call Payment Completed"
method: POST
path: "callPaymentCompleted"
tags: ["Callbacks"]
---

# Call Payment Completed

`POST callPaymentCompleted` (webhook)

This webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.

## Headers

- `telnyx-timestamp` integer, required — Unix timestamp for replay attack prevention
- `telnyx-signature-ed25519` string, required — Ed25519 signature of timestamp|payload for verification

## Payload

- CallPaymentCompletedEvent
  - `data` CallPaymentCompleted
    - `record_type` 'event' — Identifies the type of the resource.
    - `event_type` 'call.payment.completed' — The type of event being delivered.
    - `id` string, uuid — Unique identifier for the event.
    - `occurred_at` string, date-time — ISO 8601 datetime when the event occurred.
    - `payload` object
      - `call_control_id` string — Call ID used to issue commands via Call Control API.
      - `connection_id` string — Call Control App ID used in the call.
      - `call_leg_id` string — ID unique to the call leg.
      - `call_session_id` string — ID shared by related call legs in the same call session.
      - `client_state` string — Base64-encoded state received from the command.
      - `from` string — Number or SIP URI placing the call.
      - `to` string — Destination number or SIP URI of the call.
      - `payment_connector` string — Name of the Pay connector used.
      - `payment_method` 'credit-card' | 'ach-debit' — Payment method being collected.
      - `payment_card_type` 'visa' | 'mastercard' | 'amex' | 'discover' | 'diners-club' | 'jcb' — Detected card type. Present only for the recognized card brands listed below.
      - `payment_card_number` string — Masked card number with only the last four digits visible.
      - `expiration_date` string — Card expiration date in MMYY format.
      - `security_code` string — Fully masked card security code.
      - `payment_card_postal_code` string — Billing postal code collected from the caller.
      - `bank_account_number` string — Masked bank account number with only the last two digits visible.
      - `bank_routing_number` string — Bank routing number collected from the caller.
      - `bank_account_type` string — Bank account type, when available.
      - `result` 'success' | 'payment-connector-error' | 'internal-error' | 'too-many-failed-attempts' | 'cancelled' — Final Pay session result.
      - `charge_id` string — Charge identifier returned for a successful charge transaction.
      - `token_id` string — Token identifier returned for a successful tokenize transaction.
      - `payment_confirmation_code` string — Payment confirmation code returned by the processor, when available.
      - `payment_error` string — Step-level or processor error associated with the final result.
      - `pay_error_code` string — Error code returned by the payment connector or processor.
      - `connector_error` union — Additional connector error information, when supplied by the processor.
        - string
        - object

## Acknowledgement `200`

The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL.

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/versions/8f5f4e537994/schema)
