---
title: "Send Payment Receipt"
method: POST
path: "/payments/{id}/receipt"
tags: ["Payments"]
---

# Send Payment Receipt

`POST /payments/{id}/receipt`

Sends a payment receipt to the customer through their preferred communication channel.

**This API can only be used for payments with the following status:**

- Succeeded

**Delivery channels are automatically selected based on available customer information:**

- If customer email is available: Receipt is sent via email
- If customer phone is available: Receipt is sent via WhatsApp
- If WhatsApp delivery fails: Receipt is sent via SMS as a fallback

The receipt includes payment details such as amount, date, transaction ID, and merchant
information, providing customers with a record of their successful transaction. If no customer contact information is provided, the system will use the details stored in the payment record.

## Request body

- SendPaymentReceiptRequest
  - `customerEmail` string — The customer will receive payment receipt on this email address.
  - `customerPhone` string — Phone number in E.164 format. The customer will receive payment receipt link on this phone number.
  - `channel` 'EMAIL' | 'WHATSAPP' | 'SMS' — The channel used to send the payment message.
  - `language` 'en' | 'es' | 'ca' | 'pt' | 'de' | 'it' | 'fr' — The language of message sent to the customer. If not provided the default customer language is used if available.

## Response `200`

A payment object

- Payment
  - `id` string, required — Unique identifier for the payment.
  - `amount` integer, required — Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge 1.00 USD).
  - `currency` string, required — Three-letter [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217), in uppercase. Must be a supported currency.
  - `orderId` string — An order ID from your system. A unique identifier that can be used to reconcile the payment with your internal system.
  - `description` string — An arbitrary string attached to the payment. Often useful for displaying to users.
  - `accountId` string, required — MONEI Account identifier.
  - `authorizationCode` string — Unique identifier provided by the bank performing transaction.
  - `livemode` boolean, required — Has the value `true` if the resource exists in live mode or the value `false` if the resource exists in test mode.
  - `status` 'SUCCEEDED' | 'PENDING' | 'FAILED' | 'CANCELED' | 'REFUNDED' | 'PARTIALLY_REFUNDED' | 'AUTHORIZED' | 'EXPIRED' | 'PENDING_PROCESSING' | 'PAID_OUT', required — The status of the payment.
  - `statusCode` string — Payment status code.
  - `statusMessage` string — Human readable status message, can be displayed to a user.
  - `customer` PaymentCustomer
    - `email` string — The customer's email address.
    - `name` string — The customer's full name or business name.
    - `phone` string — The customer's phone number in E.164 format.
  - `shop` PaymentShop — The information about the shop (used in [hosted payment page](https://docs.monei.com/integrations/use-prebuilt-payment-page/)).
    - `name` string — The shop name.
    - `country` string — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
  - `billingDetails` PaymentBillingDetails — Billing information associated with the payment method at the time of the transaction.
    - `name` string — The customer's billing full name.
    - `email` string — The customer's billing email address.
    - `phone` string — The customer's billing phone number in E.164 format.
    - `company` string — Billing company name.
    - `taxId` string — Company tax ID.
    - `address` Address
      - `country` string — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
      - `city` string — City, district, suburb, town, or village.
      - `line1` string — Address line 1 (e.g., street, PO Box, or company name).
      - `line2` string — Address line 2 (e.g., apartment, suite, unit, or building).
      - `zip` string — ZIP or postal code.
      - `state` string — State, county, province, or region.
  - `shippingDetails` PaymentShippingDetails — Shipping information associated with the payment.
    - `name` string — The shipping customer's full name.
    - `email` string — The shipping customer's email address.
    - `phone` string — The shipping customer's phone number in E.164 format.
    - `company` string — Name of the company where the shipment is going.
    - `taxId` string — Company tax ID.
    - `address` Address
      - `country` string — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
      - `city` string — City, district, suburb, town, or village.
      - `line1` string — Address line 1 (e.g., street, PO Box, or company name).
      - `line2` string — Address line 2 (e.g., apartment, suite, unit, or building).
      - `zip` string — ZIP or postal code.
      - `state` string — State, county, province, or region.
  - `refundedAmount` integer — Amount in cents refunded (can be less than the amount attribute on the payment if a partial refund was issued).
  - `lastRefundAmount` integer — Amount in cents refunded in the last transaction.
  - `lastRefundReason` 'duplicated' | 'fraudulent' | 'requested_by_customer' | 'order_canceled' — The reason of the last refund transaction.
  - `cancellationReason` 'duplicated' | 'fraudulent' | 'requested_by_customer' | 'order_canceled' — The reason for canceling the Payment.
  - `sessionDetails` PaymentSessionDetails — Information related to the browsing session of the user who initiated the payment.
    - `ip` string — The IP address where the operation originated.
    - `countryCode` string — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
    - `lang` string — Two-letter language code ([ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1)).
    - `deviceType` string — Device type, could be `desktop`, `mobile`, `smartTV`, `tablet`.
    - `deviceModel` string — Information about the device used for the browser session (e.g., `iPhone`).
    - `browser` string — The browser used in this browser session (e.g., `Mobile Safari`).
    - `browserVersion` string — The version for the browser session (e.g., `13.1.1`).
    - `os` string — Operation system (e.g., `iOS`).
    - `osVersion` string — Operation system version (e.g., `13.5.1`).
    - `source` string — The source component from where the operation was generated (mostly for our SDK's).
    - `sourceVersion` string — The source component version from where the operation was generated (mostly for our SDK's).
    - `userAgent` string — Full user agent string of the browser session.
    - `browserAccept` string — Browser accept header.
    - `browserColorDepth` string — The color depth of the browser session (e.g., `24`).
    - `browserScreenHeight` string — The screen height of the browser session (e.g., `1152`).
    - `browserScreenWidth` string — The screen width of the browser session (e.g., `2048`).
    - `browserTimezoneOffset` string — The timezone offset of the browser session (e.g., `-120`).
  - `traceDetails` PaymentTraceDetails — Information related to the browsing session of the user who initiated the payment.
    - `ip` string — The IP address where the operation originated.
    - `countryCode` string — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
    - `lang` string — Two-letter language code ([ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1)).
    - `deviceType` string — Device type, could be `desktop`, `mobile`, `smartTV`, `tablet`.
    - `deviceModel` string — Information about the device used for the browser session (e.g., `iPhone`).
    - `browser` string — The browser used in this browser session (e.g., `Mobile Safari`).
    - `browserVersion` string — The version for the browser session (e.g., `13.1.1`).
    - `os` string — Operation system (e.g., `iOS`).
    - `osVersion` string — Operation system version (e.g., `13.5.1`).
    - `source` string — The source component from where the operation was generated (mostly for our SDK's).
    - `sourceVersion` string — The source component version from where the operation was generated (mostly for our SDK's).
    - `userAgent` string — Full user agent string of the browser session.
    - `browserAccept` string — Browser accept header.
    - `browserColorDepth` string — The color depth of the browser session (e.g., `24`).
    - `browserScreenHeight` string — The screen height of the browser session (e.g., `1152`).
    - `browserScreenWidth` string — The screen width of the browser session (e.g., `2048`).
    - `browserTimezoneOffset` string — The timezone offset of the browser session (e.g., `-120`).
    - `userId` string — The ID of the user that started the operation.
    - `userEmail` string — The email of the user that started the operation.
  - `paymentToken` string — A permanent token represents a payment method used in the payment. Pass `generatePaymentToken: true` when you creating a payment to generate it. You can pass it as `paymentToken` parameter to create other payments with the same payment method. This token does not expire, and should only be used server-side.
  - `paymentMethod` PaymentPaymentMethod — Details about the payment method at the time of the transaction.
    - `method` 'alipay' | 'card' | 'bizum' | 'paypal' | 'mbway' | 'multibanco' | 'iDeal' | 'bancontact' | 'sofort' | 'trustly' | 'sepa' | 'klarna' | 'giropay' | 'eps' | 'blik' — Payment method type.
    - `card` PaymentPaymentMethodCard — Details about the card used as payment method at the time of the transaction.
      - `country` string — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
      - `brand` 'visa' | 'mastercard' | 'diners' | 'amex' | 'jcb' | 'unionpay' | 'discover' | 'unknown' — Card brand.
      - `type` 'debit' | 'credit' — Card type `debit` or `credit`.
      - `threeDSecure` boolean — Whether this transaction used 3D Secure authentication.
      - `threeDSecureVersion` string — The protocol version of the 3DS challenge.
      - `threeDSecureFlow` 'CHALLENGE' | 'FRICTIONLESS' | 'FRICTIONLESS_CHALLENGE' | 'DIRECT' — The flow used for 3DS authentication.
      - `expiration` integer — Time at which the card will expire. Measured in seconds since the Unix epoch.
      - `last4` string — The last four digits of the card.
      - `fingerprint` string — Unique identifier for the card number. Used to detect duplicate payment methods across customers. Not present for tokenized cards.
      - `tokenizationMethod` 'applePay' | 'googlePay' | 'clickToPay' — The digital wallet used to tokenize the card.
      - `cardholderName` string — The name of the cardholder.
      - `cardholderEmail` string — The email of the cardholder.
    - `bizum` PaymentPaymentMethodBizum — Details about the Bizum account used as payment method at the time of the transaction.
      - `phoneNumber` string — Phone number in E.164 format used to pay with `bizum`.
    - `paypal` PaymentPaymentMethodPaypal — Details from Paypal order used as payment method at the time of the transaction.
      - `orderId` string — The Paypal's order ID.
      - `payerId` string — The Paypal's payer ID.
      - `email` string — The Paypal's payer email.
      - `name` string — The Paypal's payer name.
    - `mbway` PaymentPaymentMethodMbway — Details from MBWay order used as payment method at the time of the transaction.
      - `phoneNumber` string — Phone number in E.164 format used to pay with `mbway`.
    - `trustly` PaymentPaymentMethodTrustly — Details from Trustly order used as payment method at the time of the transaction.
      - `customerId` string — The Trustly's customer ID.
    - `sepa` PaymentPaymentMethodSepa — Details from SEPA order used as payment method at the time of the transaction.
      - `accountholderAddress` string — The address of the account holder.
      - `accountholderEmail` string — The email of the account holder.
      - `accountholderName` string — The name of the account holder.
      - `countryCode` string — The country code of the account holder.
      - `bankAddress` string — The address of the bank.
      - `bankCode` string — The code of the bank.
      - `bankName` string — The name of the bank.
      - `bic` string — The BIC of the bank.
      - `last4` string — The last 4 digits of the IBAN.
      - `fingerprint` string — Unique identifier for the IBAN. Used to detect duplicate payment methods across customers.
    - `klarna` PaymentPaymentMethodKlarna — Details from Klarna order used as payment method at the time of the transaction.
      - `billingCategory` 'PAY_LATER' | 'PAY_NOW' | 'SLICE_IT' | 'SLICE_IT_BY_CARD' | 'PAY_IN_PARTS'
      - `authPaymentMethod` 'invoice' | 'fixed_amount' | 'pix' | 'base_account' | 'deferred_interest' | 'direct_debit' | 'direct_bank_transfer' | 'b2b_invoice' | 'card' | 'slice_it_by_card'
  - `sequence` PaymentSequence — This field needs to be sent in order to mark the beginning of a sequence of payments (recurring/subscriptions, installments, and so). Specific configurations can be set in the inside properties (`recurring`).
    - `type` 'recurring', required
    - `recurring` PaymentSequenceRecurring — Specific configurations for recurring payments. Will only be used when `sequence`.`type` is `recurring`.
      - `expiry` string — Date after which no further recurring payments will be performed. Must be formatted as `YYYYMMDD`.
      - `frequency` integer — The minimum number of **days** between the different recurring payments.
  - `sequenceId` string — A permanent identifier that refers to the initial payment of a sequence of payments. This value needs to be sent in the path for `RECURRING` payments.
  - `storeId` string — A unique identifier of the Store. If specified the payment is attached to this Store.
  - `pointOfSaleId` string — A unique identifier of the Point of Sale. If specified the payment is attached to this Point of Sale. If there is a QR code attached to the same Point of Sale, this payment will be available by scanning the QR code.
  - `metadata` Metadata — A set of key-value pairs that you can attach to a resource. This can be useful for storing additional information about the resource in a structured format.
  - `nextAction` PaymentNextAction — If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source.
    - `type` 'CONFIRM' | 'CHALLENGE' | 'FRICTIONLESS_CHALLENGE' | 'BIZUM_CHALLENGE' | 'COMPLETE' — - `CONFIRM` - Your customer needs to be redirected to a [hosted payment page](https://docs.monei.com/integrations/use-prebuilt-payment-page/) or confirm payment using [payment token](https://docs.monei.com/integrations/build-custom-checkout/#3-confirm-the-payment-client-side). The **redirectUrl** will point to the hosted payment page. - `FRICTIONLESS_CHALLENGE` - Your customer needs to be redirected to the frictionless 3d secure challenge page provided by the bank. The **redirectUrl** will point to the frictionless 3d secure challenge page provided by the bank. - `CHALLENGE` - Your customer needs to be redirected to the 3d secure challenge page provided by the bank. The **redirectUrl** will point to the 3d secure challenge page provided by the bank. - `COMPLETE` - The payment is completed. The **redirectUrl** will be the **completeUrl** if it was provided when the payment was created. - `BIZUM_CHALLENGE` - Your customer will be redirected to the Bizum hosted payment page.
    - `mustRedirect` boolean — If `true` you have to redirect your customer to the **redirectUrl** to continue payment process.
    - `redirectUrl` string — Redirect your customer to this url to continue payment process.
  - `createdAt` integer — Time at which the resource was created. Measured in seconds since the Unix epoch.
  - `updatedAt` integer — Time at which the resource updated last time. Measured in seconds since the Unix epoch.

## Other responses

- `400` — The request is incorrect or could not be processed
- `401` — Unauthorized error. Please check your auth credentials
- `404` — The specified resource was not found
- `422` — The request was well-formed but could not be processed due to semantic errors
- `500` — Unexpected server error
- `503` — The service is temporarily unavailable

---

[API](https://skmtc.net/monei/apis/monei-api-v1.md) · [All operations](https://skmtc.net/monei/apis/monei-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/monei/monei-api-v1/versions/23554d4fb9e5/schema)
