Langsung ke konten utama
POST
/
subscriptions
/
{subscription_id}
/
update-payment-method
JavaScript
import DodoPayments from 'dodopayments';

const client = new DodoPayments({
  bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
});

const response = await client.subscriptions.updatePaymentMethod('subscription_id', { type: 'new' });

console.log(response.payment_id);
{
  "client_secret": "<string>",
  "expires_on": "2023-11-07T05:31:56Z",
  "payment_id": "<string>",
  "payment_link": "<string>"
}
Perbarui metode pembayaran untuk sebuah langganan. Endpoint ini mendukung baik langganan aktif maupun langganan dalam on_hold state.
Untuk langganan dalam on_hold state, memperbarui metode pembayaran secara otomatis membuat tagihan untuk sisa utang, menghasilkan faktur, dan mengaktifkan kembali langganan ke active state setelah pembayaran berhasil.

Kasus Penggunaan

  • Langganan aktif: Perbarui metode pembayaran ketika kartu kedaluwarsa atau pelanggan ingin menggunakan metode pembayaran yang berbeda
  • Langganan ditangguhkan: Mengaktifkan kembali langganan yang ditangguhkan karena pembayaran gagal dengan memperbarui metode pembayaran
  • Manajemen metode pembayaran: Beralih antara metode pembayaran yang disimpan atau menambahkan yang baru
Untuk mencantumkan metode pembayaran yang ada untuk seorang pelanggan, gunakan List Payment Methods API. Ini membantu Anda mengambil ID metode pembayaran yang tersedia saat menggunakan type: "existing" untuk memperbarui metode pembayaran langganan.

Perilaku untuk Langganan Aktif

Saat memperbarui metode pembayaran untuk langganan aktif:
  • Metode pembayaran diperbarui segera
  • Tidak ada biaya yang dibuat
  • Langganan tetap aktif
  • Pembaruan di masa depan akan menggunakan metode pembayaran baru

Perilaku untuk Langganan Ditangguhkan

Saat memperbarui metode pembayaran untuk langganan dalam on_hold state:
  1. Biaya secara otomatis dibuat untuk sisa utang
  2. Faktur dihasilkan untuk biaya tersebut
  3. Pembayaran diproses menggunakan metode pembayaran baru
  4. Setelah pembayaran berhasil, langganan diaktifkan kembali ke active state
  5. Anda akan menerima peristiwa webhook: payment.succeeded diikuti oleh subscription.active
Jika pembayaran gagal setelah memperbarui metode pembayaran untuk langganan on_hold, langganan akan tetap dalam on_hold state. Pantau peristiwa webhook untuk melacak status pembayaran.

Peristiwa Webhook

Saat memperbarui metode pembayaran untuk langganan on_hold, Anda akan menerima peristiwa webhook berikut:
  1. payment.succeeded - Biaya untuk sisa utang berhasil
  2. subscription.active - Langganan telah diaktifkan kembali

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

subscription_id
string
required

Subscription Id

Body

application/json
type
enum<string>
required
Opsi yang tersedia:
new
return_url
string | null

Response

Payment method updated

client_secret
string | null
expires_on
string<date-time> | null
payment_id
string | null