---
title: "Add alternative payment"
method: POST
path: "/api/connector/v1/payments/addAlternative"
tags: ["Payments"]
---

# Add alternative payment

`POST /api/connector/v1/payments/addAlternative`

Adds a new alternative payment to a specified customer.
**Pre-requisites:** The property must have the relevant type of alternative payment method enabled in their Mews subscriptions in order to accept such payments in their Mews environment. Please ask the property to confirm.

## Request body

- AlternativePaymentParameters
  - `ClientToken` string, required — Token identifying the client application.
  - `AccessToken` string, required — Access token of the client application.
  - `Client` string, required — Name and version of the client application.
  - `CustomerId` string, uuid, required — Unique identifier of the [Customer](https://mews-systems.gitbook.io/connector-api/operations/customers/#customer).
  - `Amount` AmountParameters, required — Price of the product that overrides the price defined in Mews.
    - `Currency` string, currency, required
    - `TaxCodes` string[], required
    - `NetValue` number, double, nullable
    - `GrossValue` number, double, nullable
  - `Method` 'Ideal' | 'ApplePay' | 'GooglePay', nullable — Payment method to use for the alternative payment.
  - `RedirectUrl` string, uri, nullable — URL where the customer will be redirected after completing their payment.
  - `ReservationId` string, uuid, nullable — Unique identifier of the reservation the payment belongs to.
  - `Data` AlternativePaymentsData, required
    - `Discriminator` 'Ideal' | 'ApplePay' | 'GooglePay' | 'SepaDirectDebit', required — Ideal (iDEAL data.) ApplePay (No additional data.) GooglePay (No additional data.) SepaDirectDebit (SEPA Direct Debit data.)
    - `SepaDirectDebit` SepaDirectDebitData
      - `Iban` string, required — The customer's bank account number in IBAN format.
      - `Name` string, required — Full name of the customer.
      - `Email` string, email, required — Email address of the customer.
      - `UserAgent` string, required — The user agent of the browser from which the Mandate was accepted by the customer.
      - `RemoteIpAddress` string, required — The IP address from which the Mandate was accepted by the customer.
    - `Ideal` IdealData
      - `RedirectUrl` string, uri, required — URL where the customer will be redirected after completing their iDEAL payment.

## Response `200`

OK

- AlternativePaymentResult
  - `PaymentId` string, uuid, required — Unique identifier of the created payment.
  - `NextAction` NextAction
    - `Discriminator` 'RedirectToUrl', required — RedirectToUrl (Redirect customer to a URL where they can complete their payment.)
    - `Value` string, required — String value depending on `Type`.

## Other responses

- `204` — Server has successfully fulfilled the request and there is no additional information to send back.
- `400` — Error caused by the client app, e.g. in case of malformed request or invalid identifier of a resource. In most cases, such an error signifies a bug in the client app (consumer of the API).
- `401` — Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint.
- `403` — Server error that should be reported to the end user of the client app. Happens for example when the server-side validation fails or when a business-logic check is violated.
- `408` — Error caused by heavy request that takes too long to process (typically tens of seconds). To get around this, request data in smaller batches. For more information, see [Request timeouts](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-timeouts)
- `429` — Error caused by too many requests sent in a given amount of time. Response contains `Retry-After` header indicating how long the user agent should wait before making a follow-up request. For more information, see [Request limits](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-limits).
- `500` — Unexpected error on the Mews side. This may be due to a software fault. If such a situation occurs, the error will be logged and the development team notified, however you can raise an issue through GitHub on our [documentation repository](https://github.com/MewsSystems/gitbook-connector-api).

---

[API](https://skmtc.net/mews/apis/connector-api.md) · [All operations](https://skmtc.net/mews/apis/connector-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mews/connector-api/revisions/eb29e5887d8a/schema)
