Update Membership Payment Method API
Use this endpoint to update the payment method used for a customer’s active membership subscription.
This endpoint is intended for server-side integrations.
This endpoint is gated by account access. If you receive a feature-enabled error, contact your Rivo account manager.
Before You Begin
Make sure you have a valid Rivo REST API key.
See Manage API keys.Have the subscription contract ID you want to target.
Have the Shopify customer payment method ID you want to use.
Endpoint
PUT /merchant_api/v1/memberships/subscription_contracts/{id}/payment_method
{id} is the subscription contract ID.
Headers
Authorization: {your_api_key}Content-Type: application/json
Body
{ "payment_method_id": "gid://shopify/CustomerPaymentMethod/999"}You can send payment_method_id as a full Shopify GID or as the numeric ID value.
Example Request
curl --request PUT \ --url https://developer-api.rivo.io/merchant_api/v1/memberships/subscription_contracts/123456/payment_method \ --header 'Authorization: your_api_key_here' \ --header 'Content-Type: application/json' \ --data '{"payment_method_id":"gid://shopify/CustomerPaymentMethod/999"}'
Success Response
On success, the API returns 200 OK with the updated subscription contract object.
{ "data": { "type": "subscription_contract", "id": 123456, "attributes": { "remote_id": 123456, "customer_id": 7855248179442, "origin_order_id": 99887766, "status": "active", "billing_interval": "month", "last_payment_status": "paid", "next_billing_date_at": "2026-04-01T00:00:00Z", "remote_created_at": "2026-01-10T17:03:22Z", "remote_updated_at": "2026-03-17T09:12:01Z", "currency_code": "USD" } }}
Error Responses
Status | Error message | When it happens |
| Validation error for missing required params |
|
|
| API key is missing or invalid |
|
| The contract ID does not exist for your store |
|
| Endpoint access is not enabled |
|
| The contract does not resolve to a valid customer |
|
| Update failed upstream |
|
| Too many Merchant API requests in a short window |
Notes
Use this endpoint for active membership subscriptions.
The default Merchant API rate limit is 15 requests per second per store.
If needed, you can also pass your API key as
access_tokenin query parameters. Using theAuthorizationheader is recommended.
