nezha-docs
Name | Tor | Unterstützen Sie Aktionen | Support-Rückruf | Bemerkung |
---|---|---|---|---|
alipay_app | Alipay APP-Zahlung | Zahlung/Zahlungsanfrage/Rückerstattung | zahlen | |
alipay_qr | Alipay-Scancode-Zahlung | Zahlung/Zahlungsanfrage/Rückerstattung | zahlen | |
alipay_wap | Alipay-Zahlung für mobile Websites | Zahlung/Zahlungsanfrage/Rückerstattung | zahlen | |
alipay_web | Alipay-PC-Website-Zahlung | Zahlung/Zahlungsanfrage/Rückerstattung | zahlen | |
wechat_app | WeChat APP-Zahlung | Zahlung/Zahlungsanfrage/Rückerstattung/Rückerstattungsanfrage | Zahlungshinweis/Rückerstattungshinweis | |
wechat_h5 | WeChat H5-Zahlung | Zahlung/Zahlungsanfrage/Rückerstattung/Rückerstattungsanfrage | Zahlungshinweis/Rückerstattungshinweis | Integrierte Funktion zum Abrufen von Zahlungslinks |
wechat_mina | Zahlung für das WeChat Mini-Programm | Zahlung/Zahlungsanfrage/Rückerstattung/Rückerstattungsanfrage | Zahlungshinweis/Rückerstattungshinweis | |
wechat_official | Zahlung des offiziellen WeChat-Kontos | Zahlung/Zahlungsanfrage/Rückerstattung/Rückerstattungsanfrage | Zahlungshinweis/Rückerstattungshinweis | |
wechat_qr | Zahlung mit WeChat-Scancode | Zahlung/Zahlungsanfrage/Rückerstattung/Rückerstattungsanfrage | Zahlungshinweis/Rückerstattungshinweis | |
union_web | UnionPay-Webzahlung | Zahlung/Zahlungsanfrage | Zahlungsmitteilung | ältere Version |
union_app | UnionPay-Webzahlung | zahlen | Zahlungsmitteilung | ältere Version |
paypal_express_checkout | PayPal-Express-Kaufabwicklung | Zahlung/Zahlungsanfrage | Zahlungsmitteilung | instabil |
pingan_wechat_h5 | Ping An Bank WeChat H5-Zahlung | Zahlung/Zahlungsanfrage/Rückerstattung | zahlen | |
wechatoversea_official | WeChat grenzüberschreitende Zahlung über öffentliche Konten | Zahlung/Zahlungsanfrage/Rückerstattung | zahlen |
Wenn Sie eine Verbindung zu Zahlungen von Drittanbietern herstellen, insbesondere wenn Sie eine Verbindung zu mehreren Zahlungen von Drittanbietern herstellen, müssen Sie Dokumente von Drittanbietern lesen und viel Zeit damit verbringen, Parameter zusammenzustellen und zu debuggen. Beispielsweise müssen Sie einen Drittanbieter anrufen, um eine Bestellung aufzugeben Wenn Sie gleichzeitig eine Verbindung zu WeChat und Alipay herstellen müssen, müssen Sie Dokumente sammeln, was sich als sehr mühsam vorstellen kann (eigentlich ist es in Ordnung ... hhh ...).
Diese Komponente bietet drei Teile für die Kommunikation mit Dritten:
Jeder Teil ist in verschiedene Aktionen unterteilt. Jede Aktion ist an ein festes Formular (Formular) gebunden, und der Inhalt jedes Formulars ist festgelegt.
Wenn Sie beispielsweise einen Dritten aktiv anrufen, um eine Bestellung aufzugeben und eine Zahlung zu erstellen (ChargeRequest), verwendet er das Formular ChargeRequestForm
. Nach dem Ausfüllen des Formulars und der Übergabe der Komponente kann die Komponente die Parameter verarbeiten und den Dritten aufrufen -Parteizahlung.
Auf diese Weise müssen Sie nur den Formularinhalt der Komponente verstehen, um ein für alle Mal eine Verbindung zu mehreren Zahlungen Dritter herzustellen (hhh existiert nicht).
Hier nehmen wir die Zahlung auf der Alipay-PC-Website als Beispiel. Wenn Sie andere Zahlungsgateways verwenden müssen, müssen Sie nur das bei der Instanziierung Cashier
übergebene $gateway
ändern.
Beachten Sie, dass die von der Komponente verwendete Basiswährungseinheit Cent ist.
<?php
use Runner NezhaCashier Cashier ;
// 按格式组装好配置
$ config = [
' app_id ' => ' xxxx ' ,
' app_private_key ' => ' xxxxx ' ,
' alipay_public_key ' => ' xxxxx ' ,
];
// 创建实例, 传入要使用的 Gateway
$ cashier = new Cashier ( ' alipay_web ' , $ config );
Zahlung erstellen
<?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 ' ));
Zahlung prüfen
<?php
$ form = $ cashier -> query ([
' order_id ' => ' 151627101400000071 ' ,
]);
var_dump ( ' paid ' === $ form -> get ( ' status ' ));
Benachrichtigungen erhalten
<?php
$ form = $ cashier -> notify ( ' charge ' );
var_dump ( ' paid ' === $ form -> get ( ' status ' ));
var_dump ( $ form -> get ( ' trade_sn ' )); // 取得第三方交易号
Erstattung
<?php
$ form = $ cashier -> refund ([
' order_id ' => ' 151627101400000071 ' ,
' refund_id ' => ' 3151627101400000071 ' ,
' total_amount ' => 1 ,
' refund_amount ' => 1 ,
]);
Feldname | Ist es notwendig? | Feldbeschreibung | Bemerkung |
---|---|---|---|
order_id | Ja | Bestellnummer | |
Thema | Ja | Bestelltitel | |
Menge | Ja | Bestellmenge | Bitte beachten Sie, dass bei einigen Zahlungskanälen eine Obergrenze für den Betrag gilt. |
Währung | Ja | Bestellwährung | Achten Sie auf Zahlungskanäle |
Beschreibung | Ja | Bestellbeschreibung | Für Zahlungskanäle gelten unterschiedliche Längenbeschränkungen |
user_ip | NEIN | Benutzer-IP | |
return_url | NEIN | Rückrufadresse | Der Webtyp Zahlungskanal muss ausgefüllt werden |
show_url | NEIN | Adresse anzeigen | |
Körper | NEIN | Bestelldetails | Ich sollte diesen Parameter löschen |
abgelaufen_at | NEIN | Ablaufzeit | Unix-Zeitstempel |
erstellt_at | NEIN | Schöpfungszeit | Unix-Zeitstempel, Sie können nicht glauben, dass Sie das überhaupt brauchen?? |
Weitere kommen noch hinzu...
F : Was sind die Vorteile im Vergleich zu anderen SDKs?
A : Unabhängig davon, wie elegant oder benutzerfreundlich das SDK ist, müssen Sie in den meisten Fällen die Parameter gemäß den Parameternamen von Drittanbietern übergeben. Anschließend müssen Sie die Dokumentation lesen und viel Verarbeitung durchführen Code Was ich möchte, ist, dass nach dem Abrufen der Bestellung aus der Datenbank diese einmal verarbeitet werden kann, um auf mehrere Zahlungen zuzugreifen.
F : Ist es unnötig, die Zahlungsdokumente Dritter zu lesen?
A : Nein, ich schlage vor, Sie müssen sich das noch ansehen, und einige Zahlungen in der Komponente (z. B. dem offiziellen WeChat-Konto) müssen einige spezielle Parameter übergeben. Die Komponente hilft Ihnen lediglich, das lästige Anrufproblem zu lösen.
MIT