Importation de packages :
< dependency >
< groupId >me.hao0</ groupId >
< artifactId >wepay-core</ artifactId >
< version >1.3.2</ version >
</ dependency >
Packages dépendants, faites attention à savoir si vous devez les exclure lors de l'introduction du projet :
< dependency >
< groupId >me.hao0</ groupId >
< artifactId >common</ artifactId >
< version >1.1.2</ version >
</ dependency >
Utilisation de base :
Wepay wepay = WepayBuilder
. newBuilder ( appId , appKey , mchId )
. config1 (...) // 其他可选配置
...
. build ();
wepay . module (). api ();
Composants implémentés :
pay()
;refund()
;order()
;notify()
;bill()
.Documentation API ici.
À propos des tests :
Les cas de test incluent quelques tests de base qui nécessitent une certaine configuration :
// 在test/reources目录中配置dev.properties
// 包括appId(APP ID), appKey(支付密钥), mchId(商户号)
Properties props = new Properties ();
InputStream in = Object . class . getResourceAsStream ( "/dev.properties" );
props . load ( in );
in . close ();
// 配置证书,退款需要证书,不配置可测试除退款的接口
Path path = Paths . get ( "/path/to/your_cert.p12" );
byte [] data = Files . readAllBytes ( path );
wepay = WepayBuilder . newBuilder (
props . getProperty ( "appId" ),
props . getProperty ( "appKey" ),
props . getProperty ( "mchId" ))
. certPasswd ( props . getProperty ( "mchId" ))
. certs ( data )
. build ();
Le projet wepay-demo est un projet Web exécutable, pratique pour les tests. Vous pouvez le tester en suivant les étapes suivantes. Copiez app-example.properties
dans wepay-demo dans app.properties
et configurez-le en conséquence :
# 微信app id
appId =
# 微信支付key
appKey =
# 商户号
mchId =
# 支付通知url
payNotifyUrl = $ { your_domain } / notifies / paid
Remarque : ** payNotifyUrl
** doit être configuré comme une adresse que le serveur WeChat peut appeler depuis le réseau externe. Pour les tests locaux, il est recommandé d'utiliser l'outil ngrok pour le mappage du réseau local et externe.
Accédez au répertoire racine wepay-demo et exécutez la commande suivante :
mvn clean jetty:run -Dmaven.test.skip -Djetty.port={自定义端口号}
Le paiement par code QR dynamique est accessible ( une fois la demande normale, l'image du code QR générée par Liantu apparaîtra. Une fois le paiement réussi par numérisation avec WeChat, la notification correspondante Notifies
sera reçue en arrière-plan ) :
http://localhost:{port}/pays/qrpay ? orderNumber={自定义订单号}
Le remboursement est accessible ( après une soumission réussie, un message sera notifié sur WeChat ) :
http://localhost:{port}/refunds/apply ? orderNumber={商户订单号} ` ` `
Documents associés :
Version historique :
1.0.0 :
1.1.0 :
1.1.1 :
1.1.2 :
1.2.2 :
1.2.3 :
1.2.4 :
1.2.5 :
1.3.0 :
1.3.1 :
goods_tag
.1.3.2 :
clientIp
sur clientIp
.Composants associés :
Alipay :
WeChat :