HTTPQUERY
Bahasa Indonesia

402 Payment Required

Penggunaan

Ketika galat 402 Payment Required tiba, klien memahami bahwa akses ke sumber daya yang diminta tidak diberikan untuk saat ini.

Status yang dicadangkan

402 Payment Required dicadangkan untuk penggunaan di masa mendatang. Saat ini perilakunya non-standar dan berbeda-beda antar implementasi.

Karena ini merupakan respons non-standar, penyedia yang berbeda menggunakan status ini dengan cara yang berbeda. Sebagai contoh, Shopify API mengembalikan 402 Payment Required untuk menandakan bahwa toko daring telah dibekukan dan administrator toko harus melunasi tagihan terutang agar akses dipulihkan.

Stripe API mengembalikan 402 Payment Required ketika upaya pembayaran gagal, misalnya kartu ditolak atau dana tidak mencukupi.

Dampak SEO

Mesin pencari seperti Google tidak mengindeks URL yang mengembalikan status 402 Payment Required. URL yang sebelumnya terindeks namun kini mengembalikan kode status ini akan dihapus dari hasil pencarian.

Contoh

Klien meminta sebuah sumber daya dan server merespons dengan 402 Payment Required untuk menandakan bahwa akses diblokir sampai pembayaran dilakukan. Body respons menjelaskan alasannya dan menyediakan tautan untuk menyelesaikan masalah tersebut.

Permintaan

GET /tech-news HTTP/1.1
Host: example.com

Respons

HTTP/1.1 402 Payment Required
Content-Type: text/html
Content-Length: 187

<html>
  <head>
    <title>Payment Required</title>
  </head>
  <body>
    <p>Access to this resource requires an active
    subscription. Renew at /account/billing.</p>
  </body>
</html>

Cara memperbaiki

402 Payment Required berarti layanan mengharapkan pembayaran atau langganan aktif sebelum memberikan akses. Karena status ini non-standar, perbaikannya bergantung pada layanan tertentu yang mengembalikan galat tersebut.

Periksa status pembayaran dan langganan. Masuk ke dasbor layanan dan pastikan akun masih aktif. Masa uji coba yang berakhir, langganan yang kedaluwarsa, atau tagihan terutang akan memicu status ini. Shopify mengembalikan 402 ketika sebuah toko dibekukan akibat tagihan yang belum dibayar. Stripe mengembalikan 402 ketika penagihan gagal (kartu ditolak, dana tidak mencukupi).

Pastikan informasi penagihan masih berlaku. Kartu kredit yang kedaluwarsa, penagihan yang gagal, atau metode pembayaran yang telah dihapus akan memblokir akses. Perbarui detail pembayaran melalui portal penagihan penyedia. Periksa adanya penahanan atau pemblokiran penipuan pada metode pembayaran dengan menghubungi penerbit kartu.

Tinjau batas paket API. Beberapa layanan mengembalikan 402 ketika penggunaan melampaui tingkat paket saat ini. Periksa dasbor penggunaan penyedia untuk melihat konsumsi kuota. Tingkatkan paket atau tunggu siklus penagihan disetel ulang.

Inspeksi body respons untuk detail penyelesaian. Sebagian besar penyedia menyertakan pesan galat, kode galat, atau tautan ke halaman penagihan tertentu di dalam body respons 402. Respons Stripe menyertakan bidang decline_code (insufficient_funds, card_declined, expired_card) yang menunjukkan secara tepat penyebab kegagalannya.

Coba lagi dengan metode pembayaran alternatif. Ketika kartu atau rekening bank tertentu gagal, beralihlah ke metode pembayaran lain dan kirim ulang. Beberapa penyedia memungkinkan sumber pembayaran cadangan yang dikonfigurasi sebelumnya.

Hubungi penyedia API atau administrator layanan. Karena perilaku 402 non-standar, dokumentasi penyedialah yang menetapkan langkah penyelesaian yang tepat. Jika body respons kurang detail, buka tiket dukungan dengan menyertakan ID permintaan dan stempel waktunya.

Referensi kode

.NET

HttpStatusCode.PaymentRequired

Rust

http::StatusCode::PAYMENT_REQUIRED

Rails

:payment_required

Go

http.StatusPaymentRequired

Symfony

Response::HTTP_PAYMENT_REQUIRED

Python3.5+

http.HTTPStatus.PAYMENT_REQUIRED

Java

java.net.HttpURLConnection.HTTP_PAYMENT_REQUIRED

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_PAYMENT_REQUIRED

Angular

@angular/common/http/HttpStatusCode.PaymentRequired