Skip to content

API Pembangun

Integrasikan dan sesuaikan

Lancarkan Payment for Stripe daripada aplikasi atau laman web anda sendiri dengan skema URL, dan kawal produk yang dipaparkan dalam aplikasi terus dari Papan Pemuka Stripe anda.

Integrasi dengan skema URL

Cara ia berfungsi

1

Aplikasi anda membuka payment:// URL dengan parameter

2

Payment for Stripe dibuka dan memproses transaksi

3

Setelah selesai, aplikasi akan mengalihkan ke URL panggilan balik anda dengan hasilnya

Titik akhir

Cipta Caj

payment://new?

Proses pembayaran sekali sahaja dengan jumlah, mata wang dan penerangan.

Parameter

NamaJenisDiperlukanPenerangan
amountintegerYaJumlah dalam sen (cth., 1000 = $10.00)
currencystringTidakKod mata wang ISO tiga huruf (lalai: mata wang semasa aplikasi)
descriptionstringTidakPenerangan caj yang dikodkan URL
customerAlias: customer_idstringTidakID pelanggan Stripe sedia ada
emailstringTidakE-mel pelanggan untuk resit
namestringTidakNama pelanggan yang dikodkan URL
metadatastringTidakPasangan kunci-nilai tersuai (JSON yang dikodkan URL)
callbackstringTidakURL untuk kembali selepas selesai
autoprocessAlias: autobooleanTidakLangkau skrin utama dan mulakan caj dengan segera
auto_returnbooleanTidakCetuskan panggilan balik sebaik sahaja hasil dimuatkan dan bukannya menunggu pedagang menutup dialog hasil. Lalai: false.

Jual Barang daripada Katalog Anda

payment://cart?

Isi troli dengan harga daripada katalog Stripe anda dengan caj secara bersemuka. Jualan disimpan sebagai invois Stripe yang telah dibayar. Tiada apa-apa yang dihantar kepada pelanggan.

Parameter

NamaJenisDiperlukanPenerangan
pricesAlias: line_itemsstringYaID harga yang dipisahkan koma dengan kuantiti (cth., price_abc:2,price_xyz:1)
couponstringTidakID kupon Stripe untuk digunakan pada troli
customerAlias: customer_idstringTidakID pelanggan Stripe sedia ada
emailstringTidakE-mel pelanggan untuk resit
namestringTidakNama pelanggan yang dikodkan URL
metadatastringTidakPasangan kunci-nilai tersuai (JSON yang dikodkan URL)
callbackstringTidakURL untuk kembali selepas selesai
autoprocessAlias: autobooleanTidakLangkau skrin utama dan mulakan caj dengan segera
auto_returnbooleanTidakCetuskan panggilan balik sebaik sahaja hasil dimuatkan dan bukannya menunggu pedagang menutup dialog hasil. Lalai: false.

Bayar Invois Sedia Ada

payment://invoice?

Kutip bayaran secara bersemuka terhadap invois Stripe sedia ada. Amaun, mata wang, pelanggan dan cukai datang daripada invois tersebut. Penggantian mana-mana daripadanya akan ditolak. Pedagang akan mengetik kad melalui pembaca / Tap to Pay / entri manual; apabila berjaya, invois akan ditandakan sebagai dibayar di luar jalur dan dipautkan melalui metadata charge_id dan payment_intent_id. Invois dengan langganan, default_payment_method atau status dibayar, tidak sah atau tidak boleh dikutip akan ditolak dengan ralat yang boleh diambil tindakan. Draf invois: iOS memuktamadkannya terlebih dahulu, Android menolaknya dengan invoice_state_changed.

Parameter

NamaJenisDiperlukanPenerangan
idstringYaID invois Stripe (mesti bermula dengan in_)
callbackstringTidakURL untuk kembali selepas selesai. Menerima invoice_id dan payment_intent_id setelah berjaya.
metadatastringTidakPasangan kunci-nilai tersuai (JSON yang dikodkan URL) yang digabungkan ke dalam metadata PaymentIntent
autoprocessAlias: autobooleanTidakLangkau skrin utama dan mulakan caj dengan segera
auto_returnbooleanTidakCetuskan panggilan balik sebaik sahaja hasil dimuatkan dan bukannya menunggu pedagang menutup dialog hasil. Lalai: false.

Mengendalikan panggilan balik

