├── .editorconfig ├── .gitee └── ISSUE_TEMPLATE.zh-CN.md ├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── DEMAND_ISSUE_TEMPLATE.zh-CN.md │ └── ISSUE_TEMPLATE.zh-CN.md ├── .gitignore ├── .travis.yml ├── IJPay-AliPay ├── pom.xml └── src │ └── main │ └── java │ ├── com │ └── ijpay │ │ └── alipay │ │ ├── AliPayApi.java │ │ ├── AliPayApiConfig.java │ │ ├── AliPayApiConfigKit.java │ │ └── AliPayCore.java │ └── enums │ └── SignType.java ├── IJPay-All ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── ijpay │ └── IJPay.java ├── IJPay-Core ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── ijpay │ │ └── core │ │ ├── IJPayHttpResponse.java │ │ ├── XmlHelper.java │ │ ├── constant │ │ └── IJPayConstants.java │ │ ├── enums │ │ ├── AuthTypeEnum.java │ │ ├── PayModel.java │ │ ├── RequestMethodEnum.java │ │ ├── SignType.java │ │ └── TradeType.java │ │ ├── http │ │ └── AbstractHttpDelegate.java │ │ ├── kit │ │ ├── AesUtil.java │ │ ├── HttpKit.java │ │ ├── IpKit.java │ │ ├── PayKit.java │ │ ├── QrCodeKit.java │ │ ├── RsaKit.java │ │ └── WxPayKit.java │ │ ├── model │ │ ├── BaseModel.java │ │ └── CertificateModel.java │ │ └── utils │ │ ├── DateTimeZoneUtil.java │ │ └── RetryUtils.java │ └── test │ └── java │ └── com │ └── ijpay │ └── core │ └── PayKitTest.java ├── IJPay-Demo-JFinal ├── .gitignore ├── README.md ├── ___极速打包部署.txt ├── jfinal.bat ├── jfinal.sh ├── package.xml ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── ijpay │ │ └── demo │ │ ├── AppConfig.java │ │ ├── controller │ │ ├── IndexController.java │ │ ├── alipay │ │ │ ├── AliPayApiController.java │ │ │ └── AliPayController.java │ │ └── wxpay │ │ │ ├── WxPayApiController.java │ │ │ ├── WxPayController.java │ │ │ └── WxPayV3Controller.java │ │ ├── entity │ │ └── H5SceneInfo.java │ │ ├── interceptor │ │ ├── AliPayApiInterceptor.java │ │ └── WxPayApiInterceptor.java │ │ └── vo │ │ └── AjaxResult.java │ ├── resources │ ├── demo-config-dev.txt │ ├── log4j.properties │ ├── production │ │ ├── alipay.properties │ │ ├── jdpay.properties │ │ ├── sub_wxpay.properties │ │ ├── wxpay.properties │ │ └── wxpay_v3.properties │ └── undertow.txt │ └── webapp │ ├── WEB-INF │ ├── _views │ │ ├── hospital │ │ │ ├── 01_index.html │ │ │ ├── 02_select_time.html │ │ │ ├── 03_register_info.html │ │ │ └── 04_success.html │ │ ├── index.html │ │ ├── jd_customer_pay.html │ │ ├── jd_pc_h5.html │ │ ├── order.html │ │ ├── pay_input_money.html │ │ ├── pay_keyboard.html │ │ ├── pay_select_money.html │ │ ├── qrcode.html │ │ ├── success.html │ │ ├── traffic_pay.html │ │ ├── utf8_result.html │ │ ├── wxh5pay.html │ │ ├── wxpay.html │ │ └── wxsubpay.html │ ├── error │ │ ├── 401.html │ │ ├── 404.html │ │ └── 500.html │ └── web.xml │ └── static │ ├── css │ ├── demos.css │ ├── hospital.css │ ├── keyboard.css │ ├── order.css │ └── pay.css │ ├── images │ ├── icon_nav_article.png │ ├── icon_nav_button.png │ ├── icon_nav_cell.png │ ├── icon_nav_msg.png │ ├── img │ │ ├── bg-green.png │ │ ├── ico-arrow-right-gray.png │ │ ├── interactive.png │ │ ├── photo.jpg │ │ ├── sprites.png │ │ ├── sprites │ │ │ ├── ico-heart.png │ │ │ ├── ico-subbranding.png │ │ │ ├── ico-time.png │ │ │ └── ico-wxzf.png │ │ ├── suc-gaps.png │ │ ├── suc-ico-arrow.png │ │ └── wenli.png │ ├── keybord-return.png │ ├── keybord-stop.png │ └── wxpay.png │ ├── js │ ├── iscroll-min.js │ ├── jquery.qrcode.min.js │ ├── pay.js │ └── zepto.min.js │ └── layer │ ├── layer.js │ ├── mobile │ ├── layer.js │ └── need │ │ └── layer.css │ └── skin │ └── default │ ├── icon-ext.png │ ├── icon.png │ ├── layer.css │ ├── loading-0.gif │ ├── loading-1.gif │ └── loading-2.gif ├── IJPay-Demo-Solon ├── README.md ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── ijpay │ │ │ └── demo │ │ │ ├── DemoApplication.java │ │ │ ├── controller │ │ │ ├── IndexController.java │ │ │ ├── alipay │ │ │ │ ├── AbstractAliPayApiController.java │ │ │ │ └── AliPayController.java │ │ │ ├── jdpay │ │ │ │ ├── AppParams.java │ │ │ │ └── JdPayController.java │ │ │ ├── paypal │ │ │ │ └── PayPalController.java │ │ │ ├── unionpay │ │ │ │ └── UnionPayController.java │ │ │ └── wxpay │ │ │ │ ├── AbstractWxPayApiController.java │ │ │ │ ├── WxPayController.java │ │ │ │ └── WxPayV3Controller.java │ │ │ ├── custom │ │ │ └── OkHttpKit.java │ │ │ ├── entity │ │ │ ├── AliPayBean.java │ │ │ ├── H5SceneInfo.java │ │ │ ├── JdPayBean.java │ │ │ ├── PayPalBean.java │ │ │ ├── UnionPayBean.java │ │ │ ├── WxPayBean.java │ │ │ └── WxPayV3Bean.java │ │ │ ├── interceptor │ │ │ ├── AliPayInterceptor.java │ │ │ └── WxPayInterceptor.java │ │ │ ├── kit │ │ │ └── IpKit.java │ │ │ ├── utils │ │ │ └── StringUtils.java │ │ │ └── vo │ │ │ └── AjaxResult.java │ └── resources │ │ ├── WEB-INF │ │ ├── static │ │ │ ├── css │ │ │ │ ├── demos.css │ │ │ │ ├── hospital.css │ │ │ │ ├── keyboard.css │ │ │ │ ├── order.css │ │ │ │ └── pay.css │ │ │ ├── error │ │ │ │ ├── 401.html │ │ │ │ ├── 404.html │ │ │ │ └── 500.html │ │ │ ├── images │ │ │ │ ├── icon_nav_article.png │ │ │ │ ├── icon_nav_button.png │ │ │ │ ├── icon_nav_cell.png │ │ │ │ ├── icon_nav_msg.png │ │ │ │ ├── img │ │ │ │ │ ├── bg-green.png │ │ │ │ │ ├── ico-arrow-right-gray.png │ │ │ │ │ ├── interactive.png │ │ │ │ │ ├── photo.jpg │ │ │ │ │ ├── sprites.png │ │ │ │ │ ├── sprites │ │ │ │ │ │ ├── ico-heart.png │ │ │ │ │ │ ├── ico-subbranding.png │ │ │ │ │ │ ├── ico-time.png │ │ │ │ │ │ └── ico-wxzf.png │ │ │ │ │ ├── suc-gaps.png │ │ │ │ │ ├── suc-ico-arrow.png │ │ │ │ │ └── wenli.png │ │ │ │ ├── keybord-return.png │ │ │ │ ├── keybord-stop.png │ │ │ │ └── wxpay.png │ │ │ ├── js │ │ │ │ ├── iscroll-min.js │ │ │ │ ├── jquery.qrcode.min.js │ │ │ │ ├── pay.js │ │ │ │ └── zepto.min.js │ │ │ └── layer │ │ │ │ ├── layer.js │ │ │ │ ├── mobile │ │ │ │ ├── layer.js │ │ │ │ └── need │ │ │ │ │ └── layer.css │ │ │ │ └── skin │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ └── view │ │ │ ├── hospital │ │ │ ├── 01_index.html │ │ │ ├── 02_select_time.html │ │ │ ├── 03_register_info.html │ │ │ └── 04_success.html │ │ │ ├── index.html │ │ │ ├── jd_customer_pay.html │ │ │ ├── jd_pc_h5.html │ │ │ ├── order.html │ │ │ ├── pay_input_money.html │ │ │ ├── pay_keyboard.html │ │ │ ├── pay_select_money.html │ │ │ ├── qrcode.html │ │ │ ├── success.html │ │ │ ├── traffic_pay.html │ │ │ ├── utf8_result.html │ │ │ ├── wxh5pay.html │ │ │ ├── wxpay.html │ │ │ └── wxsubpay.html │ │ ├── app.yml │ │ └── production │ │ ├── alipay.properties │ │ ├── jdpay.properties │ │ ├── paypal.properties │ │ ├── sub_wxpay.properties │ │ ├── unionpay.properties │ │ ├── wxpay.properties │ │ └── wxpay_v3.properties │ └── test │ └── java │ └── com │ └── ijpay │ └── PayTest.java ├── IJPay-Demo-SpringBoot ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── README.md ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── ijpay │ │ │ └── demo │ │ │ ├── DemoApplication.java │ │ │ ├── config │ │ │ ├── EnjoyConfig.java │ │ │ ├── IJPayConfigurer.java │ │ │ └── StartupRunner.java │ │ │ ├── controller │ │ │ ├── IndexController.java │ │ │ ├── alipay │ │ │ │ ├── AbstractAliPayApiController.java │ │ │ │ └── AliPayController.java │ │ │ ├── jdpay │ │ │ │ ├── AppParams.java │ │ │ │ └── JdPayController.java │ │ │ ├── paypal │ │ │ │ └── PayPalController.java │ │ │ ├── unionpay │ │ │ │ └── UnionPayController.java │ │ │ └── wxpay │ │ │ │ ├── AbstractWxPayApiController.java │ │ │ │ ├── WxPayController.java │ │ │ │ └── WxPayV3Controller.java │ │ │ ├── custom │ │ │ └── OkHttpKit.java │ │ │ ├── entity │ │ │ ├── AliPayBean.java │ │ │ ├── H5SceneInfo.java │ │ │ ├── JdPayBean.java │ │ │ ├── PayPalBean.java │ │ │ ├── UnionPayBean.java │ │ │ ├── WxPayBean.java │ │ │ └── WxPayV3Bean.java │ │ │ ├── interceptor │ │ │ ├── AliPayInterceptor.java │ │ │ └── WxPayInterceptor.java │ │ │ ├── kit │ │ │ └── IpKit.java │ │ │ ├── utils │ │ │ └── StringUtils.java │ │ │ └── vo │ │ │ └── AjaxResult.java │ └── resources │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── production │ │ ├── alipay.properties │ │ ├── jdpay.properties │ │ ├── paypal.properties │ │ ├── sub_wxpay.properties │ │ ├── unionpay.properties │ │ ├── wxpay.properties │ │ └── wxpay_v3.properties │ │ ├── static │ │ ├── css │ │ │ ├── demos.css │ │ │ ├── hospital.css │ │ │ ├── keyboard.css │ │ │ ├── order.css │ │ │ └── pay.css │ │ ├── error │ │ │ ├── 401.html │ │ │ ├── 404.html │ │ │ └── 500.html │ │ ├── images │ │ │ ├── icon_nav_article.png │ │ │ ├── icon_nav_button.png │ │ │ ├── icon_nav_cell.png │ │ │ ├── icon_nav_msg.png │ │ │ ├── img │ │ │ │ ├── bg-green.png │ │ │ │ ├── ico-arrow-right-gray.png │ │ │ │ ├── interactive.png │ │ │ │ ├── photo.jpg │ │ │ │ ├── sprites.png │ │ │ │ ├── sprites │ │ │ │ │ ├── ico-heart.png │ │ │ │ │ ├── ico-subbranding.png │ │ │ │ │ ├── ico-time.png │ │ │ │ │ └── ico-wxzf.png │ │ │ │ ├── suc-gaps.png │ │ │ │ ├── suc-ico-arrow.png │ │ │ │ └── wenli.png │ │ │ ├── keybord-return.png │ │ │ ├── keybord-stop.png │ │ │ └── wxpay.png │ │ ├── js │ │ │ ├── iscroll-min.js │ │ │ ├── jquery.qrcode.min.js │ │ │ ├── pay.js │ │ │ └── zepto.min.js │ │ └── layer │ │ │ ├── layer.js │ │ │ ├── mobile │ │ │ ├── layer.js │ │ │ └── need │ │ │ │ └── layer.css │ │ │ └── skin │ │ │ └── default │ │ │ ├── icon-ext.png │ │ │ ├── icon.png │ │ │ ├── layer.css │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ │ └── view │ │ ├── hospital │ │ ├── 01_index.html │ │ ├── 02_select_time.html │ │ ├── 03_register_info.html │ │ └── 04_success.html │ │ ├── index.html │ │ ├── jd_customer_pay.html │ │ ├── jd_pc_h5.html │ │ ├── order.html │ │ ├── pay_input_money.html │ │ ├── pay_keyboard.html │ │ ├── pay_select_money.html │ │ ├── qrcode.html │ │ ├── success.html │ │ ├── traffic_pay.html │ │ ├── utf8_result.html │ │ ├── wxh5pay.html │ │ ├── wxpay.html │ │ └── wxsubpay.html │ └── test │ └── java │ └── com │ └── ijpay │ └── PayTest.java ├── IJPay-JDPay ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── ijpay │ └── jdpay │ ├── JdPayApi.java │ ├── JdPayApiConfig.java │ ├── JdPayApiConfigKit.java │ ├── kit │ └── JdPayKit.java │ ├── model │ ├── CustomerPayModel.java │ ├── FkmModel.java │ ├── JdBaseModel.java │ ├── JdRequestModel.java │ ├── QueryBaiTiaoFqModel.java │ ├── QueryOrderModel.java │ ├── RefundModel.java │ ├── RevokeModel.java │ ├── SaveOrderModel.java │ ├── UniOrderModel.java │ └── UserRelationModel.java │ └── util │ ├── JdPayXmlUtil.java │ ├── RSACoder.java │ ├── RsaUtil.java │ ├── SHAUtil.java │ ├── SignUtil.java │ ├── SignatureUtil.java │ ├── ThreeDesUtil.java │ ├── VerifySignatureUtl.java │ └── XmlEncryptUtil.java ├── IJPay-PayPal ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── ijpay │ └── paypal │ ├── PayPalApi.java │ ├── PayPalApiConfig.java │ ├── PayPalApiConfigKit.java │ ├── accesstoken │ ├── AccessToken.java │ └── AccessTokenKit.java │ ├── cache │ ├── DefaultAccessTokenCache.java │ └── IAccessTokenCache.java │ └── enums │ └── PayPalApiUrl.java ├── IJPay-Plugin ├── .gitignore ├── IJPay-AliPay-Starter-Demo │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── ijpay │ │ │ ├── AliPayStarterDemoApplication.java │ │ │ ├── config │ │ │ ├── AliPayConfigurer.java │ │ │ └── StartupRunner.java │ │ │ ├── controller │ │ │ └── AliPayController.java │ │ │ └── utils │ │ │ └── StringUtils.java │ │ └── resources │ │ ├── application-prod.yml │ │ ├── application.yml │ │ └── banner.txt ├── IJPay-AliPay-Starter │ ├── .gitignore │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── ijpay │ │ │ └── alipay │ │ │ └── starter │ │ │ ├── config │ │ │ └── AliPayAutoConfiguration.java │ │ │ ├── constants │ │ │ └── IJPayConstant.java │ │ │ ├── controller │ │ │ ├── AbstractAliPayApiController.java │ │ │ └── AbstractAliPayController.java │ │ │ ├── interceptor │ │ │ └── AliPayInterceptor.java │ │ │ └── properties │ │ │ └── AliPayProperties.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── IJPay-WxPay-Starter-Demo │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── ijpay │ │ │ ├── WxPayStarterDemoApplication.java │ │ │ ├── config │ │ │ ├── StartupRunner.java │ │ │ └── WxPayConfigurer.java │ │ │ └── controller │ │ │ └── WxPayController.java │ │ └── resources │ │ ├── application-prod.yml │ │ ├── application.yml │ │ └── banner.txt ├── IJPay-WxPay-Starter │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── ijpay │ │ │ └── wxpay │ │ │ └── starter │ │ │ ├── config │ │ │ └── WxPayAutoConfiguration.java │ │ │ ├── controller │ │ │ ├── AbstractWxPayApiController.java │ │ │ └── AbstractWxPayController.java │ │ │ ├── interceptor │ │ │ └── WxPayInterceptor.java │ │ │ └── properties │ │ │ └── WxPayProperties.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories └── pom.xml ├── IJPay-QQ ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── ijpay │ └── qqpay │ ├── QqPayApi.java │ ├── QqPayApiConfig.java │ ├── QqPayApiConfigKit.java │ └── model │ ├── CloseOrderModel.java │ ├── CreateHbModel.java │ ├── DownloadBillModel.java │ ├── DownloadHbBillModel.java │ ├── DownloadTransferBillModel.java │ ├── GetHbInfoModel.java │ ├── GetTransferInfoModel.java │ ├── MicroPayModel.java │ ├── OrderQueryModel.java │ ├── OrderRefundModel.java │ ├── OrderReverseModel.java │ ├── RefundQueryModel.java │ ├── TransferModel.java │ └── UnifiedOrderModel.java ├── IJPay-UnionPay ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── ijpay │ └── unionpay │ ├── UnionPayApi.java │ ├── UnionPayApiConfig.java │ ├── UnionPayApiConfigKit.java │ ├── enums │ └── ServiceEnum.java │ └── model │ ├── ApplyModel.java │ ├── AuthCodeToOpenIdModel.java │ ├── BillDownloadModel.java │ ├── CloseOrderModel.java │ ├── MicroPayModel.java │ ├── OrderQueryModel.java │ ├── RefundModel.java │ ├── RefundQueryModel.java │ ├── ReverseModel.java │ ├── UnifiedOrderModel.java │ └── UnionPayUserIdModel.java ├── IJPay-WxPay ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── ijpay │ │ └── wxpay │ │ ├── WxPayApi.java │ │ ├── WxPayApiConfig.java │ │ ├── WxPayApiConfigKit.java │ │ ├── enums │ │ ├── BankCode.java │ │ ├── ReceiverType.java │ │ ├── WxApiEnum.java │ │ ├── WxApiType.java │ │ ├── WxDomain.java │ │ ├── WxDomainEnum.java │ │ ├── v2 │ │ │ ├── CouponApiEnum.java │ │ │ ├── CustomDeclareApiEnum.java │ │ │ ├── DepositApiEnum.java │ │ │ ├── EntrustPayApiEnum.java │ │ │ ├── FacePayApiEnum.java │ │ │ ├── MicroMchApiEnum.java │ │ │ ├── PayApiEnum.java │ │ │ ├── ProfitSharingApiEnum.java │ │ │ ├── RedPackApiEnum.java │ │ │ └── TransferApiEnum.java │ │ ├── v3 │ │ │ ├── Apply4SubApiEnum.java │ │ │ ├── BasePayApiEnum.java │ │ │ ├── BrandProfitSharingApiEnum.java │ │ │ ├── BusinessCircleApiEnum.java │ │ │ ├── CertAlgorithmTypeEnum.java │ │ │ ├── ComplaintsApiEnum.java │ │ │ ├── CouponApiEnum.java │ │ │ ├── EcommerceApiEnum.java │ │ │ ├── EduPaPayEnum.java │ │ │ ├── GoldPlanApiEnum.java │ │ │ ├── InvoiceApiEnum.java │ │ │ ├── OtherApiEnum.java │ │ │ ├── ParkingApiEnum.java │ │ │ ├── PayGiftActivityApiEnum.java │ │ │ ├── PayScoreApiEnum.java │ │ │ ├── PayrollCardApiEnum.java │ │ │ ├── ProfitSharingApiEnum.java │ │ │ ├── SmartGuideApiEnum.java │ │ │ ├── TransferApiEnum.java │ │ │ └── ViolationNotificationApiEnum.java │ │ └── xpay │ │ │ ├── XPayApiEnum.java │ │ │ └── package-info.java │ │ └── model │ │ ├── AuthCodeToOpenIdModel.java │ │ ├── AuthInfoModel.java │ │ ├── BatchQueryCommentModel.java │ │ ├── CloseOrderModel.java │ │ ├── CustomDeclareModel.java │ │ ├── DepositConsume.java │ │ ├── DownloadBillModel.java │ │ ├── DownloadFundFlowModel.java │ │ ├── GetHbInfoModel.java │ │ ├── GetPublicKeyModel.java │ │ ├── GetTransferInfoModel.java │ │ ├── MicroPayModel.java │ │ ├── OrderQueryModel.java │ │ ├── PayBankModel.java │ │ ├── ProfitSharingModel.java │ │ ├── ProfitSharingReturn.java │ │ ├── QueryTrans2PocketModel.java │ │ ├── QueryWorkWxRedPackModel.java │ │ ├── ReceiverModel.java │ │ ├── RefundModel.java │ │ ├── RefundQueryModel.java │ │ ├── ReportModel.java │ │ ├── ReverseModel.java │ │ ├── SendRedPackModel.java │ │ ├── SendWorkWxRedPackModel.java │ │ ├── ShortUrlModel.java │ │ ├── Trans2PocketModel.java │ │ ├── TransferModel.java │ │ ├── UnifiedOrderModel.java │ │ └── v3 │ │ ├── AddReceivers.java │ │ ├── Amount.java │ │ ├── BatchTransferModel.java │ │ ├── Certificate.java │ │ ├── CertificateInfo.java │ │ ├── Detail.java │ │ ├── EncryptCertificate.java │ │ ├── GoodsDetail.java │ │ ├── H5Info.java │ │ ├── Payer.java │ │ ├── ProfitSharingModel.java │ │ ├── RefundAmount.java │ │ ├── RefundGoodsDetail.java │ │ ├── RefundModel.java │ │ ├── SceneInfo.java │ │ ├── SettleInfo.java │ │ ├── StoreInfo.java │ │ ├── TransferDetailInput.java │ │ └── UnifiedOrderModel.java │ └── test │ └── java │ └── com │ └── ijpay │ └── wxpay │ └── WxPayKitTest.java ├── IJPay-XPay ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── ijpay │ └── xpay │ ├── PayApi.java │ ├── PayUrl.java │ ├── enums │ ├── AliPayUrlEnum.java │ └── WxPayUrlEnum.java │ └── model │ └── PayModel.java ├── LICENSE.txt ├── README.md ├── assets └── img │ ├── IJPay-t.png │ ├── aliYun.jpg │ ├── jetbrains.png │ ├── logo.png │ └── tencent.jpg ├── bin ├── check_dependency_updates.sh ├── del_versions_backup.sh ├── deploy.sh ├── install.sh └── update_version.sh ├── packages └── docs │ ├── .gitignore │ ├── deploy.sh │ ├── docs │ ├── .vuepress │ │ ├── components │ │ │ └── Q.vue │ │ ├── config.js │ │ ├── enhanceApp.js │ │ ├── nav │ │ │ ├── en.js │ │ │ └── zh.js │ │ ├── public │ │ │ ├── alipay.png │ │ │ ├── wxpay.jpeg │ │ │ ├── wxpay.png │ │ │ └── zhihu.png │ │ └── styles │ │ │ ├── index.styl │ │ │ └── override.styl │ ├── README.md │ └── guide │ │ ├── README.md │ │ ├── alipay │ │ ├── README.md │ │ ├── extension.md │ │ └── init.md │ │ ├── client │ │ ├── ios.md │ │ └── jpay.md │ │ ├── config │ │ ├── alipay_config.md │ │ └── weixinpay_config.md │ │ ├── donate │ │ └── README.md │ │ ├── http.md │ │ ├── jdpay │ │ └── README.md │ │ ├── maven.md │ │ ├── paypal │ │ └── README.md │ │ ├── qqpay │ │ └── README.md │ │ ├── resource.md │ │ ├── tools │ │ └── frp │ │ │ └── README.md │ │ ├── unionpay │ │ └── README.md │ │ ├── weixin │ │ ├── tnwx.md │ │ └── weixin_guide.md │ │ └── wxpay │ │ ├── README.md │ │ ├── api-v3.md │ │ ├── external.md │ │ └── question.md │ ├── package.json │ └── yarn.lock └── pom.xml /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | # 对所有文件生效 5 | [*] 6 | #缩进风格:空格 7 | indent_style = space 8 | #缩进大小2 9 | indent_size = 2 10 | #换行符lf 11 | end_of_line = lf 12 | #字符集utf-8 13 | charset = utf-8 14 | #是否删除行尾的空格 15 | trim_trailing_whitespace = true 16 | #是否在文件的最后插入一个空行 17 | insert_final_newline = true 18 | 19 | [*.{java,xml}] 20 | indent_style = tab 21 | indent_size = 4 22 | 23 | [*.md] 24 | trim_trailing_whitespace = false 25 | -------------------------------------------------------------------------------- /.gitee/ISSUE_TEMPLATE.zh-CN.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 提交 BUG 模板 3 | about: 提交 BUG 时使用此模板 4 | --- 5 | 6 | ### 版本信息 7 | 8 | - IJPay 版本: 9 | - 开发环境: 10 | - 支付方式: 11 | - 调用的接口: 12 | 13 | ### 报错信息 (注意格式化) 14 | 15 | ``` 16 | 17 | 这里粘贴代码或者日志 18 | 19 | ``` 20 | 21 | ### 问题描述(包括回显步骤、截图 ) 22 | 23 | 此项没有详细描述将直接关闭不给予解决 24 | 25 | ### 预期效果描述 26 | 27 | ### 交流群 28 | 29 | - IJPay 让支付触手可及交流群:723992875、864988890 30 | - TNWX 微信公众号开发脚手架交流群:114196246 31 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | #github: [lets-mica,Pigxcloud,chillzhuang,li-xunhuan] 2 | custom: [ 'https://javen205.github.io/IJPay/guide/donate/','https://github.com/Javen205/donate' ] 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/DEMAND_ISSUE_TEMPLATE.zh-CN.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 提交需求模板 3 | about: 提交需求时使用此模板 4 | --- 5 | 6 | ### 需求描述 7 | 8 | 描述越详细越好 9 | 10 | - 支付平台官方文档 11 | - 是否支持沙箱环境 12 | - 最好能提供测试账号(可以私信) 13 | 14 | ### 交流群 15 | 16 | - IJPay 让支付触手可及交流群:723992875、864988890 17 | - TNWX 微信系开发脚手架交流群:114196246 18 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.zh-CN.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 提交 BUG 模板 3 | about: 提交 BUG 时使用此模板 4 | --- 5 | 6 | ### 版本信息 7 | 8 | - IJPay 版本: 9 | - 开发环境: 10 | - 支付方式: 11 | - 调用的接口: 12 | 13 | ### 报错信息 (注意格式化) 14 | 15 | ``` 16 | 17 | 这里粘贴代码或者日志 18 | 19 | ``` 20 | 21 | ### 问题描述(包括回显步骤、截图 ) 22 | 23 | 此项没有详细描述将直接关闭不给予解决 24 | 25 | ### 预期效果描述 26 | 27 | ### 交流群 28 | 29 | - IJPay 让支付触手可及交流群:723992875、864988890 30 | - TNWX 微信系开发脚手架交流群:114196246 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Eclipse 2 | .project 3 | .classpath 4 | .settings/ 5 | 6 | ### maven ### 7 | target/ 8 | *.war 9 | *.ear 10 | *.zip 11 | *.tar 12 | *.tar.gz 13 | 14 | ### gradle ### 15 | .gradle 16 | /build/ 17 | !gradle/wrapper/gradle-wrapper.jar 18 | 19 | ### IntelliJ IDEA ### 20 | .idea 21 | *.iws 22 | *.iml 23 | *.ipr 24 | rebel.xml 25 | 26 | ### temp ignore ### 27 | *.cache 28 | *.diff 29 | *.patch 30 | *.tmp 31 | *.java~ 32 | *.properties~ 33 | *.xml~ 34 | 35 | ### system ignore ### 36 | .DS_Store 37 | Thumbs.db 38 | Servers 39 | .metadata 40 | upload 41 | gen_code 42 | 43 | ### STS ### 44 | .apt_generated 45 | .factorypath 46 | .settings 47 | .springBeans 48 | .sts4-cache 49 | 50 | ### NetBeans ### 51 | /nbproject/private/ 52 | /nbbuild/ 53 | /dist/ 54 | /nbdist/ 55 | /.nb-gradle/ 56 | build/ 57 | 58 | ### VS Code ### 59 | .vscode/ 60 | .circleci 61 | 62 | dev/* 63 | *.log -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | 3 | sudo: false 4 | 5 | install: true 6 | 7 | jdk: 8 | - openjdk8 9 | 10 | notifications: 11 | email: 12 | recipients: 13 | - javendev@126.com 14 | on_success: never 15 | on_failure: always 16 | 17 | script: 18 | - export TZ=Asia/Shanghai 19 | - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V 20 | - mvn cobertura:cobertura -Dcobertura.report.format=xml -Dmaven.javadoc.skip.true 21 | 22 | after_success: 23 | - bash <(curl -s https://codecov.io/bash) 24 | -------------------------------------------------------------------------------- /IJPay-AliPay/src/main/java/enums/SignType.java: -------------------------------------------------------------------------------- 1 | package enums; 2 | 3 | /** 4 | *
IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *签名方式
13 | * 14 | * @author Javen 15 | */ 16 | public enum SignType { 17 | /** 18 | * MD5 加密 19 | */ 20 | MD5("MD5"), 21 | /** 22 | * RSA2 23 | */ 24 | RSA2("RSA2"), 25 | /** 26 | * RSA 27 | */ 28 | RSA("RSA"); 29 | 30 | SignType(String type) { 31 | this.type = type; 32 | } 33 | 34 | private final String type; 35 | 36 | public String getType() { 37 | return type; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /IJPay-All/src/main/java/com/ijpay/IJPay.java: -------------------------------------------------------------------------------- 1 | package com.ijpay; 2 | 3 | /** 4 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *Gitee: https://gitee.com/javen205/IJPay
9 | *Github: https://gitee.com/javen205/IJPay
10 | * 11 | * @author Javen 12 | */ 13 | public class IJPay { 14 | public static final String DESCRIBE = "IJPay 让支付触手可及"; 15 | 16 | private IJPay() { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /IJPay-Core/src/main/java/com/ijpay/core/enums/PayModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.core.enums; 2 | 3 | 4 | /** 5 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
6 | * 7 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
8 | * 9 | *IJPay 交流群: 723992875、864988890
10 | * 11 | *Node.js 版: https://gitee.com/javen205/TNWX
12 | * 13 | *商户平台模式
14 | * 15 | * @author Javen 16 | */ 17 | public enum PayModel { 18 | /** 19 | * 商户模式 20 | */ 21 | BUSINESS_MODEL("BUSINESS_MODEL"), 22 | /** 23 | * 服务商模式 24 | */ 25 | SERVICE_MODE("SERVICE_MODE"); 26 | 27 | PayModel(String payModel) { 28 | this.payModel = payModel; 29 | } 30 | 31 | /** 32 | * 商户模式 33 | */ 34 | private final String payModel; 35 | 36 | 37 | public String getPayModel() { 38 | return payModel; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-Core/src/main/java/com/ijpay/core/enums/RequestMethodEnum.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.core.enums; 2 | 3 | /** 4 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *HTTP 请求的方法
13 | * 14 | * @author Javen 15 | */ 16 | public enum RequestMethodEnum { 17 | /** 18 | * 上传实质是 post 请求 19 | */ 20 | UPLOAD("POST"), 21 | /** 22 | * post 请求 23 | */ 24 | POST("POST"), 25 | /** 26 | * get 请求 27 | */ 28 | GET("GET"), 29 | /** 30 | * put 请求 31 | */ 32 | PUT("PUT"), 33 | /** 34 | * delete 请求 35 | */ 36 | DELETE("DELETE"), 37 | /** 38 | * options 请求 39 | */ 40 | OPTIONS("OPTIONS"), 41 | /** 42 | * head 请求 43 | */ 44 | HEAD("HEAD"), 45 | /** 46 | * trace 请求 47 | */ 48 | TRACE("TRACE"), 49 | /** 50 | * connect 请求 51 | */ 52 | CONNECT("CONNECT"), 53 | /** 54 | * PATCH 请求 55 | */ 56 | PATCH("PATCH"), 57 | ; 58 | 59 | private final String method; 60 | 61 | RequestMethodEnum(String method) { 62 | this.method = method; 63 | } 64 | 65 | @Override 66 | public String toString() { 67 | return this.method; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /IJPay-Core/src/main/java/com/ijpay/core/enums/SignType.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.core.enums; 2 | 3 | /** 4 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *签名方式
13 | * 14 | * @author Javen 15 | */ 16 | public enum SignType { 17 | /** 18 | * HMAC-SHA256 加密 19 | */ 20 | HMACSHA256("HMAC-SHA256"), 21 | /** 22 | * MD5 加密 23 | */ 24 | MD5("MD5"), 25 | /** 26 | * RSA 27 | */ 28 | RSA("RSA"); 29 | 30 | SignType(String type) { 31 | this.type = type; 32 | } 33 | 34 | private final String type; 35 | 36 | public String getType() { 37 | return type; 38 | } 39 | 40 | @Override 41 | public String toString() { 42 | return type; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /IJPay-Core/src/main/java/com/ijpay/core/enums/TradeType.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.core.enums; 2 | 3 | /** 4 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *支付方式
13 | * 14 | * @author Javen 15 | */ 16 | public enum TradeType { 17 | /** 18 | * 微信公众号支付或者小程序支付 19 | */ 20 | JSAPI("JSAPI"), 21 | /** 22 | * 微信扫码支付 23 | */ 24 | NATIVE("NATIVE"), 25 | /** 26 | * 微信APP支付 27 | */ 28 | APP("APP"), 29 | /** 30 | * 付款码支付 31 | */ 32 | MICROPAY("MICROPAY"), 33 | /** 34 | * H5支付 35 | */ 36 | MWEB("MWEB"); 37 | 38 | TradeType(String tradeType) { 39 | this.tradeType = tradeType; 40 | } 41 | 42 | /** 43 | * 交易类型 44 | */ 45 | private final String tradeType; 46 | 47 | public String getTradeType() { 48 | return tradeType; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /IJPay-Core/src/main/java/com/ijpay/core/kit/IpKit.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.core.kit; 2 | // 3 | // Source code recreated from a .class file by IntelliJ IDEA 4 | // (powered by Fernflower decompiler) 5 | // 6 | 7 | import javax.servlet.http.HttpServletRequest; 8 | 9 | /** 10 | * @author Javen 11 | */ 12 | public class IpKit { 13 | public IpKit() { 14 | } 15 | 16 | public static String getRealIp(HttpServletRequest request) { 17 | String ip = request.getHeader("x-forwarded-for"); 18 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 19 | ip = request.getHeader("Proxy-Client-IP"); 20 | } 21 | 22 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 23 | ip = request.getHeader("WL-Proxy-Client-IP"); 24 | } 25 | 26 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 27 | ip = request.getRemoteAddr(); 28 | } 29 | 30 | // 对于通过多个代理的情况,第一个 IP 为客户端真实 IP,多个IP按照','分割 31 | if (ip != null && ip.length() > 15) { 32 | if (ip.indexOf(",") > 0) { 33 | ip = ip.substring(0, ip.indexOf(",")); 34 | } 35 | } 36 | return ip; 37 | } 38 | 39 | public static String getRealIpV2(HttpServletRequest request) { 40 | String accessIp = request.getHeader("x-forwarded-for"); 41 | return null == accessIp ? request.getRemoteAddr() : accessIp; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /IJPay-Core/src/test/java/com/ijpay/core/PayKitTest.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.core; 2 | 3 | 4 | import cn.hutool.core.date.DateUtil; 5 | import com.ijpay.core.kit.PayKit; 6 | import com.ijpay.core.model.CertificateModel; 7 | import org.junit.Assert; 8 | import org.junit.Test; 9 | 10 | import java.util.Date; 11 | 12 | public class PayKitTest { 13 | 14 | @Test 15 | public void checkCertificateIsValid() { 16 | CertificateModel model = new CertificateModel(); 17 | model.setNotAfter(DateUtil.offsetDay(new Date(), 2)); 18 | boolean isValid = PayKit.checkCertificateIsValid(model, "", -1); 19 | Assert.assertFalse(isValid); 20 | } 21 | 22 | @Test 23 | public void checkCertificateIsValidByPath() { 24 | String path = ""; 25 | boolean isValid = PayKit.checkCertificateIsValid(path, "", -2); 26 | Assert.assertFalse(isValid); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /IJPay-Demo-JFinal/.gitignore: -------------------------------------------------------------------------------- 1 | /src/main/resources/dev/ -------------------------------------------------------------------------------- /IJPay-Demo-JFinal/___极速打包部署.txt: -------------------------------------------------------------------------------- 1 | 1:命令行进入项目根目录,然后运行 mvn clean package 即可打包 2 | 3 | 2:打包完后,进入 IJPay-JFinal-Demo/target/IJPay-JFinal-Demo-release/IJPay-JFinal-Demo 4 | 目录, linux 下启动、关闭、重启项目的命令分别为: 5 | ./jfinal.sh start 6 | ./jfinal.sh stop 7 | ./jfinal.sh restart 8 | 9 | windows 下启动、关闭、重启项目的命令分别为: 10 | jfinal.bat start 11 | jfinal.bat stop 12 | jfinal.bat restart 13 | 14 | 注意 IJPay-JFinal-Demo/target 目录下面还会有一个 IJPay-JFinal-Demo-release.zip 文件 15 | 该文件等价于对 target/IJPay-JFinal-Demo-release/IJPay-JFinal-Demo 16 | 目录进行的压缩,方便上传到服务器上解压即部署,可通过删除 package.xml 中的TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
12 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
14 | mica
工具集:https://gitee.com/596392912/mica
16 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
18 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
20 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
22 | 响应结果 | 19 |
---|
TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
13 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
15 | mica
工具集:https://gitee.com/596392912/mica
17 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
19 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
21 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
23 | TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
13 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
15 | mica
工具集:https://gitee.com/596392912/mica
17 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
19 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
21 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
23 | TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
13 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
15 | mica
工具集:https://gitee.com/596392912/mica
17 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
19 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
21 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
23 | IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
8 | * 9 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
10 | * 11 | *IJPay 交流群: 723992875、864988890
12 | * 13 | *Node.js 版: https://gitee.com/javen205/TNWX
14 | * 15 | * @author Javen 16 | */ 17 | public class DemoApplication { 18 | public static void main(String[] args) { 19 | Solon.start(DemoApplication.class, args); 20 | } 21 | } 22 | 23 | 24 | -------------------------------------------------------------------------------- /IJPay-Demo-Solon/src/main/java/com/ijpay/demo/controller/alipay/AbstractAliPayApiController.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.demo.controller.alipay; 2 | 3 | import com.alipay.api.AlipayApiException; 4 | import com.ijpay.alipay.AliPayApiConfig; 5 | 6 | /** 7 | * @author Javen 8 | */ 9 | public abstract class AbstractAliPayApiController { 10 | /** 11 | * 获取支付宝配置 12 | * 13 | * @return {@link AliPayApiConfig} 支付宝配置 14 | * @throws AlipayApiException 支付宝 Api 异常 15 | */ 16 | public abstract AliPayApiConfig getApiConfig() throws AlipayApiException; 17 | } 18 | -------------------------------------------------------------------------------- /IJPay-Demo-Solon/src/main/java/com/ijpay/demo/controller/wxpay/AbstractWxPayApiController.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.demo.controller.wxpay; 2 | 3 | 4 | import com.ijpay.wxpay.WxPayApiConfig; 5 | 6 | /** 7 | * @author Javen 8 | */ 9 | public abstract class AbstractWxPayApiController { 10 | /** 11 | * 获取微信支付配置 12 | * 13 | * @return {@link WxPayApiConfig} 微信支付配置 14 | */ 15 | public abstract WxPayApiConfig getApiConfig(); 16 | } 17 | -------------------------------------------------------------------------------- /IJPay-Demo-Solon/src/main/java/com/ijpay/demo/kit/IpKit.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.demo.kit; 2 | 3 | import org.noear.solon.core.handle.Context; 4 | 5 | /** 6 | * @author Javen 7 | */ 8 | public class IpKit { 9 | private final static String UNKNOWN = "unknown"; 10 | 11 | public static String getRealIp(Context ctx) { 12 | return ctx.realIp(); 13 | } 14 | 15 | public static String getRealIpV2(Context ctx) { 16 | String accessIp = ctx.header("x-forwarded-for"); 17 | if (null == accessIp) { 18 | return ctx.ip(); 19 | } 20 | 21 | return accessIp; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /IJPay-Demo-Solon/src/main/resources/WEB-INF/static/css/demos.css: -------------------------------------------------------------------------------- 1 | body, html { 2 | height: 100%; 3 | -webkit-tap-highlight-color: transparent; 4 | } 5 | 6 | .demos-title { 7 | text-align: center; 8 | font-size: 34px; 9 | color: #3cc51f; 10 | font-weight: 400; 11 | margin: 0 15%; 12 | } 13 | 14 | .demos-sub-title { 15 | text-align: center; 16 | color: #888; 17 | font-size: 14px; 18 | } 19 | 20 | .demos-header { 21 | padding: 35px 0; 22 | } 23 | 24 | .demos-content-padded { 25 | padding: 15px; 26 | } 27 | 28 | .demos-second-title { 29 | text-align: center; 30 | font-size: 24px; 31 | color: #3cc51f; 32 | font-weight: 400; 33 | margin: 0 15%; 34 | } 35 | 36 | footer { 37 | text-align: center; 38 | font-size: 14px; 39 | padding: 20px; 40 | } 41 | 42 | footer a { 43 | color: #999; 44 | text-decoration: none; 45 | } 46 | -------------------------------------------------------------------------------- /IJPay-Demo-Solon/src/main/resources/WEB-INF/static/css/keyboard.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | html, body { 3 | width: 100%; 4 | height: 100%; 5 | margin: 0 auto; 6 | padding: 0px; 7 | background-color: #EFEFF4; 8 | } 9 | 10 | .payinfo { 11 | display: none; 12 | } 13 | 14 | table { 15 | width: 100%; 16 | height: 50%; 17 | position: absolute; 18 | bottom: 0; 19 | background-color: white; 20 | background-top: none; 21 | } 22 | 23 | table tr td { 24 | text-align: center; 25 | width: 24.9999999%; 26 | border-right: 1px solid #D9D9D9; 27 | border-bottom: 1px solid #D9D9D9; 28 | } 29 | 30 | table tr td:active { 31 | background-color: #ECECEC; 32 | } 33 | 34 | .keybord-return, .keybord-stop { 35 | width: 30px; 36 | height: 30px; 37 | margin: 0px auto; 38 | color: white; 39 | } 40 | 41 | .keybord-return { 42 | background-image: url(../images/keybord-return.png); 43 | background-size: 100% 90%; 44 | } 45 | 46 | .keybord-stop { 47 | background-image: url(../images/keybord-stop.png); 48 | background-size: 90% 90%; 49 | } 50 | 51 | .pay { 52 | color: #ffffff; 53 | font-size: 120%; 54 | background-color: #1AAD19; 55 | } 56 | 57 | .pay:active { 58 | background-color: #179B16; 59 | } 60 | -------------------------------------------------------------------------------- /IJPay-Demo-Solon/src/main/resources/WEB-INF/static/error/401.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
13 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
15 | mica
工具集:https://gitee.com/596392912/mica
17 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
19 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
21 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
23 | TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
14 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
16 | mica
工具集:https://gitee.com/596392912/mica
18 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
20 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
22 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
24 | TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
13 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
15 | mica
工具集:https://gitee.com/596392912/mica
17 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
19 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
21 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
23 | TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
12 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
14 | mica
工具集:https://gitee.com/596392912/mica
16 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
18 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
20 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
22 | 响应结果 | 19 |
---|
IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
10 | * 11 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
12 | * 13 | *IJPay 交流群: 723992875、864988890
14 | * 15 | *Node.js 版: https://gitee.com/javen205/TNWX
16 | * 17 | * @author Javen 18 | */ 19 | @SpringBootApplication 20 | public class DemoApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(DemoApplication.class, args); 24 | } 25 | 26 | @Bean 27 | public StartupRunner startupRunner() { 28 | return new StartupRunner(); 29 | } 30 | } 31 | 32 | 33 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/java/com/ijpay/demo/config/EnjoyConfig.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.demo.config; 2 | 3 | import com.jfinal.template.ext.spring.JFinalViewResolver; 4 | import com.jfinal.template.source.ClassPathSourceFactory; 5 | import org.springframework.context.annotation.Bean; 6 | import org.springframework.context.annotation.Configuration; 7 | 8 | 9 | @Configuration 10 | public class EnjoyConfig { 11 | @Bean(name = "jfinalViewResolver") 12 | public JFinalViewResolver getJFinalViewResolver() { 13 | JFinalViewResolver jfr = new JFinalViewResolver(); 14 | // setDevMode 配置放在最前面 15 | jfr.setDevMode(true); 16 | 17 | // 使用 ClassPathSourceFactory 从 class path 与 jar 包中加载模板文件 18 | jfr.setSourceFactory(new ClassPathSourceFactory()); 19 | 20 | // 在使用 ClassPathSourceFactory 时要使用 setBaseTemplatePath 21 | // 代替 jfr.setPrefix("/view/") 22 | JFinalViewResolver.engine.setBaseTemplatePath("/view/"); 23 | 24 | //jfr.setSuffix(".html"); 25 | jfr.setContentType("text/html;charset=UTF-8"); 26 | jfr.setOrder(0); 27 | return jfr; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/java/com/ijpay/demo/config/StartupRunner.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.demo.config; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.boot.CommandLineRunner; 6 | import org.springframework.core.annotation.Order; 7 | 8 | @Order(1) 9 | public class StartupRunner implements CommandLineRunner { 10 | private static final Logger logger = LoggerFactory.getLogger(StartupRunner.class); 11 | 12 | @Override 13 | public void run(String... args) { 14 | logger.info("startup runner"); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/java/com/ijpay/demo/controller/alipay/AbstractAliPayApiController.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.demo.controller.alipay; 2 | 3 | import com.alipay.api.AlipayApiException; 4 | import com.ijpay.alipay.AliPayApiConfig; 5 | 6 | /** 7 | * @author Javen 8 | */ 9 | public abstract class AbstractAliPayApiController { 10 | /** 11 | * 获取支付宝配置 12 | * 13 | * @return {@link AliPayApiConfig} 支付宝配置 14 | * @throws AlipayApiException 支付宝 Api 异常 15 | */ 16 | public abstract AliPayApiConfig getApiConfig() throws AlipayApiException; 17 | } 18 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/java/com/ijpay/demo/controller/wxpay/AbstractWxPayApiController.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.demo.controller.wxpay; 2 | 3 | 4 | import com.ijpay.wxpay.WxPayApiConfig; 5 | 6 | /** 7 | * @author Javen 8 | */ 9 | public abstract class AbstractWxPayApiController { 10 | /** 11 | * 获取微信支付配置 12 | * 13 | * @return {@link WxPayApiConfig} 微信支付配置 14 | */ 15 | public abstract WxPayApiConfig getApiConfig(); 16 | } 17 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/java/com/ijpay/demo/kit/IpKit.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.demo.kit; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | 5 | /** 6 | * @author Javen 7 | */ 8 | public class IpKit { 9 | private final static String UNKNOWN = "unknown"; 10 | 11 | public static String getRealIp(HttpServletRequest request) { 12 | String ip = request.getHeader("x-forwarded-for"); 13 | if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { 14 | ip = request.getHeader("Proxy-Client-IP"); 15 | } 16 | if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { 17 | ip = request.getHeader("WL-Proxy-Client-IP"); 18 | } 19 | if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { 20 | ip = request.getRemoteAddr(); 21 | } 22 | return ip; 23 | } 24 | 25 | public static String getRealIpV2(HttpServletRequest request) { 26 | String accessIp = request.getHeader("x-forwarded-for"); 27 | if (null == accessIp) { 28 | return request.getRemoteAddr(); 29 | } 30 | return accessIp; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 80 3 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | 2 | ,--. ,--.,------. ,---. ,--. ,-----. ,--. 3 | | | | || .--. ' ,--,--.,--. ,--. ' .-' ,---. ,--.--.`--',--,--, ,---. | |) /_ ,---. ,---. ,-' '-. 4 | | |,--. | || '--' |' ,-. | \ ' / `. `-. | .-. || .--',--.| \| .-. || .-. \| .-. || .-. |'-. .-' 5 | | || '-' /| | --' \ '-' | \ ' .-' || '-' '| | | || || |' '-' '| '--' /' '-' '' '-' ' | | 6 | `--' `-----' `--' `--`--'.-' / `-----' | |-' `--' `--'`--''--'.`- / `------' `---' `---' `--' 7 | `---' `--' `---' 8 | IJPay 让支付触手可及,QQ交流群:723992875、864988890 9 | TNWX 微信系开发脚手架已支持微信支付 https://gitee.com/javen205/TNWX 10 | 11 | ,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----. 12 | '-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----' 13 | 14 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/production/alipay.properties: -------------------------------------------------------------------------------- 1 | alipay.appId=\u5E94\u7528\u7F16\u53F7 2 | alipay.privateKey=\u5E94\u7528\u79C1\u94A5 3 | alipay.publicKey=\u652F\u4ED8\u5B9D\u516C\u94A5\uFF0C\u901A\u8FC7\u5E94\u7528\u516C\u94A5\u4E0A\u4F20\u5230\u652F\u4ED8\u5B9D\u5F00\u653E\u5E73\u53F0\u6362\u53D6\u652F\u4ED8\u5B9D\u516C\u94A5(\u5982\u679C\u662F\u8BC1\u4E66\u6A21\u5F0F\uFF0C\u516C\u94A5\u4E0E\u79C1\u94A5\u5728CSR\u76EE\u5F55)\u3002 4 | alipay.appCertPath=\u5E94\u7528\u516C\u94A5\u8BC1\u4E66 5 | alipay.aliPayCertPath=\u652F\u4ED8\u5B9D\u516C\u94A5\u8BC1\u4E66 6 | alipay.aliPayRootCertPath=\u652F\u4ED8\u5B9D\u6839\u8BC1\u4E66 7 | alipay.serverUrl=\u652F\u4ED8\u5B9D\u652F\u4ED8\u7F51\u5173\uFF0C\u6C99\u7BB1\u73AF\u5883\u65F6\u8BBE\u7F6E\u4E3A https://openapi.alipaydev.com/gateway.do \u4F7F\u7528\u6B63\u5F0F\u73AF\u5883\u65F6\u8BBE\u7F6E\u4E3A https://openapi.alipay.com/gateway.do 8 | alipay.domain=\u5916\u7F51\u8BBF\u95EE\u9879\u76EE\u7684\u57DF\u540D\uFF0C\u652F\u4ED8\u901A\u77E5\u4E2D\u4F1A\u4F7F\u7528 -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/production/jdpay.properties: -------------------------------------------------------------------------------- 1 | jdpay.mchId=xx 2 | jdpay.rsaPrivateKey=xx 3 | jdpay.desKey=xx 4 | jdpay.rsaPublicKey=xx 5 | jdpay.certPath=xx -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/production/paypal.properties: -------------------------------------------------------------------------------- 1 | paypal.clientId=clientId 2 | paypal.secret=secret 3 | paypal.sandBox=true 4 | paypal.domain=domain 5 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/production/sub_wxpay.properties: -------------------------------------------------------------------------------- 1 | subwxpay.appId=\u670D\u52A1\u5546\u7684\u5E94\u7528\u7F16\u53F7 2 | subwxpay.subAppId=\u5B50\u5546\u6237\u53F7\u7684\u5E94\u7528\u7F16\u53F7 3 | subwxpay.appSecret=\u670D\u52A1\u5546\u7684 appSecret 4 | subwxpay.subAppSecret=\u5B50\u5546\u6237\u7684appSecret 5 | subwxpay.mchId=\u5FAE\u4FE1\u652F\u4ED8\u5546\u6237\u53F7 6 | subwxpay.subMchId=\u5B50\u5546\u6237\u53F7 7 | subwxpay.partnerKey=API \u5BC6\u94A5 8 | subwxpay.certPath=apiclient_cert.p1 \u8BC1\u4E66\u8DEF\u5F84\uFF0C\u5728\u670D\u52A1\u5546\u5FAE\u4FE1\u5546\u6237\u540E\u53F0\u4E0B\u8F7D 9 | subwxpay.domain=\u5916\u7F51\u8BBF\u95EE\u9879\u76EE\u7684\u57DF\u540D\uFF0C\u652F\u4ED8\u901A\u77E5\u4E2D\u4F1A\u4F7F\u7528 -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/production/unionpay.properties: -------------------------------------------------------------------------------- 1 | union.machId=\u5546\u6237\u53F7 2 | union.key=\u5BC6\u94A5 3 | union.serverUrl=https://qra.95516.com/pay/gateway 4 | union.domain=\u5916\u7F51\u8BBF\u95EE\u9879\u76EE\u7684\u57DF\u540D\uFF0C\u652F\u4ED8\u901A\u77E5\u4E2D\u4F1A\u4F7F\u7528 5 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/production/wxpay.properties: -------------------------------------------------------------------------------- 1 | wxpay.appId=\u5E94\u7528\u7F16\u53F7 2 | wxpay.appSecret=appSecret \u662F appId \u5BF9\u5E94\u7684\u63A5\u53E3\u5BC6\u7801\uFF0C\u5FAE\u4FE1\u516C\u4F17\u53F7\u6388\u6743\u83B7\u53D6\u7528\u6237 openId \u65F6\u4F7F\u7528 3 | wxpay.mchId=\u5FAE\u4FE1\u652F\u4ED8\u5546\u6237\u53F7 4 | wxpay.partnerKey=API \u5BC6\u94A5 5 | wxpay.certPath=apiclient_cert.p1 \u8BC1\u4E66\u8DEF\u5F84\uFF0C\u5728\u5FAE\u4FE1\u5546\u6237\u540E\u53F0\u4E0B\u8F7D 6 | wxpay.domain=\u5916\u7F51\u8BBF\u95EE\u9879\u76EE\u7684\u57DF\u540D\uFF0C\u652F\u4ED8\u901A\u77E5\u4E2D\u4F1A\u4F7F\u7528 -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/production/wxpay_v3.properties: -------------------------------------------------------------------------------- 1 | v3.appId=\u5E94\u7528\u7F16\u53F7 2 | v3.keyPath=key.pem 3 | v3.certPath=cert.pem 4 | v3.certP12Path=cert.p12 5 | v3.platformCertPath=wx_cert.pem 6 | v3.mchId=\u5FAE\u4FE1\u5546\u6237\u53F7 7 | v3.apiKey3=Api-v3 \u5BC6\u94A5 8 | v3.apiKey=Api \u5BC6\u94A5 9 | v3.domain=https://ijpay.javen.com 10 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/static/css/demos.css: -------------------------------------------------------------------------------- 1 | body, html { 2 | height: 100%; 3 | -webkit-tap-highlight-color: transparent; 4 | } 5 | 6 | .demos-title { 7 | text-align: center; 8 | font-size: 34px; 9 | color: #3cc51f; 10 | font-weight: 400; 11 | margin: 0 15%; 12 | } 13 | 14 | .demos-sub-title { 15 | text-align: center; 16 | color: #888; 17 | font-size: 14px; 18 | } 19 | 20 | .demos-header { 21 | padding: 35px 0; 22 | } 23 | 24 | .demos-content-padded { 25 | padding: 15px; 26 | } 27 | 28 | .demos-second-title { 29 | text-align: center; 30 | font-size: 24px; 31 | color: #3cc51f; 32 | font-weight: 400; 33 | margin: 0 15%; 34 | } 35 | 36 | footer { 37 | text-align: center; 38 | font-size: 14px; 39 | padding: 20px; 40 | } 41 | 42 | footer a { 43 | color: #999; 44 | text-decoration: none; 45 | } 46 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/static/css/keyboard.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | html, body { 3 | width: 100%; 4 | height: 100%; 5 | margin: 0 auto; 6 | padding: 0px; 7 | background-color: #EFEFF4; 8 | } 9 | 10 | .payinfo { 11 | display: none; 12 | } 13 | 14 | table { 15 | width: 100%; 16 | height: 50%; 17 | position: absolute; 18 | bottom: 0; 19 | background-color: white; 20 | background-top: none; 21 | } 22 | 23 | table tr td { 24 | text-align: center; 25 | width: 24.9999999%; 26 | border-right: 1px solid #D9D9D9; 27 | border-bottom: 1px solid #D9D9D9; 28 | } 29 | 30 | table tr td:active { 31 | background-color: #ECECEC; 32 | } 33 | 34 | .keybord-return, .keybord-stop { 35 | width: 30px; 36 | height: 30px; 37 | margin: 0px auto; 38 | color: white; 39 | } 40 | 41 | .keybord-return { 42 | background-image: url(../images/keybord-return.png); 43 | background-size: 100% 90%; 44 | } 45 | 46 | .keybord-stop { 47 | background-image: url(../images/keybord-stop.png); 48 | background-size: 90% 90%; 49 | } 50 | 51 | .pay { 52 | color: #ffffff; 53 | font-size: 120%; 54 | background-color: #1AAD19; 55 | } 56 | 57 | .pay:active { 58 | background-color: #179B16; 59 | } 60 | -------------------------------------------------------------------------------- /IJPay-Demo-SpringBoot/src/main/resources/static/error/401.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
13 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
15 | mica
工具集:https://gitee.com/596392912/mica
17 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
19 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
21 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
23 | TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
14 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
16 | mica
工具集:https://gitee.com/596392912/mica
18 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
20 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
22 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
24 | TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
13 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
15 | mica
工具集:https://gitee.com/596392912/mica
17 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
19 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
21 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
23 | TNWX
微信系开发脚手架:https://gitee.com/javen205/TNWX
12 | IJPay
让支付触手可及:https://gitee.com/javen205/IJPay
14 | mica
工具集:https://gitee.com/596392912/mica
16 | Avue
一款基于 vue 可配置化的神奇框架:https://gitee.com/smallweigit/avue
18 | pig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pig
20 | SpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBlade
22 | 响应结果 | 19 |
---|
IJPay 让支付触手可及,封装了微信支付、支付宝支付、京东支付、银联支付常用的支付方式以及各种常用的接口。
9 | * 10 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
11 | * 12 | *IJPay 交流群: 723992875、864988890
13 | * 14 | *Node.js 版: https://gitee.com/javen205/TNWX
15 | * 16 | *京东支付常用配置
17 | * 18 | * @author Javen 19 | */ 20 | 21 | @Getter 22 | @Setter 23 | @Builder 24 | @AllArgsConstructor 25 | @NoArgsConstructor 26 | public class JdPayApiConfig implements Serializable { 27 | private static final long serialVersionUID = -9044503427692786302L; 28 | 29 | private String appId; 30 | private String mchId; 31 | private String rsaPrivateKey; 32 | private String rsaPublicKey; 33 | private String desKey; 34 | private String domain; 35 | private String certPath; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-JDPay/src/main/java/com/ijpay/jdpay/model/JdRequestModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *请求参数 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.jdpay.model; 15 | 16 | import lombok.AllArgsConstructor; 17 | import lombok.Builder; 18 | import lombok.Data; 19 | import lombok.EqualsAndHashCode; 20 | import lombok.NoArgsConstructor; 21 | import lombok.experimental.Accessors; 22 | 23 | @Builder 24 | @AllArgsConstructor 25 | @NoArgsConstructor 26 | @Data 27 | @EqualsAndHashCode(callSuper = false) 28 | @Accessors(chain = true) 29 | public class JdRequestModel extends JdBaseModel { 30 | private String version; 31 | private String merchant; 32 | private String encrypt; 33 | } 34 | -------------------------------------------------------------------------------- /IJPay-JDPay/src/main/java/com/ijpay/jdpay/model/QueryBaiTiaoFqModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *白条分期策略查询接口 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.jdpay.model; 15 | 16 | import lombok.AllArgsConstructor; 17 | import lombok.Builder; 18 | import lombok.Data; 19 | import lombok.EqualsAndHashCode; 20 | import lombok.NoArgsConstructor; 21 | import lombok.experimental.Accessors; 22 | 23 | @Builder 24 | @AllArgsConstructor 25 | @NoArgsConstructor 26 | @Data 27 | @EqualsAndHashCode(callSuper = false) 28 | @Accessors(chain = true) 29 | public class QueryBaiTiaoFqModel extends JdBaseModel { 30 | private String version; 31 | private String merchant; 32 | private String tradeNum; 33 | private String amount; 34 | private String sign; 35 | } 36 | -------------------------------------------------------------------------------- /IJPay-JDPay/src/main/java/com/ijpay/jdpay/model/QueryOrderModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *交易查询接口 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.jdpay.model; 15 | 16 | import lombok.AllArgsConstructor; 17 | import lombok.Builder; 18 | import lombok.Data; 19 | import lombok.EqualsAndHashCode; 20 | import lombok.NoArgsConstructor; 21 | import lombok.experimental.Accessors; 22 | 23 | @Builder 24 | @AllArgsConstructor 25 | @NoArgsConstructor 26 | @Data 27 | @EqualsAndHashCode(callSuper = false) 28 | @Accessors(chain = true) 29 | public class QueryOrderModel extends JdBaseModel { 30 | private String version; 31 | private String merchant; 32 | private String tradeNum; 33 | private String oTradeNum; 34 | private String tradeType; 35 | private String sign; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-JDPay/src/main/java/com/ijpay/jdpay/model/RefundModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *退款申请接口 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.jdpay.model; 15 | 16 | import lombok.AllArgsConstructor; 17 | import lombok.Builder; 18 | import lombok.Data; 19 | import lombok.EqualsAndHashCode; 20 | import lombok.NoArgsConstructor; 21 | import lombok.experimental.Accessors; 22 | 23 | @Builder 24 | @AllArgsConstructor 25 | @NoArgsConstructor 26 | @Data 27 | @EqualsAndHashCode(callSuper = false) 28 | @Accessors(chain = true) 29 | public class RefundModel extends JdBaseModel { 30 | private String version; 31 | private String merchant; 32 | private String tradeNum; 33 | private String oTradeNum; 34 | private String amount; 35 | private String currency; 36 | private String tradeTime; 37 | private String notifyUrl; 38 | private String note; 39 | private String sign; 40 | private String device; 41 | private String termInfoId; 42 | private String cert; 43 | } 44 | -------------------------------------------------------------------------------- /IJPay-JDPay/src/main/java/com/ijpay/jdpay/model/RevokeModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *撤销申请接口 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.jdpay.model; 15 | 16 | import lombok.AllArgsConstructor; 17 | import lombok.Builder; 18 | import lombok.Data; 19 | import lombok.EqualsAndHashCode; 20 | import lombok.NoArgsConstructor; 21 | import lombok.experimental.Accessors; 22 | 23 | @Builder 24 | @AllArgsConstructor 25 | @NoArgsConstructor 26 | @Data 27 | @EqualsAndHashCode(callSuper = false) 28 | @Accessors(chain = true) 29 | public class RevokeModel extends JdBaseModel { 30 | private String version; 31 | private String merchant; 32 | private String tradeNum; 33 | private String oTradeNum; 34 | private String amount; 35 | private String currency; 36 | private String tradeTime; 37 | private String note; 38 | private String sign; 39 | private String cert; 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-JDPay/src/main/java/com/ijpay/jdpay/model/UserRelationModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *用户关系 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.jdpay.model; 15 | 16 | import lombok.AllArgsConstructor; 17 | import lombok.Builder; 18 | import lombok.Data; 19 | import lombok.EqualsAndHashCode; 20 | import lombok.NoArgsConstructor; 21 | import lombok.experimental.Accessors; 22 | 23 | @Builder 24 | @AllArgsConstructor 25 | @NoArgsConstructor 26 | @Data 27 | @EqualsAndHashCode(callSuper = false) 28 | @Accessors(chain = true) 29 | public class UserRelationModel extends JdBaseModel { 30 | private String version; 31 | private String merchant; 32 | private String userId; 33 | private String sign; 34 | } 35 | -------------------------------------------------------------------------------- /IJPay-JDPay/src/main/java/com/ijpay/jdpay/util/SHAUtil.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.jdpay.util; 2 | 3 | import java.io.UnsupportedEncodingException; 4 | import java.security.MessageDigest; 5 | import java.security.NoSuchAlgorithmException; 6 | 7 | public class SHAUtil { 8 | public static String Encrypt(String strSrc, String encName) { 9 | MessageDigest md = null; 10 | String strDes = null; 11 | byte[] bt = new byte[0]; 12 | try { 13 | bt = strSrc.getBytes("UTF-8"); 14 | } catch (UnsupportedEncodingException e) { 15 | return null; 16 | } 17 | try { 18 | if (encName == null || encName.equals("")) { 19 | encName = "SHA-256"; 20 | } 21 | md = MessageDigest.getInstance(encName); 22 | md.update(bt); 23 | strDes = bytes2Hex(md.digest()); 24 | } catch (NoSuchAlgorithmException e) { 25 | return null; 26 | } 27 | return strDes; 28 | } 29 | 30 | public static String bytes2Hex(byte[] bts) { 31 | String des = ""; 32 | String tmp = null; 33 | for (int i = 0; i < bts.length; i++) { 34 | tmp = Integer.toHexString(bts[i] & 0xFF); 35 | if (tmp.length() == 1) { 36 | des = des + "0"; 37 | } 38 | des = des + tmp; 39 | } 40 | return des; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /IJPay-PayPal/src/main/java/com/ijpay/paypal/cache/DefaultAccessTokenCache.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.paypal.cache; 2 | 3 | import java.util.Map; 4 | import java.util.concurrent.ConcurrentHashMap; 5 | 6 | /** 7 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
8 | * 9 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
10 | * 11 | *IJPay 交流群: 723992875、864988890
12 | * 13 | *Node.js 版: https://gitee.com/javen205/TNWX
14 | * 15 | *AccessTokenCache 默认缓存实现,默认存储与内存中
16 | * 17 | * @author Javen 18 | */ 19 | public class DefaultAccessTokenCache implements IAccessTokenCache { 20 | 21 | private final MapIJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *AccessToken 缓存接口
13 | * 14 | * @author Javen 15 | */ 16 | public interface IAccessTokenCache { 17 | String get(String key); 18 | 19 | void set(String key, String jsonValue); 20 | 21 | void remove(String key); 22 | } 23 | -------------------------------------------------------------------------------- /IJPay-Plugin/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | *.iws 12 | *.iml 13 | *.ipr 14 | 15 | ### Eclipse ### 16 | .apt_generated 17 | .classpath 18 | .factorypath 19 | .project 20 | .settings 21 | .springBeans 22 | .sts4-cache 23 | 24 | ### NetBeans ### 25 | /nbproject/private/ 26 | /nbbuild/ 27 | /dist/ 28 | /nbdist/ 29 | /.nb-gradle/ 30 | build/ 31 | !**/src/main/**/build/ 32 | !**/src/test/**/build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | 37 | ### Mac OS ### 38 | .DS_Store -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter-Demo/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/** 4 | !**/src/test/** 5 | 6 | ### STS ### 7 | .apt_generated 8 | .classpath 9 | .factorypath 10 | .project 11 | .settings 12 | .springBeans 13 | .sts4-cache 14 | 15 | ### IntelliJ IDEA ### 16 | .idea 17 | *.iws 18 | *.iml 19 | *.ipr 20 | 21 | ### NetBeans ### 22 | /nbproject/private/ 23 | /nbbuild/ 24 | /dist/ 25 | /nbdist/ 26 | /.nb-gradle/ 27 | build/ 28 | 29 | ### VS Code ### 30 | .vscode/ 31 | 32 | ### maven ### 33 | target/ 34 | *.war 35 | *.ear 36 | *.zip 37 | *.tar 38 | *.tar.gz 39 | 40 | ############### 41 | application-dev.yml 42 | 43 | ### system ignore ### 44 | .DS_Store 45 | Thumbs.db 46 | Servers 47 | .metadata 48 | upload 49 | gen_code 50 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter-Demo/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javen205/IJPay/528ad6084d559d6e1cc2677a4de3fa40e7e8c8a4/IJPay-Plugin/IJPay-AliPay-Starter-Demo/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter-Demo/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter-Demo/src/main/java/com/ijpay/AliPayStarterDemoApplication.java: -------------------------------------------------------------------------------- 1 | package com.ijpay; 2 | 3 | import com.ijpay.config.StartupRunner; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.context.annotation.Bean; 7 | 8 | /** 9 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
10 | * 11 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
12 | * 13 | *IJPay 交流群: 723992875、864988890
14 | * 15 | *Node.js 版: https://gitee.com/javen205/TNWX
16 | * 17 | * @author Javen 18 | */ 19 | @SpringBootApplication 20 | public class AliPayStarterDemoApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(AliPayStarterDemoApplication.class, args); 24 | } 25 | 26 | @Bean 27 | public StartupRunner startupRunner() { 28 | return new StartupRunner(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter-Demo/src/main/java/com/ijpay/config/StartupRunner.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.config; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.boot.CommandLineRunner; 7 | import org.springframework.context.ApplicationContext; 8 | import org.springframework.core.annotation.Order; 9 | 10 | import java.util.Arrays; 11 | 12 | /** 13 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
14 | * 15 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
16 | * 17 | *IJPay 交流群: 723992875、864988890
18 | * 19 | *Node.js 版: https://gitee.com/javen205/TNWX
20 | * 21 | * @author Javen 22 | */ 23 | @Order(1) 24 | public class StartupRunner implements CommandLineRunner { 25 | private static final Logger logger = LoggerFactory.getLogger(StartupRunner.class); 26 | 27 | @Autowired 28 | private ApplicationContext applicationContext; 29 | 30 | @Override 31 | public void run(String... args) { 32 | logger.info("startup runner"); 33 | String[] beanNames = applicationContext.getBeanDefinitionNames(); 34 | Arrays.sort(beanNames); 35 | for (String name : beanNames) { 36 | logger.info(name); 37 | } 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter-Demo/src/main/resources/application-prod.yml: -------------------------------------------------------------------------------- 1 | alipay: 2 | pay: 3 | configs: 4 | - # 支付宝支付网关 5 | serviceUrl: serviceUrl 6 | # 是否为证书模式 7 | certModel: true 8 | # 应用编号 9 | appId: appId 10 | # 应用私钥 11 | privateKey: privateKey 12 | # 支付宝公钥 13 | aliPayPublicKey: aliPayPublicKey 14 | # 应用公钥证书 (证书模式必须) 15 | appCertPath: appCertPath 16 | # 支付宝公钥证书 (证书模式必须) 17 | aliPayCertPath: aliPayCertPath 18 | # 支付宝根证书 (证书模式必须) 19 | aliPayRootCertPath: aliPayRootCertPath 20 | # 其他附加参数 21 | exParams: exParams 22 | - # 支付宝支付网关 23 | serviceUrl: serviceUrl2 24 | # 是否为证书模式 25 | certModel: true 26 | # 应用编号 27 | appId: appId2 28 | # 应用私钥 29 | privateKey: privateKey2 30 | # 支付宝公钥 31 | aliPayPublicKey: aliPayPublicKey2 32 | # 应用公钥证书 (证书模式必须) 33 | appCertPath: appCertPath2 34 | # 支付宝公钥证书 (证书模式必须) 35 | aliPayCertPath: aliPayCertPath2 36 | # 支付宝根证书 (证书模式必须) 37 | aliPayRootCertPath: aliPayRootCertPath2 38 | # 其他附加参数 39 | exParams: exParams2 40 | server: 41 | port: 6666 42 | 43 | logging: 44 | level: 45 | com.ijpay: debug 46 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter-Demo/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | active: dev 4 | 5 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter-Demo/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | 2 | ,--. ,--.,------. ,---. ,--. ,-----. ,--. 3 | | | | || .--. ' ,--,--.,--. ,--. ' .-' ,---. ,--.--.`--',--,--, ,---. | |) /_ ,---. ,---. ,-' '-. 4 | | |,--. | || '--' |' ,-. | \ ' / `. `-. | .-. || .--',--.| \| .-. || .-. \| .-. || .-. |'-. .-' 5 | | || '-' /| | --' \ '-' | \ ' .-' || '-' '| | | || || |' '-' '| '--' /' '-' '' '-' ' | | 6 | `--' `-----' `--' `--`--'.-' / `-----' | |-' `--' `--'`--''--'.`- / `------' `---' `---' `--' 7 | `---' `--' `---' 8 | IJPay 让支付触手可及,QQ交流群:723992875、864988890 9 | TNWX 微信系开发脚手架已支持微信支付 https://gitee.com/javen205/TNWX 10 | 11 | ,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----. 12 | '-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----' 13 | 14 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | *.iws 12 | *.iml 13 | *.ipr 14 | 15 | ### Eclipse ### 16 | .apt_generated 17 | .classpath 18 | .factorypath 19 | .project 20 | .settings 21 | .springBeans 22 | .sts4-cache 23 | 24 | ### NetBeans ### 25 | /nbproject/private/ 26 | /nbbuild/ 27 | /dist/ 28 | /nbdist/ 29 | /.nb-gradle/ 30 | build/ 31 | !**/src/main/**/build/ 32 | !**/src/test/**/build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | 37 | ### Mac OS ### 38 | .DS_Store -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter/src/main/java/com/ijpay/alipay/starter/constants/IJPayConstant.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.alipay.starter.constants; 2 | 3 | /** 4 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | * @author Javen 13 | */ 14 | public interface IJPayConstant { 15 | /** 16 | * 在线交流 17 | */ 18 | String ONLINE_CONTACT = "IJPay 让支付触手可及,交流群 723992875、864988890"; 19 | } 20 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter/src/main/java/com/ijpay/alipay/starter/controller/AbstractAliPayApiController.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.alipay.starter.controller; 2 | 3 | import com.alipay.api.AlipayApiException; 4 | import com.ijpay.alipay.AliPayApiConfig; 5 | 6 | /** 7 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
8 | * 9 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
10 | * 11 | *IJPay 交流群: 723992875、864988890
12 | * 13 | *Node.js 版: https://gitee.com/javen205/TNWX
14 | * 15 | * @author Javen 16 | */ 17 | public abstract class AbstractAliPayApiController { 18 | /** 19 | * 获取支付宝配置 20 | * 21 | * @return {@link AliPayApiConfig} 支付宝配置 22 | * @throws AlipayApiException 支付宝 Api 异常 23 | */ 24 | public abstract AliPayApiConfig getApiConfig() throws AlipayApiException; 25 | } 26 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-AliPay-Starter/src/main/java/com/ijpay/alipay/starter/properties/AliPayProperties.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.alipay.starter.properties; 2 | 3 | import com.ijpay.alipay.AliPayApiConfig; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | import org.springframework.boot.context.properties.ConfigurationProperties; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
14 | * 15 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
16 | * 17 | *IJPay 交流群: 723992875、864988890
18 | * 19 | *Node.js 版: https://gitee.com/javen205/TNWX
20 | * 21 | *支付宝支付属性配置类
22 | * 23 | * @author Javen 24 | */ 25 | @Data 26 | @Builder 27 | @AllArgsConstructor 28 | @NoArgsConstructor 29 | @ConfigurationProperties(prefix = "alipay.pay") 30 | public class AliPayProperties { 31 | private ListIJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
10 | * 11 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
12 | * 13 | *IJPay 交流群: 723992875、864988890
14 | * 15 | *Node.js 版: https://gitee.com/javen205/TNWX
16 | * 17 | * @author Javen 18 | */ 19 | @SpringBootApplication 20 | public class WxPayStarterDemoApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(WxPayStarterDemoApplication.class, args); 24 | } 25 | 26 | @Bean 27 | public StartupRunner startupRunner() { 28 | return new StartupRunner(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-WxPay-Starter-Demo/src/main/java/com/ijpay/config/StartupRunner.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.config; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.boot.CommandLineRunner; 7 | import org.springframework.context.ApplicationContext; 8 | import org.springframework.core.annotation.Order; 9 | 10 | import java.util.Arrays; 11 | 12 | /** 13 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
14 | * 15 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
16 | * 17 | *IJPay 交流群: 723992875、864988890
18 | * 19 | *Node.js 版: https://gitee.com/javen205/TNWX
20 | * 21 | * @author Javen 22 | */ 23 | @Order(1) 24 | public class StartupRunner implements CommandLineRunner { 25 | private static final Logger logger = LoggerFactory.getLogger(StartupRunner.class); 26 | 27 | @Autowired 28 | private ApplicationContext applicationContext; 29 | 30 | @Override 31 | public void run(String... args) { 32 | logger.info("startup runner"); 33 | String[] beanNames = applicationContext.getBeanDefinitionNames(); 34 | Arrays.sort(beanNames); 35 | for (String name : beanNames) { 36 | logger.info(name); 37 | } 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-WxPay-Starter-Demo/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | active: dev 4 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-WxPay-Starter-Demo/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | 2 | ,--. ,--.,------. ,---. ,--. ,-----. ,--. 3 | | | | || .--. ' ,--,--.,--. ,--. ' .-' ,---. ,--.--.`--',--,--, ,---. | |) /_ ,---. ,---. ,-' '-. 4 | | |,--. | || '--' |' ,-. | \ ' / `. `-. | .-. || .--',--.| \| .-. || .-. \| .-. || .-. |'-. .-' 5 | | || '-' /| | --' \ '-' | \ ' .-' || '-' '| | | || || |' '-' '| '--' /' '-' '' '-' ' | | 6 | `--' `-----' `--' `--`--'.-' / `-----' | |-' `--' `--'`--''--'.`- / `------' `---' `---' `--' 7 | `---' `--' `---' 8 | IJPay 让支付触手可及,QQ交流群:723992875、864988890 9 | TNWX 微信系开发脚手架已支持微信支付 https://gitee.com/javen205/TNWX 10 | 11 | ,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----.,-----. 12 | '-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----''-----' 13 | 14 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-WxPay-Starter/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | *.iws 12 | *.iml 13 | *.ipr 14 | 15 | ### Eclipse ### 16 | .apt_generated 17 | .classpath 18 | .factorypath 19 | .project 20 | .settings 21 | .springBeans 22 | .sts4-cache 23 | 24 | ### NetBeans ### 25 | /nbproject/private/ 26 | /nbbuild/ 27 | /dist/ 28 | /nbdist/ 29 | /.nb-gradle/ 30 | build/ 31 | !**/src/main/**/build/ 32 | !**/src/test/**/build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | 37 | ### Mac OS ### 38 | .DS_Store -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-WxPay-Starter/src/main/java/com/ijpay/wxpay/starter/controller/AbstractWxPayApiController.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.starter.controller; 2 | 3 | 4 | import com.ijpay.wxpay.WxPayApiConfig; 5 | 6 | /** 7 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
8 | * 9 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
10 | * 11 | *IJPay 交流群: 723992875、864988890
12 | * 13 | *Node.js 版: https://gitee.com/javen205/TNWX
14 | * 15 | * @author Javen 16 | */ 17 | public abstract class AbstractWxPayApiController { 18 | /** 19 | * 获取微信支付配置 20 | * 21 | * @return {@link WxPayApiConfig} 微信支付配置 22 | */ 23 | public abstract WxPayApiConfig getApiConfig(); 24 | } 25 | -------------------------------------------------------------------------------- /IJPay-Plugin/IJPay-WxPay-Starter/src/main/java/com/ijpay/wxpay/starter/properties/WxPayProperties.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.starter.properties; 2 | 3 | import com.ijpay.wxpay.WxPayApiConfig; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | import org.springframework.boot.context.properties.ConfigurationProperties; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
14 | * 15 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
16 | * 17 | *IJPay 交流群: 723992875、864988890
18 | * 19 | *Node.js 版: https://gitee.com/javen205/TNWX
20 | * 21 | *微信支付属性配置类
22 | * 23 | * @author Javen 24 | */ 25 | @Data 26 | @Builder 27 | @AllArgsConstructor 28 | @NoArgsConstructor 29 | @ConfigurationProperties(prefix = "wx.pay") 30 | public class WxPayProperties { 31 | private ListIJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
9 | * 10 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
11 | * 12 | *IJPay 交流群: 723992875、864988890
13 | * 14 | *Node.js 版: https://gitee.com/javen205/TNWX
15 | * 16 | *QQ 钱包支付常用配置
17 | * 18 | * @author Javen 19 | */ 20 | @Getter 21 | @Setter 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | public class QqPayApiConfig implements Serializable { 26 | private static final long serialVersionUID = 8365822256469245771L; 27 | 28 | private String appId; 29 | private String mchId; 30 | private String slAppId; 31 | private String slMchId; 32 | private String partnerKey; 33 | private String domain; 34 | private String certPath; 35 | private Object exParams; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/CloseOrderModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.qqpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *关闭订单 Model
21 | * 22 | * @author Javen 23 | */ 24 | 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @EqualsAndHashCode(callSuper = false) 30 | @Accessors(chain = true) 31 | public class CloseOrderModel extends BaseModel { 32 | private String appid; 33 | private String sub_appid; 34 | private String mch_id; 35 | private String sub_mch_id; 36 | private String nonce_str; 37 | private String sign; 38 | private String out_trade_no; 39 | private String total_fee; 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/DownloadBillModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.qqpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *对账单下载 Model
21 | * 22 | * @author Javen 23 | */ 24 | 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @EqualsAndHashCode(callSuper = false) 30 | @Accessors(chain = true) 31 | public class DownloadBillModel extends BaseModel { 32 | private String appid; 33 | private String mch_id; 34 | private String nonce_str; 35 | private String sign; 36 | private String bill_date; 37 | private String bill_type; 38 | private String tar_type; 39 | } 40 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/DownloadHbBillModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.qqpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *现金红包对账单下载 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class DownloadHbBillModel extends BaseModel { 31 | private String sign; 32 | private String mch_id; 33 | private String date; 34 | } 35 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/DownloadTransferBillModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.qqpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *企业付款对账单下载 Model
21 | * 22 | * @author Javen 23 | */ 24 | 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @EqualsAndHashCode(callSuper = false) 30 | @Accessors(chain = true) 31 | public class DownloadTransferBillModel extends BaseModel { 32 | private String mch_id; 33 | private String nonce_str; 34 | private String bill_date; 35 | private String sign; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/GetHbInfoModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.qqpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *查询红包详情 Model
21 | * 22 | * @author Javen 23 | */ 24 | 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @EqualsAndHashCode(callSuper = false) 30 | @Accessors(chain = true) 31 | public class GetHbInfoModel extends BaseModel { 32 | private String send_type; 33 | private String nonce_str; 34 | private String mch_id; 35 | private String mch_billno; 36 | private String listid; 37 | private String sub_mch_id; 38 | private String sign; 39 | } 40 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/GetTransferInfoModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *查询企业付款 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.qqpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class GetTransferInfoModel extends BaseModel { 31 | private String mch_id; 32 | private String nonce_str; 33 | private String sign; 34 | private String out_trade_no; 35 | private String transaction_id; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/OrderQueryModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *查询订单 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.qqpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class OrderQueryModel extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String nonce_str; 36 | private String sign; 37 | private String transaction_id; 38 | private String out_trade_no; 39 | } 40 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/OrderRefundModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *申请退款 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.qqpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class OrderRefundModel extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String nonce_str; 36 | private String sign; 37 | private String transaction_id; 38 | private String out_trade_no; 39 | private String out_refund_no; 40 | private String refund_fee; 41 | private String op_user_id; 42 | private String op_user_passwd; 43 | private String refund_account; 44 | } 45 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/OrderReverseModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *撤销订单 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.qqpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class OrderReverseModel extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String nonce_str; 36 | private String sign; 37 | private String out_trade_no; 38 | private String op_user_id; 39 | private String op_user_passwd; 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-QQ/src/main/java/com/ijpay/qqpay/model/RefundQueryModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *退款查询 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.qqpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class RefundQueryModel extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String nonce_str; 36 | private String sign; 37 | private String refund_id; 38 | private String out_refund_no; 39 | private String transaction_id; 40 | private String out_trade_no; 41 | } 42 | -------------------------------------------------------------------------------- /IJPay-UnionPay/pom.xml: -------------------------------------------------------------------------------- 1 | 2 |IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付接口
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay; 15 | 16 | import com.ijpay.core.kit.HttpKit; 17 | import com.ijpay.core.kit.WxPayKit; 18 | 19 | import java.util.Map; 20 | 21 | public class UnionPayApi { 22 | public static String authUrl = "https://qr.95516.com/qrcGtwWeb-web/api/userAuth?version=1.0.0&redirectUrl=%s"; 23 | 24 | public static String execution(String url, MapIJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
10 | * 11 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
12 | * 13 | *IJPay 交流群: 723992875、864988890
14 | * 15 | *Node.js 版: https://gitee.com/javen205/TNWX
16 | * 17 | *云闪付常用配置
18 | * 19 | * @author Javen 20 | */ 21 | @Getter 22 | @Setter 23 | @Builder 24 | @AllArgsConstructor 25 | @NoArgsConstructor 26 | public class UnionPayApiConfig implements Serializable { 27 | private static final long serialVersionUID = -9025648880068727445L; 28 | 29 | /** 30 | * 商户平台分配的账号 31 | */ 32 | private String mchId; 33 | /** 34 | * 连锁商户号 35 | */ 36 | private String groupMchId; 37 | /** 38 | * 授权交易机构代码 39 | */ 40 | private String agentMchId; 41 | /** 42 | * 商户平台分配的密钥 43 | */ 44 | private String apiKey; 45 | /** 46 | * 商户平台网关 47 | */ 48 | private String serverUrl; 49 | /** 50 | * 应用域名,回调中会使用此参数 51 | */ 52 | private String domain; 53 | /** 54 | * 其他附加参数 55 | */ 56 | private Object exParams; 57 | } 58 | -------------------------------------------------------------------------------- /IJPay-UnionPay/src/main/java/com/ijpay/unionpay/model/ApplyModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付-商户进件
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay.model; 15 | 16 | 17 | import com.ijpay.core.model.BaseModel; 18 | import lombok.AllArgsConstructor; 19 | import lombok.Builder; 20 | import lombok.Data; 21 | import lombok.EqualsAndHashCode; 22 | import lombok.NoArgsConstructor; 23 | import lombok.experimental.Accessors; 24 | 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @EqualsAndHashCode(callSuper = false) 30 | @Accessors(chain = true) 31 | public class ApplyModel extends BaseModel { 32 | /** 33 | * 合作伙伴 ID 即机构号 34 | */ 35 | private String partner; 36 | /** 37 | * 服务名称 38 | */ 39 | private String serviceName; 40 | /** 41 | * 支持 MD5 和RSA,默认为MD5 42 | */ 43 | private String signType; 44 | /** 45 | * 字符集,默认为UTF-8 46 | */ 47 | private String charset; 48 | /** 49 | * 请求数据 50 | */ 51 | private String data; 52 | /** 53 | * 数据类型 54 | */ 55 | private String dataType; 56 | /** 57 | * 数据签名 58 | */ 59 | private String dataSign; 60 | } 61 | -------------------------------------------------------------------------------- /IJPay-UnionPay/src/main/java/com/ijpay/unionpay/model/AuthCodeToOpenIdModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付-授权码查询 openId
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class AuthCodeToOpenIdModel extends BaseModel { 31 | private String service; 32 | private String version; 33 | private String charset; 34 | private String sign_type; 35 | private String mch_id; 36 | private String sub_appid; 37 | private String auth_code; 38 | private String nonce_str; 39 | private String sign; 40 | private String sign_agentno; 41 | private String groupno; 42 | } 43 | -------------------------------------------------------------------------------- /IJPay-UnionPay/src/main/java/com/ijpay/unionpay/model/BillDownloadModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付-下单对账单
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class BillDownloadModel extends BaseModel { 31 | private String service; 32 | private String version; 33 | private String charset; 34 | private String bill_date; 35 | private String bill_type; 36 | private String sign_type; 37 | private String mch_id; 38 | private String nonce_str; 39 | private String sign; 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-UnionPay/src/main/java/com/ijpay/unionpay/model/CloseOrderModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付-关闭订单
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay.model; 15 | 16 | 17 | import com.ijpay.core.model.BaseModel; 18 | import lombok.AllArgsConstructor; 19 | import lombok.Builder; 20 | import lombok.Data; 21 | import lombok.EqualsAndHashCode; 22 | import lombok.NoArgsConstructor; 23 | import lombok.experimental.Accessors; 24 | 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @EqualsAndHashCode(callSuper = false) 30 | @Accessors(chain = true) 31 | public class CloseOrderModel extends BaseModel { 32 | private String service; 33 | private String version; 34 | private String charset; 35 | private String sign_type; 36 | private String mch_id; 37 | private String out_trade_no; 38 | private String nonce_str; 39 | private String sign; 40 | private String sign_agentno; 41 | private String groupno; 42 | } 43 | -------------------------------------------------------------------------------- /IJPay-UnionPay/src/main/java/com/ijpay/unionpay/model/OrderQueryModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付-订单查询
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class OrderQueryModel extends BaseModel { 31 | private String service; 32 | private String version; 33 | private String charset; 34 | private String sign_type; 35 | private String mch_id; 36 | private String out_trade_no; 37 | private String transaction_id; 38 | private String sign_agentno; 39 | private String groupno; 40 | private String nonce_str; 41 | private String sign; 42 | } 43 | -------------------------------------------------------------------------------- /IJPay-UnionPay/src/main/java/com/ijpay/unionpay/model/RefundQueryModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付-查询退款
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class RefundQueryModel extends BaseModel { 31 | private String service; 32 | private String version; 33 | private String charset; 34 | private String sign_type; 35 | private String mch_id; 36 | private String out_trade_no; 37 | private String transaction_id; 38 | private String out_refund_no; 39 | private String refund_id; 40 | private String nonce_str; 41 | private String sign; 42 | private String sign_agentno; 43 | private String groupno; 44 | } 45 | -------------------------------------------------------------------------------- /IJPay-UnionPay/src/main/java/com/ijpay/unionpay/model/ReverseModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付-撤销订单
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class ReverseModel extends BaseModel { 31 | private String service; 32 | private String version; 33 | private String charset; 34 | private String sign_type; 35 | private String mch_id; 36 | private String out_trade_no; 37 | private String nonce_str; 38 | private String sign; 39 | private String sign_agentno; 40 | private String groupno; 41 | } 42 | -------------------------------------------------------------------------------- /IJPay-UnionPay/src/main/java/com/ijpay/unionpay/model/UnionPayUserIdModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *云闪付-银联 JS 支付获取 userId
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.unionpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class UnionPayUserIdModel extends BaseModel { 31 | private String service; 32 | private String version; 33 | private String charset; 34 | private String sign_type; 35 | private String mch_id; 36 | private String nonce_str; 37 | private String sign; 38 | private String user_auth_code; 39 | private String app_up_identifier; 40 | private String sign_agentno; 41 | private String groupno; 42 | } 43 | -------------------------------------------------------------------------------- /IJPay-WxPay/pom.xml: -------------------------------------------------------------------------------- 1 | 2 |IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *分账接收方类型
13 | * 14 | * @author Javen 15 | */ 16 | 17 | public enum ReceiverType { 18 | /** 19 | * 商户ID 20 | */ 21 | MERCHANT("MERCHANT_ID"), 22 | /** 23 | * 个人微信号 24 | */ 25 | WECHATID("PERSONAL_WECHATID"), 26 | /** 27 | * 个人 openId(由父商户 appId 转换得到) 28 | */ 29 | OPENID("PERSONAL_OPENID"), 30 | /** 31 | * 个人 sub_openid(由子商户 appId 转换得到) 32 | */ 33 | SUB_OPENID("PERSONAL_SUB_OPENID"); 34 | 35 | 36 | /** 37 | * 类型 38 | */ 39 | private final String type; 40 | 41 | ReceiverType(String type) { 42 | this.type = type; 43 | } 44 | 45 | public String getType() { 46 | return type; 47 | } 48 | 49 | @Override 50 | public String toString() { 51 | return type; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/enums/WxApiEnum.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.enums; 2 | 3 | import java.util.Arrays; 4 | import java.util.Optional; 5 | 6 | /** 7 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付、PayPal 等常用的支付方式以及各种常用的接口。
8 | * 9 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
10 | * 11 | *IJPay 交流群: 723992875、864988890
12 | * 13 | *Node.js 版: https://gitee.com/javen205/TNWX
14 | * 15 | *微信API枚举接口
16 | * 17 | * @author Javen 18 | */ 19 | public interface WxApiEnum { 20 | /** 21 | * 获取枚举URL 22 | * 23 | * @return 枚举编码 24 | */ 25 | String getUrl(); 26 | 27 | /** 28 | * 获取详细的描述信息 29 | * 30 | * @return 描述信息 31 | */ 32 | String getDesc(); 33 | 34 | /** 35 | * 根据 url 获取枚举值 36 | * 37 | * @param enumClass 枚举class 38 | * @param url url 39 | * @paramIJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付、PayPal 等常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *微信域名枚举接口
13 | * 14 | * @author Javen 15 | */ 16 | public interface WxDomain { 17 | /** 18 | * 获取域名 19 | * 20 | * @return 返回域名 21 | */ 22 | String getDomain(); 23 | } 24 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/enums/WxDomainEnum.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.enums; 2 | 3 | /** 4 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *微信支付可用域名枚举
13 | * 14 | * @author Javen 15 | */ 16 | public enum WxDomainEnum implements WxDomain { 17 | /** 18 | * 中国国内 19 | */ 20 | CHINA("https://api.mch.weixin.qq.com"), 21 | /** 22 | * 中国国内(备用域名) 23 | */ 24 | CHINA2("https://api2.mch.weixin.qq.com"), 25 | /** 26 | * 东南亚 27 | */ 28 | HK("https://apihk.mch.weixin.qq.com"), 29 | /** 30 | * 其它 31 | */ 32 | US("https://apius.mch.weixin.qq.com"), 33 | /** 34 | * 获取公钥 35 | */ 36 | FRAUD("https://fraud.mch.weixin.qq.com"), 37 | /** 38 | * 活动 39 | */ 40 | ACTION("https://action.weixin.qq.com"), 41 | /** 42 | * 刷脸支付 43 | * PAY_APP 44 | */ 45 | PAY_APP("https://payapp.weixin.qq.com"); 46 | 47 | 48 | /** 49 | * 域名 50 | */ 51 | private final String domain; 52 | 53 | WxDomainEnum(String domain) { 54 | this.domain = domain; 55 | } 56 | 57 | @Override 58 | public String getDomain() { 59 | return domain; 60 | } 61 | 62 | @Override 63 | public String toString() { 64 | return domain; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/enums/v3/ViolationNotificationApiEnum.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.enums.v3; 2 | 3 | import com.ijpay.wxpay.enums.WxApiEnum; 4 | 5 | /** 6 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
7 | * 8 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
9 | * 10 | *IJPay 交流群: 723992875、864988890
11 | * 12 | *Node.js 版: https://gitee.com/javen205/TNWX
13 | * 14 | *微信支付 v3 接口-商户违规通知回调相关接口枚举
15 | * 16 | * @author Javen 17 | */ 18 | public enum ViolationNotificationApiEnum implements WxApiEnum { 19 | 20 | /** 21 | * 创建/查询/修改/删除商户违规通知回调地址 22 | */ 23 | VIOLATION_NOTIFY_URL("/v3/merchant-risk-manage/violation-notifications", "创建/查询/修改/删除商户违规通知回调地址"); 24 | 25 | /** 26 | * 接口URL 27 | */ 28 | private final String url; 29 | 30 | /** 31 | * 接口描述 32 | */ 33 | private final String desc; 34 | 35 | ViolationNotificationApiEnum(String url, String desc) { 36 | this.url = url; 37 | this.desc = desc; 38 | } 39 | 40 | /** 41 | * 获取枚举URL 42 | * 43 | * @return 枚举编码 44 | */ 45 | @Override 46 | public String getUrl() { 47 | return url; 48 | } 49 | 50 | /** 51 | * 获取详细的描述信息 52 | * 53 | * @return 描述信息 54 | */ 55 | @Override 56 | public String getDesc() { 57 | return desc; 58 | } 59 | 60 | @Override 61 | public String toString() { 62 | return url; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/enums/xpay/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 微信小程序虚拟支付 3 | *4 | * https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html 5 | */ 6 | package com.ijpay.wxpay.enums.xpay; 7 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/AuthCodeToOpenIdModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *
IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *授权码查询 openId Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class AuthCodeToOpenIdModel extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String auth_code; 36 | private String nonce_str; 37 | private String sign; 38 | private String sign_type; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/AuthInfoModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | * 刷脸设备获取设备调用凭证 13 | * 14 | * @author Frank 15 | */ 16 | @Builder 17 | @AllArgsConstructor 18 | @NoArgsConstructor 19 | @Data 20 | @EqualsAndHashCode(callSuper = false) 21 | @Accessors(chain = true) 22 | public class AuthInfoModel extends BaseModel { 23 | private String appid; 24 | private String mch_id; 25 | private String sub_appid; 26 | private String sub_mch_id; 27 | private String now; 28 | private String version; 29 | private String sign_type; 30 | private String nonce_str; 31 | private String store_id; 32 | private String store_name; 33 | private String device_id; 34 | private String rawdata; 35 | private String attach; 36 | private String sign; 37 | } 38 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/BatchQueryCommentModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *拉取订单评价数据 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class BatchQueryCommentModel extends BaseModel { 31 | private String appid; 32 | private String mch_id; 33 | private String nonce_str; 34 | private String sign; 35 | private String sign_type; 36 | private String begin_time; 37 | private String end_time; 38 | private String offset; 39 | private String limit; 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/CloseOrderModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *关闭订单 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class CloseOrderModel extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String out_trade_no; 36 | private String nonce_str; 37 | private String sign; 38 | private String sign_type; 39 | } 40 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/DepositConsume.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *消费押金 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class DepositConsume extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String transaction_id; 36 | private String out_trade_no; 37 | private String total_fee; 38 | private String consume_fee; 39 | private String fee_type; 40 | private String nonce_str; 41 | private String sign; 42 | private String sign_type; 43 | } 44 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/DownloadBillModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *下载对账单 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class DownloadBillModel extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String nonce_str; 36 | private String sign; 37 | private String sign_type; 38 | private String bill_date; 39 | private String bill_type; 40 | private String tar_type; 41 | } 42 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/DownloadFundFlowModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *下载资金账单 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class DownloadFundFlowModel extends BaseModel { 31 | private String appid; 32 | private String mch_id; 33 | private String nonce_str; 34 | private String sign; 35 | private String sign_type; 36 | private String bill_date; 37 | private String account_type; 38 | private String tar_type; 39 | } 40 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/GetHbInfoModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *查询红包记录
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class GetHbInfoModel extends BaseModel { 31 | private String nonce_str; 32 | private String sign; 33 | private String mch_billno; 34 | private String mch_id; 35 | private String appid; 36 | private String bill_type; 37 | } 38 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/GetPublicKeyModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付、PayPal 等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *获取RSA加密公钥 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class GetPublicKeyModel extends BaseModel { 31 | private String mch_id; 32 | private String nonce_str; 33 | private String sign; 34 | private String sign_type; 35 | } 36 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/GetTransferInfoModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付、PayPal 等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *查询企业付款到零钱/银行卡 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class GetTransferInfoModel extends BaseModel { 31 | private String nonce_str; 32 | private String sign; 33 | private String partner_trade_no; 34 | private String mch_id; 35 | private String appid; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/OrderQueryModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | import lombok.experimental.Accessors; 9 | 10 | /** 11 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
12 | * 13 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
14 | * 15 | *IJPay 交流群: 723992875、864988890
16 | * 17 | *Node.js 版: https://gitee.com/javen205/TNWX
18 | * 19 | *查询订单 Model
20 | *支持: 普通订单查询、刷脸支付订单、查询分账结果、回退结果查询
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @Accessors(chain = true) 29 | public class OrderQueryModel extends BaseModel { 30 | private String appid; 31 | private String sub_appid; 32 | private String mch_id; 33 | private String sub_mch_id; 34 | private String transaction_id; 35 | private String out_trade_no; 36 | private String order_id; 37 | private String out_order_no; 38 | private String out_return_no; 39 | private String nonce_str; 40 | private String sign; 41 | private String sign_type; 42 | } 43 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/PayBankModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付、PayPal 等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *企业付款到银行卡 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class PayBankModel extends BaseModel { 31 | private String mch_id; 32 | private String partner_trade_no; 33 | private String nonce_str; 34 | private String sign; 35 | private String enc_bank_no; 36 | private String enc_true_name; 37 | private String bank_code; 38 | private String amount; 39 | private String desc; 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/ProfitSharingModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *分账 Model
21 | * 22 | *支持: 请求单次分账、请求多次分账、添加分账接收方、删除分账接收方、完结分账
23 | * 24 | * @author Javen 25 | */ 26 | @Builder 27 | @AllArgsConstructor 28 | @NoArgsConstructor 29 | @Data 30 | @EqualsAndHashCode(callSuper = false) 31 | @Accessors(chain = true) 32 | public class ProfitSharingModel extends BaseModel { 33 | private String appid; 34 | private String sub_appid; 35 | private String mch_id; 36 | private String sub_mch_id; 37 | private String nonce_str; 38 | private String sign; 39 | private String sign_type; 40 | private String transaction_id; 41 | private String out_order_no; 42 | private String receivers; 43 | private String receiver; 44 | private String description; 45 | } 46 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/ProfitSharingReturn.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *分账回退 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class ProfitSharingReturn extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String nonce_str; 36 | private String sign; 37 | private String sign_type; 38 | private String order_id; 39 | private String out_order_no; 40 | private String out_return_no; 41 | private String return_account_type; 42 | private String return_account; 43 | private String return_amount; 44 | private String description; 45 | } 46 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/QueryTrans2PocketModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *企业微信-查询向员工付款记录
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class QueryTrans2PocketModel extends BaseModel { 31 | private String nonce_str; 32 | private String sign; 33 | private String partner_trade_no; 34 | private String mch_id; 35 | private String appid; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/QueryWorkWxRedPackModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *企业微信-查询企业红包记录
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class QueryWorkWxRedPackModel extends BaseModel { 31 | private String nonce_str; 32 | private String sign; 33 | private String mch_billno; 34 | private String mch_id; 35 | private String appid; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/RefundQueryModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *查询退款 Model
11 | *支持: 普通接口退款查询、刷脸支付退款查询、支付押金退款查询
12 | * 13 | * @author Javen 14 | */ 15 | package com.ijpay.wxpay.model; 16 | 17 | import com.ijpay.core.model.BaseModel; 18 | import lombok.AllArgsConstructor; 19 | import lombok.Builder; 20 | import lombok.Data; 21 | import lombok.EqualsAndHashCode; 22 | import lombok.NoArgsConstructor; 23 | import lombok.experimental.Accessors; 24 | 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @EqualsAndHashCode(callSuper = false) 30 | @Accessors(chain = true) 31 | public class RefundQueryModel extends BaseModel { 32 | private String appid; 33 | private String sub_appid; 34 | private String mch_id; 35 | private String sub_mch_id; 36 | private String nonce_str; 37 | private String sign; 38 | private String sign_type; 39 | private String transaction_id; 40 | private String out_trade_no; 41 | private String out_refund_no; 42 | private String refund_id; 43 | private String offset; 44 | 45 | } 46 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/ReverseModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *撤销订单 Model
11 | *支持: 普通支付撤销订单、刷脸支付撤销订单
12 | * 13 | * @author Javen 14 | */ 15 | package com.ijpay.wxpay.model; 16 | 17 | import com.ijpay.core.model.BaseModel; 18 | import lombok.AllArgsConstructor; 19 | import lombok.Builder; 20 | import lombok.Data; 21 | import lombok.EqualsAndHashCode; 22 | import lombok.NoArgsConstructor; 23 | import lombok.experimental.Accessors; 24 | 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @EqualsAndHashCode(callSuper = false) 30 | @Accessors(chain = true) 31 | public class ReverseModel extends BaseModel { 32 | private String appid; 33 | private String sub_appid; 34 | private String mch_id; 35 | private String sub_mch_id; 36 | private String transaction_id; 37 | private String out_trade_no; 38 | private String nonce_str; 39 | private String sign; 40 | private String sign_type; 41 | } 42 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/SendWorkWxRedPackModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *企业微信-发放企业红包
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.wxpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class SendWorkWxRedPackModel extends BaseModel { 31 | private String nonce_str; 32 | private String sign; 33 | private String mch_billno; 34 | private String mch_id; 35 | private String wxappid; 36 | private String sender_name; 37 | private String agentid; 38 | private String sender_header_media_id; 39 | private String re_openid; 40 | private String total_amount; 41 | private String wishing; 42 | private String act_name; 43 | private String remark; 44 | private String scene_id; 45 | private String workwx_sign; 46 | } 47 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/ShortUrlModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
3 | * 4 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
5 | * 6 | *IJPay 交流群: 723992875、864988890
7 | * 8 | *Node.js 版: https://gitee.com/javen205/TNWX
9 | * 10 | *转换短链接 Model
11 | * 12 | * @author Javen 13 | */ 14 | package com.ijpay.wxpay.model; 15 | 16 | import com.ijpay.core.model.BaseModel; 17 | import lombok.AllArgsConstructor; 18 | import lombok.Builder; 19 | import lombok.Data; 20 | import lombok.EqualsAndHashCode; 21 | import lombok.NoArgsConstructor; 22 | import lombok.experimental.Accessors; 23 | 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class ShortUrlModel extends BaseModel { 31 | private String appid; 32 | private String sub_appid; 33 | private String mch_id; 34 | private String sub_mch_id; 35 | private String long_url; 36 | private String nonce_str; 37 | private String sign; 38 | private String sign_type; 39 | } 40 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/TransferModel.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model; 2 | 3 | import com.ijpay.core.model.BaseModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.EqualsAndHashCode; 8 | import lombok.NoArgsConstructor; 9 | import lombok.experimental.Accessors; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *企业付款到零钱 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @EqualsAndHashCode(callSuper = false) 29 | @Accessors(chain = true) 30 | public class TransferModel extends BaseModel { 31 | private String mch_appid; 32 | private String mchid; 33 | private String device_info; 34 | private String nonce_str; 35 | private String sign; 36 | private String partner_trade_no; 37 | private String openid; 38 | private String check_name; 39 | private String re_user_name; 40 | private String amount; 41 | private String desc; 42 | private String spbill_create_ip; 43 | } 44 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/Amount.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 统一下单-订单金额
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class Amount { 28 | /** 29 | * 总金额 30 | */ 31 | private int total; 32 | /** 33 | * 货币类型 34 | */ 35 | private String currency; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/Certificate.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
14 | * 15 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
16 | * 17 | *IJPay 交流群: 723992875、864988890
18 | * 19 | *Node.js 版: https://gitee.com/javen205/TNWX
20 | * 21 | *证书响应参数 Model
22 | * 23 | * @author Javen 24 | */ 25 | @Builder 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | @Data 29 | @Accessors(chain = true) 30 | public class Certificate implements Serializable { 31 | 32 | private static final long serialVersionUID = 4034303177841190752L; 33 | 34 | private ListIJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *证书响应参数 Model
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @Accessors(chain = true) 29 | public class CertificateInfo implements Serializable { 30 | 31 | private static final long serialVersionUID = -5838236796703654715L; 32 | 33 | private String serial_no; 34 | private String effective_time; 35 | private String expire_time; 36 | private EncryptCertificate encrypt_certificate; 37 | } 38 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/Detail.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | *V3 统一下单-优惠功能
21 | * 22 | * @author Javen 23 | */ 24 | @Builder 25 | @AllArgsConstructor 26 | @NoArgsConstructor 27 | @Data 28 | @Accessors(chain = true) 29 | public class Detail { 30 | /** 31 | * 订单原价 32 | */ 33 | private int cost_price; 34 | /** 35 | * 商品小票ID 36 | */ 37 | private String invoice_id; 38 | /** 39 | * 单品列表 40 | */ 41 | private ListIJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。
13 | * 14 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
15 | * 16 | *IJPay 交流群: 723992875、864988890
17 | * 18 | *Node.js 版: https://gitee.com/javen205/TNWX
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class EncryptCertificate implements Serializable { 28 | 29 | private static final long serialVersionUID = -5718842307268149730L; 30 | 31 | private String algorithm; 32 | private String nonce; 33 | private String associated_data; 34 | private String ciphertext; 35 | } 36 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/GoodsDetail.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 统一下单-单品列表
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class GoodsDetail { 28 | /** 29 | * 商户侧商品编码 30 | */ 31 | private String merchant_goods_id; 32 | /** 33 | * 微信侧商品编码 34 | */ 35 | private String wechatpay_goods_id; 36 | /** 37 | * 商品名称 38 | */ 39 | private String goods_name; 40 | /** 41 | * 商品数量 42 | */ 43 | private int quantity; 44 | /** 45 | * 商品单价 46 | */ 47 | private int unit_price; 48 | } 49 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/H5Info.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 统一下单-H5 场景信息
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class H5Info { 28 | /** 29 | * 场景类型 30 | */ 31 | private String type; 32 | /** 33 | * 应用名称 34 | */ 35 | private String app_name; 36 | /** 37 | * 网站URL 38 | */ 39 | private String app_url; 40 | /** 41 | * iOS 平台 BundleID 42 | */ 43 | private String bundle_id; 44 | /** 45 | * Android 平台 PackageName 46 | */ 47 | private String package_name; 48 | } 49 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/Payer.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 统一下单-支付者
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class Payer { 28 | 29 | /** 30 | * 用户标识 31 | */ 32 | private String openid; 33 | 34 | /** 35 | * 用户服务标识 36 | */ 37 | private String sp_openid; 38 | 39 | /** 40 | * 用户子标识 41 | */ 42 | private String sub_openid; 43 | 44 | /** 45 | * 46 | */ 47 | private String auth_code; 48 | } 49 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/RefundAmount.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 微信申请退款-金额信息
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class RefundAmount { 28 | /** 29 | * 总金额 30 | */ 31 | private int total; 32 | /** 33 | * 货币类型 34 | */ 35 | private String currency; 36 | /** 37 | * 退款金额 38 | */ 39 | private int refund; 40 | } 41 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/RefundGoodsDetail.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 微信申请退款-退款商品
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class RefundGoodsDetail { 28 | /** 29 | * 商户侧商品编码 30 | */ 31 | private String merchant_goods_id; 32 | /** 33 | * 微信侧商品编码 34 | */ 35 | private String wechatpay_goods_id; 36 | /** 37 | * 商品名称 38 | */ 39 | private String goods_name; 40 | /** 41 | * 商品单价 42 | */ 43 | private int unit_price; 44 | /** 45 | * 商品退款金额 46 | */ 47 | private int refund_amount; 48 | /** 49 | * 商品退货数量 50 | */ 51 | private int refund_quantity; 52 | } 53 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/SceneInfo.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 统一下单-场景信息
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class SceneInfo { 28 | /** 29 | * 用户终端IP 30 | */ 31 | private String payer_client_ip; 32 | /** 33 | * 商户端设备号 34 | */ 35 | private String device_id; 36 | /** 37 | * 商户门店信息 38 | */ 39 | private StoreInfo store_info; 40 | /** 41 | * H5 场景信息 42 | */ 43 | private H5Info h5_info; 44 | } 45 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/SettleInfo.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 统一下单-结算信息
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class SettleInfo { 28 | /** 29 | * 是否指定分账 30 | */ 31 | private boolean profit_sharing; 32 | /** 33 | * 补差金额 34 | */ 35 | private Integer subsidy_amount; 36 | } 37 | -------------------------------------------------------------------------------- /IJPay-WxPay/src/main/java/com/ijpay/wxpay/model/v3/StoreInfo.java: -------------------------------------------------------------------------------- 1 | package com.ijpay.wxpay.model.v3; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import lombok.experimental.Accessors; 8 | 9 | /** 10 | *IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
11 | * 12 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
13 | * 14 | *IJPay 交流群: 723992875、864988890
15 | * 16 | *Node.js 版: https://gitee.com/javen205/TNWX
17 | * 18 | *V3 统一下单-商户门店信息
19 | * 20 | * @author Javen 21 | */ 22 | @Builder 23 | @AllArgsConstructor 24 | @NoArgsConstructor 25 | @Data 26 | @Accessors(chain = true) 27 | public class StoreInfo { 28 | /** 29 | * 门店编号 30 | */ 31 | private String id; 32 | /** 33 | * 门店名称 34 | */ 35 | private String name; 36 | /** 37 | * 地区编码 38 | */ 39 | private String area_code; 40 | /** 41 | * 详细地址 42 | */ 43 | private String address; 44 | } 45 | -------------------------------------------------------------------------------- /IJPay-XPay/pom.xml: -------------------------------------------------------------------------------- 1 | 2 |IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
5 | * 6 | *不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
7 | * 8 | *IJPay 交流群: 723992875、864988890
9 | * 10 | *Node.js 版: https://gitee.com/javen205/TNWX
11 | * 12 | *微信官方个人支付渠道,有稳定的异步通知,加企鹅(572839485)了解更多
13 | * 14 | *XPay Api
15 | * 16 | * @author Javen 17 | */ 18 | public interface PayUrl { 19 | /** 20 | * 获取接口地址 21 | * 22 | * @return 地址 23 | */ 24 | String getUrl(); 25 | } 26 | -------------------------------------------------------------------------------- /assets/img/IJPay-t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javen205/IJPay/528ad6084d559d6e1cc2677a4de3fa40e7e8c8a4/assets/img/IJPay-t.png -------------------------------------------------------------------------------- /assets/img/aliYun.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javen205/IJPay/528ad6084d559d6e1cc2677a4de3fa40e7e8c8a4/assets/img/aliYun.jpg -------------------------------------------------------------------------------- /assets/img/jetbrains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javen205/IJPay/528ad6084d559d6e1cc2677a4de3fa40e7e8c8a4/assets/img/jetbrains.png -------------------------------------------------------------------------------- /assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javen205/IJPay/528ad6084d559d6e1cc2677a4de3fa40e7e8c8a4/assets/img/logo.png -------------------------------------------------------------------------------- /assets/img/tencent.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javen205/IJPay/528ad6084d559d6e1cc2677a4de3fa40e7e8c8a4/assets/img/tencent.jpg -------------------------------------------------------------------------------- /bin/check_dependency_updates.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #-------------------------------------- 4 | # thanks to huTool 5 | #-------------------------------------- 6 | 7 | mvn versions:display-dependency-updates -------------------------------------------------------------------------------- /bin/del_versions_backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #------------------------------------------------ 4 | # 删除 module 下的 pom.xml.versionsBackup 5 | #------------------------------------------------ 6 | 7 | rm -rf pom.xml.versionsBackup */pom.xml.versionsBackup -------------------------------------------------------------------------------- /bin/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #-------------------------------------- 4 | # thanks to huTool 5 | #-------------------------------------- 6 | 7 | mvn clean deploy -P release -------------------------------------------------------------------------------- /bin/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #-------------------------------------- 4 | # thanks to huTool 5 | #-------------------------------------- 6 | 7 | mvn clean source:jar javadoc:javadoc install -Dmaven.test.skip=false -Dmaven.javadoc.skip=false -------------------------------------------------------------------------------- /bin/update_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #------------------------------------------------ 4 | # 升级pom.xml中的版本号 5 | #------------------------------------------------ 6 | 7 | if [ ! -n "$1" ]; then 8 | echo "ERROR: 新版本不存在,请指定参数1" 9 | exit 10 | fi 11 | 12 | # 替换所有模块pom.xml中的版本 13 | mvn versions:set -DnewVersion=$1 -------------------------------------------------------------------------------- /packages/docs/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | dist -------------------------------------------------------------------------------- /packages/docs/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 确保脚本抛出遇到的错误 4 | set -e 5 | 6 | # 生成静态文件 7 | npm run docs:build 8 | 9 | # 进入生成的文件夹 10 | cd docs/.vuepress/dist 11 | 12 | # 如果是发布到自定义域名 13 | # echo 'www.example.com' > CNAME 14 | 15 | git init 16 | git add -A 17 | git commit -m 'deploy docs' 18 | 19 | # 如果发布到 https://