Langkau ke kandungan utama

Lancarkan Payment for Stripe daripada aplikasi anda (skema URL)

Jawapan ringkas: Aplikasi atau laman web anda membuka URL payment://, Payment for Stripe akan menerima pembayaran, kemudian membuka URL panggilan balik anda dengan hasilnya. Tiada SDK. Tiada pelayan berfungsi. Ia berfungsi sama pada iPhone dan Android, dengan beberapa perbezaan yang dinyatakan di bawah.

Rujukan penuh boleh didapati di paymentforstripe.com/api.

Cara ia berfungsi

  1. Apl anda membuka URL payment:// dengan parameter.
  2. Payment for Stripe akan dibuka dan disediakan untuk jualan. Pedagang akan menerima pembayaran dengan pembaca, Tap to Pay atau kad yang ditaip.
  3. Apabila selesai, aplikasi akan membuka URL callback anda dengan hasil yang ditambah sebagai parameter pertanyaan.

Pedagang perlu log masuk. Jika pautan tiba semasa caj lain sedang dijalankan, aplikasi akan menolaknya dan panggilan balik anda akan mendapat error=charge_in_progress.

Cipta caj: pembayaran://baharu

Bayaran sekali sahaja untuk jumlah yang anda tetapkan.

Nama Jenis Diperlukan Penerangan
amount integer Ya Amaun dalam unit terkecil mata wang, lebih besar daripada 0. 1000 = $10.00.
currency tali Tidak Kod ISO tiga huruf, seperti usd atau eur. Biarkan ia dan apl akan menggunakan mata wang yang telah ditetapkan.
description tali Tidak Huraian caj. Kodkan URL-nya.
customer tali Tidak ID pelanggan Stripe sedia ada ( cus_…). customer_id juga berfungsi. Apabila ditetapkan, email dan name akan diabaikan.
email tali Tidak E-mel pelanggan. Mencipta pelanggan baharu.
name tali Tidak Nama pelanggan. Kodkan URL-nya. Mencipta pelanggan baharu.
metadata tali Tidak Objek JSON pasangan nilai-kunci yang dikodkan URL, ditambah pada pembayaran. Had metadata Stripe dikenakan.
callback tali Tidak URL untuk dibuka apabila jualan tamat.
autoprocess boolean Tidak true melangkau pad kekunci dan memulakan pengecasan serta-merta. Lalai false.
auto_return boolean Tidak true membuka panggilan balik sebaik sahaja hasilnya diketahui. false lalai: panggilan balik menunggu sehingga pedagang menutup skrin hasil.
 payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry
 payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

Pautan dengan amount yang hilang, sifar atau bukan angka diabaikan.

Cipta invois daripada katalog anda: pembayaran://cart

Mengisi troli dengan harga daripada katalog produk Stripe anda. Pedagang kemudiannya mengenakan bayaran seperti biasa dan jualan disimpan dalam Stripe sebagai invois berbayar dengan item baris tersebut. Ia tidak menghantar invois melalui e-mel kepada pelanggan anda.

Nama Jenis Diperlukan Penerangan
prices tali Ya Pasangan price_id:quantity yang dipisahkan koma, seperti price_abc:2,price_xyz:1. line_items juga berfungsi.
coupon tali Tidak ID kupon Stripe untuk digunakan pada troli.
customer tali Tidak ID pelanggan Stripe sedia ada. customer_id juga berfungsi.
email tali Tidak E-mel pelanggan. Mencipta pelanggan baharu.
name tali Tidak Nama pelanggan. Kodkan URL-nya.
metadata tali Tidak Objek JSON pasangan kunci-nilai yang dikodkan URL.
callback tali Tidak URL untuk dibuka apabila jualan tamat.
autoprocess boolean Tidak true akan memulakan caj sebaik sahaja setiap harga (dan kupon) dimuatkan.
auto_return boolean Tidak Sama seperti di atas. Lalai false.
 payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com

Jangan hantar amount dengan prices. Jumlah tersebut datang daripada harga, dan pautan dengan kedua-duanya diabaikan. Harga yang disembunyikan dengan payment_hidden masih berfungsi di sini.

