---
title: "Create a payment method"
method: POST
path: "/payment-methods"
tags: ["Payment Methods"]
---

# Create a payment method

`POST /payment-methods`

Create a payment method

## Headers

- `X-Trace-Id` string
- `X-Idempotency-Key` string

## Request body

- union
  - CardPaymentMethodIn
    - `type` string — The type of the payment method.
    - `customer_id` string — ID of the customer.
    - `meta` Meta
  - BankAccountPaymentMethodIn
    - `type` string — The type of the payment method.
    - `customer_id` string — ID of the customer.
    - `meta` Meta
  - MobileMoneyPaymentMethodIn
    - `type` string — The type of the payment method.
    - `customer_id` string — ID of the customer.
    - `meta` Meta
  - OpayPaymentMethodIn
    - `type` string — The type of the payment method.
    - `customer_id` string — ID of the customer.
    - `meta` Meta
  - ApplepayPaymentMethodIn
    - `type` string — The type of the payment method.
    - `customer_id` string — ID of the customer.
    - `meta` Meta
  - GooglepayPaymentMethodIn
    - `type` string — The type of the payment method.
    - `customer_id` string — ID of the customer.
    - `meta` Meta
  - UssdPaymentMethodIn
    - `type` string — The type of the payment method.
    - `customer_id` string — ID of the customer.
    - `meta` Meta

## Response `201`

OK

- object
  - `status` 'success' | 'failed'
  - `message` string
  - `data` union
    - CardPaymentMethod
      - `id` string, required — ID of the payment method.
      - `type` string, required — The type of the payment method.
      - `customer_id` string — ID of the customer.
      - `meta` Meta
      - `device_fingerprint` string — The customer's device fingerprint.
      - `client_ip` string — The customer's device IP.
      - `created_datetime` string, date-time — The date and time when the virtual account was created.
    - BankAccountPaymentMethod
      - `id` string, required — ID of the payment method.
      - `type` string, required — The type of the payment method.
      - `customer_id` string — ID of the customer.
      - `meta` Meta
      - `device_fingerprint` string — The customer's device fingerprint.
      - `client_ip` string — The customer's device IP.
      - `created_datetime` string, date-time — The date and time when the virtual account was created.
    - MobileMoneyPaymentMethod
      - `id` string, required — ID of the payment method.
      - `type` string, required — The type of the payment method.
      - `customer_id` string — ID of the customer.
      - `meta` Meta
      - `device_fingerprint` string — The customer's device fingerprint.
      - `client_ip` string — The customer's device IP.
      - `created_datetime` string, date-time — The date and time when the virtual account was created.
    - OpayPaymentMethod
      - `id` string, required — ID of the payment method.
      - `type` string, required — The type of the payment method.
      - `customer_id` string — ID of the customer.
      - `meta` Meta
      - `device_fingerprint` string — The customer's device fingerprint.
      - `client_ip` string — The customer's device IP.
      - `created_datetime` string, date-time — The date and time when the virtual account was created.
    - ApplepayPaymentMethod
      - `id` string, required — ID of the payment method.
      - `type` string, required — The type of the payment method.
      - `customer_id` string — ID of the customer.
      - `meta` Meta
      - `device_fingerprint` string — The customer's device fingerprint.
      - `client_ip` string — The customer's device IP.
      - `created_datetime` string, date-time — The date and time when the virtual account was created.
    - GooglepayPaymentMethod
      - `id` string, required — ID of the payment method.
      - `type` string, required — The type of the payment method.
      - `customer_id` string — ID of the customer.
      - `meta` Meta
      - `device_fingerprint` string — The customer's device fingerprint.
      - `client_ip` string — The customer's device IP.
      - `created_datetime` string, date-time — The date and time when the virtual account was created.
    - UssdPaymentMethod
      - `id` string, required — ID of the payment method.
      - `type` string, required — The type of the payment method.
      - `customer_id` string — ID of the customer.
      - `meta` Meta
      - `device_fingerprint` string — The customer's device fingerprint.
      - `client_ip` string — The customer's device IP.
      - `created_datetime` string, date-time — The date and time when the virtual account was created.
    - PwbtPaymentMethod
      - `id` string, required — ID of the payment method.
      - `type` string, required — The type of the payment method.
      - `customer_id` string — ID of the customer.
      - `meta` Meta
      - `device_fingerprint` string — The customer's device fingerprint.
      - `client_ip` string — The customer's device IP.
      - `created_datetime` string, date-time — The date and time when the virtual account was created.

## Other responses

- `400` — Bad request
- `401` — Unauthorised request
- `403` — Forbidden
- `409` — Conflict

---

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