Taux zéro et risque zéro : solution de paiement sans visa WeChat basée sur wechaty + code d'appréciation ?
Comme nous le savons tous, des qualifications de commerçant sont requises pour accéder à l'interface de paiement WeChat. Il existe un processus d'examen strict et certains frais d'examen sont requis. Après avoir réussi l'examen, WeChat facturera également certains frais de traitement pour chaque transaction. utiliser des services sans visa sur d'autres plateformes Pour le paiement, les frais correspondants doivent être payés et la sécurité des fonds ne peut pas être garantie. Le paiement open source sans visa existant est également mis en œuvre en surveillant les notifications WeChat sur le téléphone mobile, ce qui nécessite un équipement élevé. et provoque facilement un contrôle des risques. Ces solutions ne conviennent ni aux développeurs individuels ni aux petits sites Web.
En conséquence, WPayment a vu le jour. Il est basé sur le SDK wechaty bien connu pour surveiller les messages WeChat et utilise le mécanisme de code d'appréciation pour collecter les paiements. Le code d'appréciation peut avoir un montant facultatif et des remarques personnalisées, qui peuvent être commodément utilisées. utilisé pour tout petit montant spécifié (le montant d'une seule appréciation ne peut pas dépasser 200 yuans), et il n'est pas nécessaire d'utiliser le montant pour distinguer les différents utilisateurs. En même temps, le code d'appréciation est configuré pour recevoir l'appréciation des internautes. partout dans le pays, ce n'est donc pas comme le code de paiement. Il est facile d'être contrôlé par le vent.
Installez en utilisant npm :
npm install --save wpayment
Le processus d'utilisation de base est le suivant :
WPayment
et appelez login()
pour obtenir le lien de connexion WeChat. Veuillez le convertir vous-même en code QR, puis vous connecter avec le WeChat du bénéficiaire ;createOrder()
pour créer une commande si nécessaire et noter verifyCode
(un nombre à quatre chiffres) de l'objet Order
renvoyé ;verifyCode
dans la colonne « Remarques », puis payer.onPaid()
dans le paramètre de la méthode createOrder()
sera appelé. De plus, compte tenu des erreurs d'utilisation de l'utilisateur (comme oublier de saisir un montant erroné, saisir un verifyCode
erroné, payer après l'expiration du délai de commande), l'objet WPayment
fournit également queryOrder
pour garantir que le surnom WeChat du payeur, le montant du paiement et Le numéro de transfert WeChat peut être utilisé. Recherchez les informations de commande via d'autres méthodes. Pour des instructions plus détaillées, voir /docs/document.md
.
Une démo simple est la suivante :
const WPayment = require ( 'wpayment' ) . default ;
const qrcode = require ( 'qrcode' ) ;
let intervalID , timeLeft = 300 ;
const payment = new WPayment ( ) ;
payment . login ( ( linkGetter ) => {
// 登录请求回调
const link = linkGetter ( ) ;
qrcode . toString ( link , { type : 'terminal' } , ( error , result ) => {
if ( error ) {
console . log ( error ) ;
return ;
}
console . clear ( ) ;
console . log ( '请扫描二维码登录微信:' , 'n' ) ;
console . log ( result ) ;
} )
} , ( nickname ) => {
// 登录成功回调
console . clear ( ) ;
console . log ( nickname , '已登录' ) ;
const order = payment . createOrder ( '0.02' , ( orderID ) => {
// 订单支付成功回调
clearInterval ( intervalID ) ;
console . log ( 'n订单 ' + orderID + ' 已支付!' ) ;
console . log ( '支付人微信昵称:' , order . payer ) ;
console . log ( '支付时间:' , order . paidTime . toLocaleString ( ) ) ;
console . log ( '微信订单号:' , order . transID ) ;
} , ( error ) => {
// 订单支付失败(系统错误、主动取消或订单超时未支付)回调
console . log ( error ) ;
clearInterval ( intervalID ) ;
} , 300 ) ;
intervalID = setInterval ( ( ) => {
timeLeft -= 1 ;
if ( timeLeft <= 0 ) {
clearInterval ( intervalID ) ;
return ;
}
console . clear ( ) ;
console . log ( '创建了一笔新订单,金额 0.02 元,动态码为 ' + order . verifyCode ) ;
console . log ( '请在' , timeLeft , '秒内完成支付' ) ;
} , 1000 ) ;
} , ( error ) => {
// 登录失败回调
console . log ( error ) ;
} ) ;
Ce projet est entièrement gratuit et est uniquement destiné à l'éducation et à l'apprentissage et ne peut être utilisé à des fins illégales.