Taxa zero e risco zero : solução de pagamento sem visto WeChat baseada em código wechaty + apreciação?
Como todos sabemos, as qualificações do comerciante são necessárias para acessar a interface de pagamento do WeChat. Existe um processo de revisão rigoroso e é necessária uma certa taxa de revisão. usar serviços de isenção de visto em outras plataformas Para pagamento, as taxas relevantes devem ser pagas e a segurança dos fundos não pode ser garantida. O pagamento sem visto de código aberto existente também é implementado monitorando as notificações do WeChat no telefone celular, o que requer equipamento de alta qualidade. e causa facilmente controle de risco. Essas soluções também não são adequadas para desenvolvedores individuais e sites menores.
Como resultado, o WPayment surgiu. Ele é baseado no conhecido Wechaty SDK para monitorar mensagens do WeChat e usa o mecanismo de código de agradecimento para coletar pagamentos. O código de agradecimento pode ter um valor opcional e comentários personalizados, que podem ser convenientemente. usado para qualquer pequena quantia especificada (o valor de uma única apreciação não pode exceder 200 yuans) e não há necessidade de usar o valor para distinguir diferentes usuários. Ao mesmo tempo, o código de apreciação é configurado para receber agradecimentos de internautas. em todo o país, então não é como o código de pagamento. É fácil ser controlado pelo vento.
Instale usando npm:
npm install --save wpayment
O processo básico de uso é:
WPayment
e chame login()
para obter o link de login do WeChat. Converta-o você mesmo em um código QR e faça login com o WeChat do beneficiário ;createOrder()
para criar um pedido quando necessário e observar verifyCode
(um número de quatro dígitos) do objeto Order
retornado;verifyCode
na coluna "Observações" e depois pagar.onPaid()
no parâmetro do método createOrder()
será chamado. Além disso, considerando a operação incorreta do usuário (como esquecer de inserir o valor errado, inserir o verifyCode
errado, pagar após o tempo limite do pedido), o objeto WPayment
também fornece queryOrder
para garantir que o apelido WeChat do pagador, o valor do pagamento e O /docs/document.md
de transferência do WeChat pode ser usado. Consulte informações do pedido por meio de outros métodos.
Uma demonstração simples é a seguinte:
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 ) ;
} ) ;
Este projeto é totalmente gratuito e destina-se apenas à educação e aprendizagem e não pode ser usado para fins ilegais.