Payment Methods

Create Payment Method

Store a payment method record for a customer. Fields depend on provider/paymentType (card, bank_account, paypal).

POST
/payment-methods

Authorization

bearerAuth
AuthorizationBearer <token>

Use your secret API key as the bearer token

In: header

Request Body

application/json

customerId*string
Match^cus_[A-Za-z0-9]{22}$
provider*string

PSP provider (e.g., stripe, dodo)

paymentType*string

card, bank_account, paypal, etc.

status*string

active, pending, failed, expired, etc.

verificationStatus?string|null
cardLastFour?string|null
cardBrand?string|null
cardExpiryMonth?integer|null
cardExpiryYear?integer|null
cardIssuerCountry?string|null
cardNetwork?string|null
bankLastFour?string|null
bankName?string|null
bankAccountType?string|null
bankRoutingNumber?string|null
bankAccountHolderName?string|null
bankAccountHolderType?string|null
bankCurrency?string|null
bankCountry?string|null
paypalEmail?string|null
paypalPayerId?string|null
paypalMerchantId?string|null
externalPspPaymentMethodId?string|null
externalPspCustomerId?string|null
externalPspAccountId?string|null
externalPspMetadata?|null

Response Body

application/json

application/json

application/json

curl -X POST "https://api.getlumen.dev/v1/payment-methods" \  -H "Content-Type: application/json" \  -d '{    "customerId": "cus_Lo4xGg1Yk9pB2eWv3sNt",    "provider": "stripe",    "paymentType": "card",    "status": "active",    "cardLastFour": "4242",    "cardBrand": "visa",    "cardExpiryMonth": 2,    "cardExpiryYear": 2028,    "externalPspPaymentMethodId": "pm_1NYC..."  }'
{
  "id": "string",
  "merchantId": "string",
  "customerId": "string",
  "provider": "string",
  "paymentType": "string",
  "status": "string",
  "verificationStatus": "string",
  "cardLastFour": "string",
  "cardBrand": "string",
  "cardExpiryMonth": 0,
  "cardExpiryYear": 0,
  "cardIssuerCountry": "string",
  "cardNetwork": "string",
  "bankLastFour": "string",
  "bankName": "string",
  "bankAccountType": "string",
  "bankRoutingNumber": "string",
  "bankAccountHolderName": "string",
  "bankAccountHolderType": "string",
  "bankCurrency": "string",
  "bankCountry": "string",
  "paypalEmail": "string",
  "paypalPayerId": "string",
  "paypalMerchantId": "string",
  "externalPspPaymentMethodId": "string",
  "externalPspCustomerId": "string",
  "externalPspAccountId": "string",
  "externalPspMetadata": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "deletedAt": "2019-08-24T14:15:22Z"
}
{
  "error": "Invalid input"
}
{
  "error": "Failed to create payment method"
}