patch
https://sandbox-api-gtw.softpoint.io/api//customers//payment-methods/
This API is used to make a payment method the default one or to update a card's expiry and holder name.
It returns the updated payment method.
Note: Send only the fields to change. Bank accounts have no expiry: exp_month / exp_year are ignored for them.
URL
{{interface_url}}/{{version}}/customers/{{customer_id}}/payment-methods/{{payment_method_id}}
Method
PATCH
Headers
Authorization: Bearer {access_token} (or Api-Key)
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| default | Boolean | No | true makes it the default method. |
| exp_month | Integer | No | 1-12 (cards). |
| exp_year | Integer | No | 2 digits (cards). |
| card_holder | String | No | Max 45. |
URL Parameters
| Parameter | Required/Optional | Type | Description |
|---|---|---|---|
| customer_id | Required | Integer | Our customer ID (id returned by Create customer). |
| payment_method_id | Required | Integer | Payment method ID (id returned by List payment methods). |
Example Request (cURL)
curl --location --request PATCH '{{interface_url}}/{{version}}/customers/{{customer_id}}/payment-methods/{{payment_method_id}}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--data '{
"default": true,
"exp_month": 11,
"exp_year": 29
}'
Example Response (JSON) — 200
{
"id": 90311,
"type": "card",
"location_id": 279685,
"holder": "Ana Garcia",
"default": true,
"created_at": "2026-11-05T18:16:18Z",
"brand": "visa",
"last4": "4242",
"exp_month": 11,
"exp_year": 29,
"billing_address": {
"line1": "100 Main St",
"line2": null,
"city": "Austin",
"state": "TX",
"zipcode": "78701",
"country_iso": "US"
}
}
Error Responses
Format: { "error": { "code", "name", "message", "details" } }
| Status | Error | When |
|---|---|---|
| 400 | missing_required_parameters | Invalid field (see error.details). |
| 404 | payment_method_not_found | Wrong ID, or not in your scope. |

