Customers
删除支付方式
删除与客户关联的支付方式。
DELETE
/
customers
/
{customer_id}
/
payment-methods
/
{payment_method_id}
JavaScript
import DodoPayments from 'dodopayments';
const client = new DodoPayments({
bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
});
await client.customers.deletePaymentMethod('payment_method_id', {
customer_id: 'cus_TV52uJWWXt2yIoBBxpjaa',
});import os
from dodopayments import DodoPayments
client = DodoPayments(
bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
)
client.customers.delete_payment_method(
payment_method_id="payment_method_id",
customer_id="cus_TV52uJWWXt2yIoBBxpjaa",
)package main
import (
"context"
"github.com/dodopayments/dodopayments-go"
"github.com/dodopayments/dodopayments-go/option"
)
func main() {
client := dodopayments.NewClient(
option.WithBearerToken("My Bearer Token"),
)
err := client.Customers.DeletePaymentMethod(
context.TODO(),
"cus_TV52uJWWXt2yIoBBxpjaa",
"payment_method_id",
)
if err != nil {
panic(err.Error())
}
}package com.dodopayments.api.example;
import com.dodopayments.api.client.DodoPaymentsClient;
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;
import com.dodopayments.api.models.customers.CustomerDeletePaymentMethodParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();
CustomerDeletePaymentMethodParams params = CustomerDeletePaymentMethodParams.builder()
.customerId("cus_TV52uJWWXt2yIoBBxpjaa")
.paymentMethodId("payment_method_id")
.build();
client.customers().deletePaymentMethod(params);
}
}package com.dodopayments.api.example
import com.dodopayments.api.client.DodoPaymentsClient
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient
import com.dodopayments.api.models.customers.CustomerDeletePaymentMethodParams
fun main() {
val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()
val params: CustomerDeletePaymentMethodParams = CustomerDeletePaymentMethodParams.builder()
.customerId("cus_TV52uJWWXt2yIoBBxpjaa")
.paymentMethodId("payment_method_id")
.build()
client.customers().deletePaymentMethod(params)
}require "dodopayments"
dodo_payments = Dodopayments::Client.new(
bearer_token: "My Bearer Token",
environment: "test_mode" # defaults to "live_mode"
)
result = dodo_payments.customers.delete_payment_method(
"payment_method_id",
customer_id: "cus_TV52uJWWXt2yIoBBxpjaa"
)
puts(result)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Dodopayments\Client;
use Dodopayments\Core\Exceptions\APIException;
$client = new Client(
bearerToken: getenv('DODO_PAYMENTS_API_KEY') ?: 'My Bearer Token',
environment: 'test_mode',
);
try {
$result = $client->customers->deletePaymentMethod(
'payment_method_id', customerID: 'cus_TV52uJWWXt2yIoBBxpjaa'
);
var_dump($result);
} catch (APIException $e) {
echo $e->getMessage();
}using DodoPayments.Client;
using DodoPayments.Client.Models.Customers;
DodoPaymentsClient client = new();
CustomerDeletePaymentMethodParams parameters = new()
{
CustomerID = "cus_TV52uJWWXt2yIoBBxpjaa",
PaymentMethodID = "payment_method_id",
};
await client.Customers.DeletePaymentMethod(parameters);use dodopayments::Client;
#[tokio::main]
async fn main() -> dodopayments::Result<()> {
let client = Client::from_env()?;
let customer_id = "customer_id";
let payment_method_id = "payment_method_id";
let result = client
.customers()
.delete_payment_method()
.customer_id(customer_id)
.payment_method_id(payment_method_id)
.await?;
println!("{result:?}");
Ok(())
}curl --request DELETE \
--url https://test.dodopayments.com/customers/{customer_id}/payment-methods/{payment_method_id} \
--header 'Authorization: Bearer <token>'从客户账户中移除已保存的支付方式。用于清理过时或不需要的支付方式。
如果被删除的支付方式是激活订阅的唯一支付方式,则该订阅可能无法在下一个计费周期中续订。在删除之前,请确保客户有替代的支付方式。
使用案例
- 客户请求: 移除客户不再想保存的支付方式
- 过期卡: 清理卡信息已过期的支付方式
- 安全: 立即移除受损的支付方式
最后修改于 2026年4月20日
⌘I
JavaScript
import DodoPayments from 'dodopayments';
const client = new DodoPayments({
bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
});
await client.customers.deletePaymentMethod('payment_method_id', {
customer_id: 'cus_TV52uJWWXt2yIoBBxpjaa',
});import os
from dodopayments import DodoPayments
client = DodoPayments(
bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
)
client.customers.delete_payment_method(
payment_method_id="payment_method_id",
customer_id="cus_TV52uJWWXt2yIoBBxpjaa",
)package main
import (
"context"
"github.com/dodopayments/dodopayments-go"
"github.com/dodopayments/dodopayments-go/option"
)
func main() {
client := dodopayments.NewClient(
option.WithBearerToken("My Bearer Token"),
)
err := client.Customers.DeletePaymentMethod(
context.TODO(),
"cus_TV52uJWWXt2yIoBBxpjaa",
"payment_method_id",
)
if err != nil {
panic(err.Error())
}
}package com.dodopayments.api.example;
import com.dodopayments.api.client.DodoPaymentsClient;
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;
import com.dodopayments.api.models.customers.CustomerDeletePaymentMethodParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();
CustomerDeletePaymentMethodParams params = CustomerDeletePaymentMethodParams.builder()
.customerId("cus_TV52uJWWXt2yIoBBxpjaa")
.paymentMethodId("payment_method_id")
.build();
client.customers().deletePaymentMethod(params);
}
}package com.dodopayments.api.example
import com.dodopayments.api.client.DodoPaymentsClient
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient
import com.dodopayments.api.models.customers.CustomerDeletePaymentMethodParams
fun main() {
val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()
val params: CustomerDeletePaymentMethodParams = CustomerDeletePaymentMethodParams.builder()
.customerId("cus_TV52uJWWXt2yIoBBxpjaa")
.paymentMethodId("payment_method_id")
.build()
client.customers().deletePaymentMethod(params)
}require "dodopayments"
dodo_payments = Dodopayments::Client.new(
bearer_token: "My Bearer Token",
environment: "test_mode" # defaults to "live_mode"
)
result = dodo_payments.customers.delete_payment_method(
"payment_method_id",
customer_id: "cus_TV52uJWWXt2yIoBBxpjaa"
)
puts(result)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Dodopayments\Client;
use Dodopayments\Core\Exceptions\APIException;
$client = new Client(
bearerToken: getenv('DODO_PAYMENTS_API_KEY') ?: 'My Bearer Token',
environment: 'test_mode',
);
try {
$result = $client->customers->deletePaymentMethod(
'payment_method_id', customerID: 'cus_TV52uJWWXt2yIoBBxpjaa'
);
var_dump($result);
} catch (APIException $e) {
echo $e->getMessage();
}using DodoPayments.Client;
using DodoPayments.Client.Models.Customers;
DodoPaymentsClient client = new();
CustomerDeletePaymentMethodParams parameters = new()
{
CustomerID = "cus_TV52uJWWXt2yIoBBxpjaa",
PaymentMethodID = "payment_method_id",
};
await client.Customers.DeletePaymentMethod(parameters);use dodopayments::Client;
#[tokio::main]
async fn main() -> dodopayments::Result<()> {
let client = Client::from_env()?;
let customer_id = "customer_id";
let payment_method_id = "payment_method_id";
let result = client
.customers()
.delete_payment_method()
.customer_id(customer_id)
.payment_method_id(payment_method_id)
.await?;
println!("{result:?}");
Ok(())
}curl --request DELETE \
--url https://test.dodopayments.com/customers/{customer_id}/payment-methods/{payment_method_id} \
--header 'Authorization: Bearer <token>'