---
title: "Update Payment Method"
method: POST
path: "/update-payment-method"
---

# Update Payment Method

`POST /update-payment-method`

The Update Payment Method API allows you to change the payment method for recurring subscriptions.

## Request body

- object
  - `api_secret` string, required — This is the credential that Vendo will use to authenticate your request
  - `is_test` integer, required — Set to 1 if you want to process a test transaction.
  - `merchant_id` integer, required — Your Vendo Merchant ID.
  - `subscription_id` integer, required — The Vendo Subscription ID you want to update
  - `payment_details` object — Credit cards and SEPA payment methods are supported. Required only if you want to change payment method.
    - `payment_method` string, required — REQUIRED for non-tokenized transactions. Supported values: card|[sepa](https://docs.vendoservices.com/docs/sepa)|pix|[oxxo](https://docs.vendoservices.com/docs/oxxo)|crypto|[paybybank](https://docs.vendoservices.com/docs/pay-by-bank). Not used for Tokenized payments. Automatic rebills are not supported for some payment methods, f.ex. PIX, Pay by Bank, Crypto.
    - `card_number` string, required — REQUIRED for Card payments only. The credit/debit card number. For test transactions please check Appendix A to get the card details that you must use.
    - `expiration_month` string, required — REQUIRED for Card payments only. The expiration month of the card. Example: 09
    - `expiration_year` string, required — REQUIRED for Card payments only. The expiration year of the card. Example: 2025
    - `cvv` string — The CVV number. We accept 3 or 4 characters only. If you pass in the trace_id then you can't specify the CVV.
    - `name_on_card` string, required — REQUIRED for Card payments only. The name that is printed in the credit/debit card
    - `iban` string, required — REQUIRED for Sepa payments only. The International Bank Number.
    - `bic_swift` string — Optional for Sepa payments. The SWIFT Code of the bank. Not required for EU bank accounts.
    - `mandate` object — Optional for Sepa payments. Mandate reference collected on merchant side.
      - `reference` string, required — Unique identifier mandate reference
    - `token` string, required — REQUIRED for tokenized payments only. Tokenized payment details from the previous request.
    - `verification_id` integer — Use verification_id to reference verification of the payment method. Optional
    - `trace_id` string — Optional for Card payments only. This parameter allows you to reference a previous transaction processed through a card scheme (e.g., Visa, MasterCard).
    - `three_ds` object — A set of authentication 3DS parmeters
      - `version` string, required — 3DS version, example: 2.2.0
      - `ds_transactiond_id` string, required — Example: 0902482e-9e4a-5c41-8000-00000e2dce0b
      - `cavv` string, required — cavv, base 64 encoded string. example: jO7WU8G1ZGPhCBEChBQbAigAAAA=
      - `eci` string, required — eci. example: "02"
      - `xid` string, required — xid, base 64 encoded string. example: MjQwNjAzMDQyLTY3YjM1ZmY4YjQ=
      - `enrollment_status` string, required — Example: "Y"
  - `request_details` object — request_details / ip_address is only required when payment_details section is present
    - `ip_address` string, required — REQUIRED. The user's ip address.
    - `browser_user_agent` string — The user agent of the user's browser

## Response `200`

200

- union
  - object
    - `status` integer
    - `subscription` object
      - `id` integer
    - `request_id` string
  - object
    - `status` integer
    - `code` string
    - `message` string
    - `verification_id` integer
    - `verification_url` string

## Other responses

- `400` — 400

---

[API](https://skmtc.net/vendoservices/apis/s2s-api.md) · [All operations](https://skmtc.net/vendoservices/apis/s2s-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vendoservices/s2s-api/versions/ec9a04326468/schema)
