PaySDK est un SDK de paiement intégré PHP qui intègre les interfaces de paiement d'Alipay et WeChat Pay ainsi que les opérations d'autres interfaces associées.
Aucune dépendance de framework, prend en charge tous les frameworks et prend en charge l'environnement de coroutine Swoole.
Nous disposons d'une documentation technique complète en ligne : http://doc.yurunsoft.com/PaySDK
Documentation API : https://apidoc.gitee.com/yurunsoft/PaySDK
Ce projet est entré en phase de maintenance et ne prendra pas en charge l'interface WeChat V3. Je suis trop paresseux pour les suivre. Si vous en avez besoin, veuillez chercher ailleurs !
L'auteur lui-même ne fournit aucun support technique. Si nécessaire, vous pouvez rejoindre la discussion de groupe : 17916227. Il n'est pas certain que quelqu'un réponde.
Tout le monde se connectera certainement à diverses plateformes de paiement pendant le développement. Personnellement, j'ai une énergie limitée. Vous êtes invités à soumettre un PR sur Github et à travailler ensemble pour améliorer PaySDK afin qu'il puisse prendre en charge davantage de plateformes de paiement et être plus stable, fiable et facile à utiliser. .
Paiement instantané - paiement sur site informatique (ancien)
Paiement instantané - paiement mobile sur site Web (ancien)
Payer en personne
Paiement sur site mobile
Paiement sur site informatique
Serveur de paiement APP
Paiement du mini-programme
Virement unique vers le compte Alipay
Paiement à l'étranger (site Web informatique, site Web mobile, application, scan code)
Déclaration de douane
Autres interfaces de transaction auxiliaires (remboursements, demandes de renseignements, etc.)
Payer par carte
Paiement du compte officiel
Scannez le code pour payer
Paiement par application
Paiement H5
Paiement du mini-programme
Paiements professionnels à modifier
Paiements professionnels par carte bancaire
Paiement à l'étranger (carte magnétique, compte officiel, scan code, APP)
Déclaration de douane
Autres interfaces de transaction auxiliaires (remboursements, demandes de renseignements, etc.)
Ajoutez la configuration à votre composer.json :
PHP >= 5.5
{"require": {"yurunsoft/pay-sdk": "~3.0"} }
PHP >= 5.4
{"require": {"yurunsoft/pay-sdk": "~2.0"} }
La version 3.x prend en charge PHP >= 5.5 et fait l'objet d'une maintenance itérative continue.
La version 2.x prend en charge PHP >= 5.4, prend en charge la maintenance des BUG à long terme, garantit la stabilité et la disponibilité et arrête les mises à jour fonctionnelles.
Exécutez ensuite la commande composer update
.
// Instanciation du SDK, passer dans la configuration publique $pay = new YurunPaySDKAlipaySDK($params); // Interface de paiement $request = new YurunPaySDKAlipayParamsPayRequest; $request->notify_url = ''; // Adresse de notification après paiement (comme rappel de réussite du paiement) , c'est fiable) $request->return_url = '' //; Accédez à l'adresse de retour après le paiement $request->businessParams->seller_id = $GLOBALS['PAY_CONFIG']['appid']; // Numéro d'utilisateur Alipay du vendeur $request->businessParams->out_trade_no = 'test' . 10000000,99999999); // Numéro de commande du marchand $request->businessParams->total_fee = 0,01 ; // Prix $request->businessParams->subject = 'Test product'; // Titre du produit // Passer à la page de paiement // $pay->redirectExecute( $ request);//Obtenir l'url de saut$pay->prepareExecute($request, $url);var_dump($url);
// Instanciation du SDK, passer dans la configuration publique $pay = new YurunPaySDKAlipayAppSDK($params); // Interface de paiement $request = new YurunPaySDKAlipayAppWapParamsPayRequest; $request->notify_url = ''; , c'est fiable) $request->return_url = '' //; Accédez à l'adresse de retour après le paiement $request->businessParams->out_trade_no = 'test' .(10000000,99999999); // Numéro de commande du marchand $request->businessParams->total_amount = 0.01; businessParams ->subject = 'Xiaomi Mobile 9 Black Ceramic Exclusive Edition' // titre du produit // Accédez à la page de paiement // $pay->redirectExecute($request); // Obtenez l'URL de saut $pay->prepareExecute($request, $url);var_dump($url);
// Instanciation du SDK, passer dans la configuration publique $pay = new YurunPaySDKWeixinSDK($params); // Interface de paiement $request = new YurunPaySDKWeixinH5ParamsPayRequest; $request->body = 'test'; // Description du produit $request->out_trade_no = 'test' .mt_rand(10000000,99999999); Numéro de commande $request->total_fee = 1; // Montant total de la commande, unité : cents $request->spbill_create_ip = '127.0.0.1'; // IP du client $request->notify_url = ''; / Interface d'appel $result = $pay->execute($request);if($pay->checkResult()) {// Accédez à l'en-tête de l'interface de paiement('Location: ' . $result['mweb_url']); }else{var_dump($pay->getErrorCode() . ':' . $pay->getError()); }sortie;
Dans les notifications asynchrones de paiement et de remboursement, les objets Request
et Response
de Swoole
doivent être attribués, ou des objets conformes à la norme PSR-7 peuvent être utilisés.
Les objets Request
et Response
des frameworks traditionnels suivent généralement la norme PSR-7 et peuvent être utilisés directement.
imi est un framework de développement d'applications coroutine hautes performances basé sur PHP Swoole. Il prend en charge le développement de services HttpApi, WebSocket, TCP et UDP.
Avec le support de Swoole, par rapport à la capacité de réponse aux requêtes de php-fpm, les capacités de traitement de scènes gourmandes en E/S ont été considérablement améliorées.
Le framework imi possède de riches composants fonctionnels et peut être largement utilisé dans Internet, les communications mobiles, les logiciels d'entreprise, le cloud computing, les jeux en ligne, l'Internet des objets (IOT), l'Internet des véhicules, les maisons intelligentes et d'autres domaines. Cela peut considérablement améliorer l’efficacité des équipes de R&D informatique des entreprises et se concentrer davantage sur le développement de produits innovants.
https://www.imiphp.com/
/** * Ceci est une méthode d'action dans le contrôleur * @Action */public function test() {$payNotify = une nouvelle classe étend YurunPaySDKWeixinNotifyPay {/** * Opérations d'exécution ultérieures * @return void */protected function __exec() { } };$context = RequestContext::getContext();// Les deux lignes suivantes sont critiques $payNotify->swooleRequest = $context['request'];$payNotify->swooleResponse = $context['response'];$sdk ->notify($payNotify);// Cette phrase doit être remplie en retour $payNotify->swooleResponse; }
$payNotify = une nouvelle classe étend YurunPaySDKWeixinNotifyPay {/** * Opérations d'exécution ultérieures * @return void */protected function __exec() { } }; // Les deux lignes suivantes sont critiques, $request, $response sont obtenues à partir de request // Ou vérifiez comment les obtenir à partir du framework que vous utilisez $payNotify->swooleRequest = $request;$payNotify->swooleResponse = $response ;$ sdk->notifier($payNotify);
$payNotify = une nouvelle classe étend YurunPaySDKWeixinNotifyPay {/** * Opérations d'exécution ultérieures * @return void */protected function __exec() { } }; // Actuellement, Swoole prend essentiellement en charge les objets standard PSR-7 // afin qu'ils puissent être transmis directement. Veuillez vous référer à la documentation du framework correspondant pour savoir comment l'obtenir. payNotify->swooleResponse = $response; $sdk->notify($payNotify);//Une fois le traitement terminé, $response doit être renvoyé par le contrôleur ou attribué au contexte// Les opérations des différents frameworks sont différentes. Veuillez vous référer à la documentation du framework correspondant return $payNotify->swooleResponse;
Contenu des services :
Ouverture de compte à faible coût (uniquement commerçants légaux)
Dépannage et conseil
Payer pour le compte des autres
Autre coopération
Si nécessaire, ajoutez QQ : 369124067
WeChat : wx_zhangrunyu
(veuillez indiquer le but de la visite)
L'open source ne recherche pas le profit, c'est une question de cœur. La vie n'est pas facile, alors suivez le courant...