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

# Save a payment method

`POST /api/payment-methods`

## Request body

- CreatePaymentMethodDto
  - `customerId` string, required
  - `provider` string, required — Payment provider (stripe, paystack, flutterwave, dpo, payu, pesapal)
  - `type` 'CARD' | 'BANK_ACCOUNT' | 'WALLET'
  - `tokenId` string, required — Provider-specific token/payment method ID
  - `last4` string
  - `brand` string
  - `expMonth` number
  - `expYear` number
  - `cardholderName` string
  - `country` string

## Response `201`

Payment method saved successfully

- PaymentMethodResponse
  - `id` string, required
  - `customerId` string, required
  - `provider` string, required
  - `type` string, required
  - `tokenId` string, required
  - `isDefault` boolean, required
  - `last4` string
  - `brand` string
  - `expMonth` number
  - `expYear` number
  - `cardholderName` string
  - `country` string
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

---

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