Meninjau pembayaran yang belum ditarik
Pelajari cara menggunakan tinjauan jika integrasi Stripe Anda menggunakan otorisasi dan penarikan.
Secara default, Anda membuat pembayaran Stripe dalam satu langkah, yang tidak mengharuskan tindakan Anda lebih lanjut untuk mengirim dana ke rekening bank Anda.
Meski demikian, Stripe juga mendukung pembayaran dua langkah yang sering disebut sebagai otorisasi dan penarikan. Jika integrasi Anda menggunakan teknik ini, perlu diingat bahwa menyetujui tinjauan dan menarik pembayaran merupakan tindakan terpisah.
Meninjau pembayaran yang belum ditarik dalam Dashboard
Bila Stripe menempatkan pembayaran yang belum ditarik ditempatkan dalam tinjauan, Dashboard menampilkan tombol Tarik di samping serangkaian tombol untuk menutup tinjauan dengan menyetujui atau mengembalikan dananya. Selain itu, karena mengembalikan dana pembayaran yang belum ditarik sering disebut sebagai “merilis“ atau “membalikkan,” maka pembayaran yang belum ditarik memiliki tombol Batalkan sebagai ganti tombol Kembalikan dana.
Catatan
Menyetujui tinjauan tidak akan otomatis menarik charge. Anda masih harus mengklik Tarik.
Menggunakan API agar otomatis menarik pembayaran yang telah disetujui
Melalui API, Anda dapat menyiapkan integrasi Anda agar:
- Segera menarik pembayaran yang tidak ditempatkan dalam
review
- Membiarkan pembayaran yang ditempatkan dalam
review
sebagai belum ditarik - Bila tinjauan disetujui, tarik pembayaran
Segera menarik pembayaran yang tidak ditempatkan dalam tinjauan
Untuk membuat pembayaran yang belum ditarik, atur perilaku penarikan sesuai permintaan API. Setelah berhasil, periksa atribut tinjauan dari maksud pembayaran. Bila atributnya kosong, maka tariklah charge.
Menarik pembayaran setelah tinjauan disetujui
Secara desain, langkah sebelumnya membiarkan pembayaran dalam review
sebagai belum ditarik. Di langkah ini, gunakan webhooks untuk mengotomatiskan proses penarikan pembayaran ini setelah persetujuan.
Mulailah dengan mengonfigurasi webhook Anda untuk mendengarkan kejadian review.
. Data kejadian ini menyertakan objek tinjauan, dan atribut reason
objek menunjukkan apakah tinjauan disetujui, atau apakah ditutup karena alasan lain (misalnya pembayaran dikembalikan dananya).
// Review object included in review.closed event webhook. { "id": "prv_08voh1589O8KAxCGPcIQpmkz", "object": "review", "payment_intent": "pi_1D0CsEITpIrAk4QYdrWDnbRS", "created": 1474379631, "livemode": false, "open": false, "reason": "approved" }
Jika reason
telah approved
, tariklah charge-nya.
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
post "/my/webhook/url" do event_json = JSON.parse(request.body.read) event = Stripe::Event.retrieve(event_json["id"]) if event.type == 'review.closed' review = event.object if review.reason == 'approved' pi = Stripe::PaymentIntent.retrieve(review.payment_intent) pi.capture end end status 200 end'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
Untuk menarik pembayaran yang telah disetujui, proses tinjauan harus diselesaikan dalam 7 hari. Jika tidak, seperti halnya pembayaran lain yang belum ditarik, otorisasi akan otomatis kedaluwarsa dan Anda tidak lagi dapat menarik pembayaran.