Skip to main content

Overview

Payment methods are stored Paystack authorizations (cards) or direct debit mandates (bank accounts) that Surge uses to collect installment payments automatically.
Who calls these endpoints?Most merchant integrations do not call these endpoints directly. The Surge widget and the Surge consumer app handle payment method collection during checkout.These endpoints are relevant to you only if you are:
  • Building a custom consumer-facing experience (e.g. a white-label app where customers manage their Surge wallet)
  • Building the Surge consumer app itself
All endpoints require a customer JWT (the token for the shopper, not your merchant token). Customers may only access their own payment methods.

List Payment Methods

Returns all saved payment methods for the given customer. Response

List Supported Banks

Returns the list of Nigerian banks supported by Paystack for direct debit mandates. Response

Add Card — Initialize (Redirect Flow)

Initializes a Paystack transaction for card tokenization. Returns an authorization_url to redirect the customer to. On completion, Paystack redirects to callback_url?reference=xxx and the frontend calls /verify-card. A ₦50 verification charge (5000 kobo) is applied to confirm the card is active. This amount is refunded after successful verification. Request
Response

Add Card — Verify and Save

After the customer returns from the Paystack redirect, verify the transaction reference and save the card as a payment method. Request
Response

Add Bank — Initiate Direct Debit Mandate

Starts the Paystack direct debit mandate flow. Paystack sends an OTP to the phone number registered to the bank account (via BVN). Request
Response — OTP required
Response — Web authorization required (open_url)
Possible next_action values: submit_otp, submit_birthday, submit_phone, open_url, success.

Add Bank — Submit OTP

Request
Response — success
Response — additional step required

Add Bank — Submit Birthday

Request

Add Bank — Submit Phone

Request

Add Bank — Verify Open URL Mandate

Used after the customer completes the Paystack open_url popup flow. Verifies the transaction reference and saves the bank as a payment method. Request
Response

Set Default Payment Method

Marks the given method as the customer’s default, clearing the default flag from all other methods. Response

Delete Payment Method

Removes a saved payment method. Response