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 langganan. Endpoint ini mendukung langganan aktif maupun langganan dalam status on_hold.
Untuk langganan dalam status on_hold, memperbarui metode pembayaran secara otomatis membuat tagihan untuk tunggakan yang tersisa, menghasilkan faktur, dan mengaktifkan kembali langganan ke status active 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 menampilkan metode pembayaran yang tersedia untuk 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 status on_hold:
  1. Biaya secara otomatis dibuat untuk tunggakan yang tersisa
  2. Faktur dibuat untuk biaya tersebut
  3. Pembayaran diproses menggunakan metode pembayaran baru
  4. Setelah pembayaran berhasil, langganan diaktifkan kembali ke status active
  5. Anda akan menerima event webhook: payment.succeeded diikuti oleh subscription.active
Jika pembayaran gagal setelah memperbarui metode pembayaran untuk langganan on_hold, langganan akan tetap dalam status on_hold. Pantau event webhook untuk melacak status pembayaran.

Peristiwa Webhook

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

Otorisasi

Authorization
string
header
wajib

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

Parameter Path

subscription_id
string
wajib

Subscription Id

Body

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

Respons

Payment method updated

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