Apabila transaksi selesai, Payment for Stripe mengalihkan ke URL panggilan balik anda dengan parameter pertanyaan yang menunjukkan hasilnya. Secara lalai, pengalihan berlaku selepas pedagang menutup dialog hasil supaya mereka boleh mengambil tindakan selepas caj (menghantar resit melalui e-mel, membuat bayaran balik). Hantar auto_return=true untuk mencetuskannya sebaik sahaja hasil diketahui. Disokong pada iOS dan Android.

Parameter Panggilan Balik

ParameterNilaiPenerangan
statussuccess | error | cancelledHasil transaksi
charge_idstringID caj Stripe (selepas berjaya). iOS menghantar ID caj (ch_). Android menghantar ID PaymentIntent (pi_) dan meletakkan ID caj dalam stripe_charge_id.
stripe_charge_idstringID cas Stripe (ch_) apabila berjaya. Android sahaja.
invoice_idstringID invois Stripe (apabila berjaya, aliran payment://invoice sahaja)
payment_intent_idstringID Stripe PaymentIntent (selepas berjaya). iOS: aliran payment://invoice sahaja. Android: setiap jualan kad.
errorstringMesej ralat (jika berlaku ralat)

Caj telah direkodkan tetapi invois tidak dapat ditandai sebagai telah dibayar: iOS mengembalikan status=error dengan charge_id, invoice_id dan payment_intent_id. Android mengembalikan status=success dengan invoice_reconciliation_failed=true.

Medan legasi, disimpan untuk integrasi lama: success, amount, currency, chargeId, cancelled, error[message]. Integrasi baharu sepatutnya membaca medan di atas.

Contoh

Caj mudah

Caj $10.00 dengan jumlah sahaja

payment://new?amount=1000

Caj dengan penerangan

Caj €25.00 dengan penerangan

payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry

Caj dengan pelanggan baharu

Caj $50.00 dan cipta rekod pelanggan

payment://new?amount=5000&name=John%20Smith&[email protected]

Caj pelanggan sedia ada

Caj $75.00 kepada pelanggan Stripe sedia ada

payment://new?amount=7500&customer=cus_ABC123xyz

Caj dengan metadata

Caj $100.00 dengan metadata tersuai untuk rekod anda

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

Proses automatik dengan panggilan balik

Langkau skrin utama dan kembali ke aplikasi anda setelah selesai

payment://new?amount=3500&autoprocess=true&callback=myapp://payment-complete

Kembali automatik apabila hasil diketahui

Cetuskan panggilan balik sebaik sahaja hasilnya diketahui, dan bukannya menunggu pedagang menutup dialog hasil

payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

Troli dengan item baris

Caj untuk produk daripada katalog Stripe anda

payment://cart?prices=price_coffee:2,price_muffin:1&[email protected]

Bayar invois sedia ada

Kutip pembayaran secara bersemuka untuk invois Stripe sedia ada. Mengembalikan invoice_id dan payment_intent_id apabila berjaya.

payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

Contoh lengkap

Semua parameter digabungkan untuk aliran bersepadu sepenuhnya

payment://new?amount=15000&currency=usd&description=Service%20Fee&customer=cus_ABC123xyz&metadata=%7B%22invoice%22%3A%22INV-2024-001%22%7D&autoprocess=true&callback=myapp://payment-result

Pengekodan URL

Ingat untuk melakukan pengekodan URL bagi aksara khas dalam nilai parameter. Ruang menjadi %20, pendakap kerinting menjadi %7B dan %7D.

Sembunyikan produk dengan metadata

Menyembunyikan produk daripada aplikasi

Aplikasi menyenaraikan produk dan harga daripada akaun Stripe anda. Untuk mengecualikan satu daripadanya daripada aplikasi (contohnya barangan yang hanya dijual melalui kedai dalam talian anda), tambahkan kunci metadata ini pada produk atau harga dalam Papan Pemuka Stripe:

payment_hidden = true

Pada produk: menyembunyikan produk itu dan semua harganya.

Pada harga: menyembunyikan harga itu sahaja.

Buang kunci itu, atau tetapkan kepada false, untuk memaparkannya semula. Perubahan berkuat kuasa pada kali seterusnya aplikasi memuatkan senarai produk anda.

Pautan troli terus berfungsi

Penyembunyian hanya mempengaruhi senarai produk dalam aplikasi. URL payment://cart yang merujuk harga tersembunyi terus berfungsi, dan langganan sedia ada tidak terjejas.

Bersedia untuk berintegrasi?

Muat turun aplikasi dan mula menguji integrasi anda hari ini.