nezha-dokumen
nama | gerbang | Mendukung tindakan | Dukungan panggilan balik | Komentar |
---|---|---|---|---|
alipay_app | Pembayaran aplikasi Alipay | Pembayaran/Permintaan Pembayaran/Pengembalian Dana | membayar | |
alipay_qr | Pembayaran kode pindaian Alipay | Pembayaran/Permintaan Pembayaran/Pengembalian Dana | membayar | |
alipay_wap | Pembayaran situs web seluler Alipay | Pembayaran/Permintaan Pembayaran/Pengembalian Dana | membayar | |
alipay_web | Pembayaran situs web Alipay PC | Pembayaran/Permintaan Pembayaran/Pengembalian Dana | membayar | |
wechat_app | Pembayaran aplikasi WeChat | Permintaan Pembayaran/Pembayaran/Pengembalian Dana/Permintaan Pengembalian Dana | Pemberitahuan Pembayaran/Pemberitahuan Pengembalian Dana | |
wechat_h5 | Pembayaran WeChat H5 | Permintaan Pembayaran/Pembayaran/Pengembalian Dana/Permintaan Pengembalian Dana | Pemberitahuan Pembayaran/Pemberitahuan Pengembalian Dana | Fungsi bawaan untuk mengambil tautan pembayaran |
wechat_mina | Pembayaran Program Mini WeChat | Permintaan Pembayaran/Pembayaran/Pengembalian Dana/Permintaan Pengembalian Dana | Pemberitahuan Pembayaran/Pemberitahuan Pengembalian Dana | |
wechat_official | Pembayaran akun resmi WeChat | Permintaan Pembayaran/Pembayaran/Pengembalian Dana/Pertanyaan Pengembalian Dana | Pemberitahuan Pembayaran/Pemberitahuan Pengembalian Dana | |
wechat_qr | Pembayaran kode pindaian WeChat | Permintaan Pembayaran/Pembayaran/Pengembalian Dana/Pertanyaan Pengembalian Dana | Pemberitahuan Pembayaran/Pemberitahuan Pengembalian Dana | |
serikat_web | Pembayaran web UnionPay | Permintaan Pembayaran/Pembayaran | pemberitahuan pembayaran | versi yang lebih lama |
union_app | Pembayaran web UnionPay | membayar | pemberitahuan pembayaran | versi yang lebih lama |
paypal_express_checkout | Pembayaran Ekspres PayPal | Permintaan Pembayaran/Pembayaran | pemberitahuan pembayaran | tidak stabil |
pingan_wechat_h5 | Pembayaran Ping An Bank WeChat H5 | Pembayaran/Pertanyaan Pembayaran/Pengembalian Dana | membayar | |
wechatoversea_official | Pembayaran rekening publik lintas batas WeChat | Pembayaran/Pertanyaan Pembayaran/Pengembalian Dana | membayar |
Saat menghubungkan ke pembayaran pihak ketiga, terutama saat menghubungkan ke beberapa pembayaran pihak ketiga, Anda perlu membaca dokumen pihak ketiga dan menghabiskan banyak waktu untuk menyusun dan men-debug parameter, seperti memanggil pihak ketiga untuk melakukan pemesanan dan membuat pembayaran. Jika Anda perlu terhubung ke WeChat dan Alipay secara bersamaan, maka Anda perlu mengumpulkan dokumen, yang bisa dibayangkan sangat merepotkan (sebenarnya tidak apa-apa... hhh...).
Komponen ini menyediakan tiga bagian untuk berkomunikasi dengan pihak ketiga:
Setiap bagian dibagi menjadi beberapa tindakan yang berbeda. Setiap tindakan terikat pada bentuk yang tetap (Formulir), dan isi setiap bentuk juga tetap.
Misalnya saat aktif memanggil pihak ketiga untuk melakukan pemesanan dan melakukan pembayaran (ChargeRequest), form yang digunakannya adalah ChargeRequestForm
. Setelah mengisi form dan meneruskan komponen, komponen dapat memproses parameter dan memanggil pihak ketiga -pembayaran pihak.
Dengan cara ini, Anda hanya perlu memahami isi formulir komponen untuk terhubung ke beberapa pembayaran pihak ketiga, sekali dan untuk selamanya (tidak ada hhh).
Di sini kami mengambil pembayaran situs web Alipay PC sebagai contoh. Jika Anda perlu menggunakan gateway pembayaran lain, Anda hanya perlu mengubah $gateway
yang dimasukkan saat membuat instance Cashier
.
Perlu diperhatikan bahwa unit mata uang dasar yang digunakan oleh komponen adalah sen.
<?php
use Runner NezhaCashier Cashier ;
// 按格式组装好配置
$ config = [
' app_id ' => ' xxxx ' ,
' app_private_key ' => ' xxxxx ' ,
' alipay_public_key ' => ' xxxxx ' ,
];
// 创建实例, 传入要使用的 Gateway
$ cashier = new Cashier ( ' alipay_web ' , $ config );
Buat pembayaran
<?php
// 组装 ChargeRequestForm
$ data = [
' order_id ' => ' 151627101400000071 ' ,
' subject ' => ' testing ' ,
' amount ' => 1 ,
' currency ' => ' CNY ' ,
' description ' => ' testing description ' ,
' return_url ' => ' https://www.baidu.com ' ,
' expired_at ' => ' 2018-01-23 19:00:00 ' ,
];
$ form = $ cashier -> charge ( $ data );
// 以 laravel 为例
return redirect ( $ form -> get ( ' charge_url ' ));
Periksa pembayaran
<?php
$ form = $ cashier -> query ([
' order_id ' => ' 151627101400000071 ' ,
]);
var_dump ( ' paid ' === $ form -> get ( ' status ' ));
menerima pemberitahuan
<?php
$ form = $ cashier -> notify ( ' charge ' );
var_dump ( ' paid ' === $ form -> get ( ' status ' ));
var_dump ( $ form -> get ( ' trade_sn ' )); // 取得第三方交易号
Pengembalian dana
<?php
$ form = $ cashier -> refund ([
' order_id ' => ' 151627101400000071 ' ,
' refund_id ' => ' 3151627101400000071 ' ,
' total_amount ' => 1 ,
' refund_amount ' => 1 ,
]);
Nama bidang | Apakah itu perlu | Deskripsi lapangan | Komentar |
---|---|---|---|
pesanan_id | Ya | Nomor pesanan | |
subjek | Ya | Judul pesanan | |
jumlah | Ya | Jumlah pesanan | Harap dicatat bahwa beberapa saluran pembayaran memiliki batas atas jumlah tersebut. |
mata uang | Ya | Mata uang pesanan | Perhatikan saluran pembayaran |
keterangan | Ya | Deskripsi pesanan | Saluran pembayaran akan memiliki batasan panjang yang berbeda |
pengguna_ip | TIDAK | IP Pengguna | |
return_url | TIDAK | alamat panggilan balik | Saluran pembayaran jenis web harus diisi |
tampilkan_url | TIDAK | alamat tampilan | |
tubuh | TIDAK | Detail pesanan | Saya harus menghapus parameter ini |
kadaluwarsa_at | TIDAK | Waktu kedaluwarsa | stempel waktu unix |
dibuat_di | TIDAK | waktu penciptaan | Stempel waktu Unix, Anda tidak percaya bahwa Anda membutuhkan ini?? |
Lainnya masih perlu ditambahkan...
Q : Apa kelebihannya dibandingkan SDK lainnya?
J : Tidak peduli seberapa elegan atau mudahnya penggunaan SDK, sebagian besar mengharuskan Anda memasukkan parameter sesuai dengan nama parameter pihak ketiga Kode yang saya inginkan adalah, dari Setelah mengambil pesanan dari database, dapat diproses satu kali untuk mengakses beberapa pembayaran.
Q : Apakah tidak perlu membaca dokumen pembayaran pihak ketiga?
A : Tidak, saya sarankan Anda masih perlu melihatnya, dan beberapa pembayaran di komponen (seperti akun resmi WeChat) perlu melewati beberapa parameter khusus. Komponen ini hanya membantu Anda menyelesaikan masalah panggilan yang mengganggu.
MIT