nezha-docs
nom | porte | Actions de soutien | Rappel d'assistance | Remarque |
---|---|---|---|---|
alipay_app | Paiement de l'application Alipay | Paiement/Demande de paiement/Remboursement | payer | |
alipay_qr | Paiement par code scan Alipay | Paiement/Demande de paiement/Remboursement | payer | |
alipay_wap | Paiement sur site mobile Alipay | Paiement/Demande de paiement/Remboursement | payer | |
alipay_web | Paiement sur le site Alipay PC | Paiement/Demande de paiement/Remboursement | payer | |
wechat_app | Paiement de l'application WeChat | Paiement/Demande de paiement/Remboursement/Demande de remboursement | Avis de paiement/avis de remboursement | |
wechat_h5 | Paiement WeChat H5 | Paiement/Demande de paiement/Remboursement/Demande de remboursement | Avis de paiement/avis de remboursement | Fonction intégrée de récupération des liens de paiement |
wechat_mina | Paiement du programme WeChat Mini | Paiement/Demande de paiement/Remboursement/Demande de remboursement | Avis de paiement/avis de remboursement | |
wechat_officiel | Paiement du compte officiel WeChat | Paiement/Demande de paiement/Remboursement/Demande de remboursement | Avis de paiement/avis de remboursement | |
wechat_qr | Paiement par code scan WeChat | Paiement/Demande de paiement/Remboursement/Demande de remboursement | Avis de paiement/avis de remboursement | |
union_web | Paiement en ligne UnionPay | Paiement/demande de paiement | avis de paiement | ancienne version |
union_app | Paiement en ligne UnionPay | payer | avis de paiement | ancienne version |
paypal_express_checkout | Paiement express PayPal | Paiement/demande de paiement | avis de paiement | instable |
pingan_wechat_h5 | Paiement Ping An Bank WeChat H5 | Paiement/Demande de paiement/Remboursement | payer | |
wechatoversea_official | Paiement de compte public transfrontalier WeChat | Paiement/Demande de paiement/Remboursement | payer |
Lors de la connexion à des paiements tiers, en particulier lors de la connexion à plusieurs paiements tiers, vous devez lire des documents tiers et passer beaucoup de temps à assembler et à déboguer les paramètres. Par exemple, appeler un tiers pour passer une commande et. créer un paiement. Si vous devez vous connecter à WeChat et Alipay en même temps, alors vous devez collecter des documents, ce qui peut être imaginé comme très gênant (en fait, ça va... hhh...).
Ce composant propose trois parties pour communiquer avec des tiers :
Chaque partie est divisée en différentes actions. Chaque action est liée à une forme fixe (Formulaire), et le contenu de chaque forme est fixe.
Par exemple, lorsqu'il appelle activement un tiers pour passer une commande et créer un paiement (ChargeRequest), le formulaire qu'il utilise est ChargeRequestForm
. Après avoir rempli le formulaire et transmis le composant, le composant peut traiter les paramètres et appeler le tiers. -paiement du parti.
De cette façon, il suffit de comprendre le contenu de forme du composant pour se connecter une fois pour toutes à plusieurs paiements tiers (hhh n’existe pas).
Ici, nous prenons comme exemple le paiement sur le site Web Alipay PC. Si vous devez utiliser d'autres passerelles de paiement, il vous suffit de modifier $gateway
transmise lors de l'instanciation Cashier
.
Notez que l'unité monétaire de base utilisée par le composant est le centime.
<?php
use Runner NezhaCashier Cashier ;
// 按格式组装好配置
$ config = [
' app_id ' => ' xxxx ' ,
' app_private_key ' => ' xxxxx ' ,
' alipay_public_key ' => ' xxxxx ' ,
];
// 创建实例, 传入要使用的 Gateway
$ cashier = new Cashier ( ' alipay_web ' , $ config );
Créer un paiement
<?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 ' ));
Paiement par chèque
<?php
$ form = $ cashier -> query ([
' order_id ' => ' 151627101400000071 ' ,
]);
var_dump ( ' paid ' === $ form -> get ( ' status ' ));
recevoir des notifications
<?php
$ form = $ cashier -> notify ( ' charge ' );
var_dump ( ' paid ' === $ form -> get ( ' status ' ));
var_dump ( $ form -> get ( ' trade_sn ' )); // 取得第三方交易号
Remboursement
<?php
$ form = $ cashier -> refund ([
' order_id ' => ' 151627101400000071 ' ,
' refund_id ' => ' 3151627101400000071 ' ,
' total_amount ' => 1 ,
' refund_amount ' => 1 ,
]);
Nom du champ | Est-ce nécessaire | Description du champ | Remarque |
---|---|---|---|
id_commande | Oui | Numéro de commande | |
sujet | Oui | Titre de la commande | |
montant | Oui | Montant de la commande | Veuillez noter que certains canaux de paiement ont une limite supérieure sur le montant. |
devise | Oui | Devise de commande | Faites attention aux canaux de paiement |
description | Oui | Description de la commande | Les canaux de paiement auront des limites de longueur différentes |
utilisateur_ip | Non | IP de l'utilisateur | |
URL_de retour | Non | adresse de rappel | Le canal de paiement de type web doit être renseigné |
show_url | Non | afficher l'adresse | |
corps | Non | Détails de la commande | Je devrais supprimer ce paramètre |
expiré_at | Non | Délai d'expiration | horodatage Unix |
créé_à | Non | temps de création | Horodatage Unix, vous ne pouvez pas croire que vous en avez même besoin ?? |
D'autres sont encore à ajouter...
Q : Quels sont les avantages par rapport aux autres SDK ?
R : Aussi élégant ou facile à utiliser que le SDK, la plupart d'entre eux nécessitent que vous transmettiez les paramètres en fonction des noms de paramètres tiers. Vous devez ensuite lire la documentation et effectuer de nombreux traitements dans le fichier. code. Ce que je veux, c'est qu'après avoir récupéré la commande dans la base de données, elle puisse être traitée une fois pour accéder à plusieurs paiements.
Q : Est-il inutile de lire les documents du tiers payant ?
R : Non, je suggère que vous deviez toujours le regarder, et certains paiements dans le composant (comme le compte officiel WeChat) doivent transmettre certains paramètres spéciaux. Le composant vous aide simplement à résoudre le problème d'appel ennuyeux.
MIT