Bayar invois sedia ada: pembayaran://invois

Mengutip bayaran secara bersemuka untuk invois Stripe terbuka. Amaun, mata wang, pelanggan dan cukai semuanya datang daripada invois. Setelah berjaya, aplikasi menandakan invois telah dibayar. Berfungsi pada iPhone dan Android.

Nama Jenis Diperlukan Penerangan
id tali Ya ID invois Stripe. Mesti bermula dengan in_. Hantar invois yang dibuka. Pada iPhone, draf dimuktamadkan terlebih dahulu. Pada Android, draf ditolak dengan error=invoice_state_changed.
metadata tali Tidak Objek JSON yang dikodkan URL, ditambahkan pada PaymentIntent.
callback tali Tidak URL untuk dibuka apabila jualan selesai. Mendapatkan invoice_id dan payment_intent_id apabila berjaya.
autoprocess boolean Tidak true akan memulakan caj selepas semakan invois lulus, hanya apabila pembaca kad disambungkan.
auto_return boolean Tidak Sama seperti di atas. Lalai false.
 payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

Invois menetapkan jualan, jadi sebarang amount, currency, customer, customer_id, email, name, description, coupon, prices atau line_items akan ditolak pautannya dengan error=invoice_invalid_param. Invois yang telah dibayar, terbatal, tidak boleh dikutip, $0, terikat dengan langganan atau ditetapkan untuk mengenakan bayaran kaedah pembayaran lalai juga ditolak, setiap satunya dengan ralat invoice_… nya sendiri.

Panggilan balik

Aplikasi ini menambahkan ini pada URL panggilan balik anda:

Nama Jenis Dihantar Penerangan
status tali Sentiasa success, error atau cancelled.
charge_id tali Mengenai kejayaan ID pembayaran. Pada iPhone, ia ialah caj Stripe ( ch_…). Pada Android, ia ialah PaymentIntent ( pi_…).
stripe_charge_id tali Android sahaja Cas Stripe ( ch_…).
payment_intent_id tali Mengenai kejayaan PaymentIntent. iPhone menghantarnya untuk payment://invoice sahaja. Android menghantarnya untuk setiap pembayaran kad.
invoice_id tali Pautan invois Invois yang telah dibayar, untuk payment://invoice.
amount integer Mengenai kejayaan Amaun yang dikenakan, dalam unit terkecil.
currency tali Mengenai kejayaan Kod ISO huruf kecil.
error tali Pada ralat Kod pendek seperti charge_in_progress atau invoice_already_paid, atau mesej yang boleh dibaca untuk kad yang ditolak.
 myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500&currency=usd&chargeId=ch_3Qx…

Perlukan ID yang sama pada kedua-dua platform? Baca stripe_charge_id dahulu, kemudian kembali ke charge_id.

Untuk integrasi lama, aplikasi juga menghantar success=true, chargeId, cancelled=true dan error[message]. Kod baharu sepatutnya membaca status.

Pembatalan akan membuka panggilan balik serta-merta. Kejayaan atau ralat caj menunggu sehingga peniaga menutup skrin keputusan, melainkan anda lulus auto_return=true. Pada iPhone, jualan tunai tidak pernah membuka panggilan balik, kerana tiada apa yang dicaj.

Pengekodan URL

  • Kodkan setiap nilai yang mempunyai ruang atau simbol. Ruang menjadi %20, { dan } menjadi %7B dan %7D, " menjadi %22, : menjadi %3A.
  • Jika URL panggil balik anda mempunyai rentetan pertanyaannya sendiri, kodkan keseluruhan panggilan balik supaya & tidak memisahkan pautan payment:// anda.
  • Koma dan titik bertindih dalam prices boleh kekal seperti sedia ada.

Metadata {"order_id":"1234","location":"Store A"} menjadi:

 payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D

Borang metadata[order_id]=1234 yang lebih lama juga berfungsi.

Adakah artikel ini membantu?
0 daripada 0 mendapati ini berguna