Импорт пакета:
< dependency >
< groupId >me.hao0</ groupId >
< artifactId >wepay-core</ artifactId >
< version >1.3.2</ version >
</ dependency >
Зависимые пакеты, обратите внимание, нужно ли их исключать при внедрении проекта:
< dependency >
< groupId >me.hao0</ groupId >
< artifactId >common</ artifactId >
< version >1.1.2</ version >
</ dependency >
Основное использование:
Wepay wepay = WepayBuilder
. newBuilder ( appId , appKey , mchId )
. config1 (...) // 其他可选配置
...
. build ();
wepay . module (). api ();
Реализованные компоненты:
pay()
;refund()
;order()
;notify()
;bill()
.Документация по API здесь.
О тестировании :
Тестовые примеры включают в себя некоторые базовые тесты, требующие некоторой настройки:
// 在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 ();
Проект wepay-demo — это работоспособный веб-проект, который удобен для тестирования. Вы можете протестировать его, выполнив следующие действия. Скопируйте app-example.properties
из wepay-demo в app.properties
и настройте его соответствующим образом:
# 微信app id
appId =
# 微信支付key
appKey =
# 商户号
mchId =
# 支付通知url
payNotifyUrl = $ { your_domain } / notifies / paid
Примечание . ** payNotifyUrl
** следует настроить как адрес, по которому сервер WeChat может звонить из внешней сети. Для локального тестирования рекомендуется использовать инструмент ngrok для сопоставления локальной и внешней сети.
Перейдите в корневой каталог wepay-demo и выполните следующую команду:
mvn clean jetty:run -Dmaven.test.skip -Djetty.port={自定义端口号}
Доступна оплата по динамическому QR-коду ( после того, как запрос станет нормальным, появится изображение QR-кода, сгенерированное Liantu. После успешного завершения платежа путем сканирования с помощью WeChat в фоновом режиме будет получено соответствующее уведомление Notifies
):
http://localhost:{port}/pays/qrpay ? orderNumber={自定义订单号}
Возврат возможен ( после успешной отправки на WeChat будет отправлено сообщение ):
http://localhost:{port}/refunds/apply ? orderNumber={商户订单号} ` ` `
Сопутствующие документы:
Историческая версия:
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
в clientIp
.Связанные компоненты:
Алипай:
ВиЧат: