首页

微信扫码支付源码(被扫支付)

java

2020-8-18

package com.tencent;

import com.tencent.business.DownloadBillBusiness;
import com.tencent.business.RefundBusiness;
import com.tencent.business.RefundQueryBusiness;
import com.tencent.business.ScanPayBusiness;
import com.tencent.common.Configure;
import com.tencent.protocol.downloadbill_protocol.DownloadBillReqData;
import com.tencent.protocol.pay_protocol.ScanPayReqData;
import com.tencent.protocol.pay_query_protocol.ScanPayQueryReqData;
import com.tencent.protocol.refund_protocol.RefundReqData;
import com.tencent.protocol.refund_query_protocol.RefundQueryReqData;
import com.tencent.protocol.reverse_protocol.ReverseReqData;
import com.tencent.service.*;

/**
 * SDK总入口
 */
public class WXPay {

    /**
     * 初始化SDK依赖的几个关键配置
     * @param key 签名算法需要用到的秘钥
     * @param appID 公众账号ID
     * @param mchID 商户ID
     * @param sdbMchID 子商户ID,受理模式必填
     * @param certLocalPath HTTP证书在服务器中的路径,用来加载证书用
     * @param certPassword HTTP证书的密码,默认等于MCHID
     */
    public static void initSDKConfiguration(String key,String appID,String mchID,String sdbMchID,String certLocalPath,String certPassword){
        Configure.setKey(key);
        Configure.setAppID(appID);
        Configure.setMchID(mchID);
        Configure.setSubMchID(sdbMchID);
        Configure.setCertLocalPath(certLocalPath);
        Configure.setCertPassword(certPassword);
    }

    /**
     * 请求支付服务
     * @param scanPayReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @return API返回的数据
     * @throws Exception
     */
    public static String requestScanPayService(ScanPayReqData scanPayReqData) throws Exception{
        return new ScanPayService().request(scanPayReqData);
    }

    /**
     * 请求支付查询服务
     * @param scanPayQueryReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @return API返回的XML数据
     * @throws Exception
     */
	public static String requestScanPayQueryService(ScanPayQueryReqData scanPayQueryReqData) throws Exception{
		return new ScanPayQueryService().request(scanPayQueryReqData);
	}

    /**
     * 请求退款服务
     * @param refundReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @return API返回的XML数据
     * @throws Exception
     */
    public static String requestRefundService(RefundReqData refundReqData) throws Exception{
        return new RefundService().request(refundReqData);
    }

    /**
     * 请求退款查询服务
     * @param refundQueryReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @return API返回的XML数据
     * @throws Exception
     */
	public static String requestRefundQueryService(RefundQueryReqData refundQueryReqData) throws Exception{
		return new RefundQueryService().request(refundQueryReqData);
	}

    /**
     * 请求撤销服务
     * @param reverseReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @return API返回的XML数据
     * @throws Exception
     */
	public static String requestReverseService(ReverseReqData reverseReqData) throws Exception{
		return new ReverseService().request(reverseReqData);
	}

    /**
     * 请求对账单下载服务
     * @param downloadBillReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @return API返回的XML数据
     * @throws Exception
     */
    public static String requestDownloadBillService(DownloadBillReqData downloadBillReqData) throws Exception{
        return new DownloadBillService().request(downloadBillReqData);
    }

    /**
     * 直接执行被扫支付业务逻辑(包含最佳实践流程)
     * @param scanPayReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @param resultListener 商户需要自己监听被扫支付业务逻辑可能触发的各种分支事件,并做好合理的响应处理
     * @throws Exception
     */
    public static void doScanPayBusiness(ScanPayReqData scanPayReqData, ScanPayBusiness.ResultListener resultListener) throws Exception {
        new ScanPayBusiness().run(scanPayReqData, resultListener);
    }

    /**
     * 调用退款业务逻辑
     * @param refundReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @param resultListener 业务逻辑可能走到的结果分支,需要商户处理
     * @throws Exception
     */
    public static void doRefundBusiness(RefundReqData refundReqData, RefundBusiness.ResultListener resultListener) throws Exception {
        new RefundBusiness().run(refundReqData,resultListener);
    }

    /**
     * 运行退款查询的业务逻辑
     * @param refundQueryReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @param resultListener 商户需要自己监听被扫支付业务逻辑可能触发的各种分支事件,并做好合理的响应处理
     * @throws Exception
     */
    public static void doRefundQueryBusiness(RefundQueryReqData refundQueryReqData,RefundQueryBusiness.ResultListener resultListener) throws Exception {
        new RefundQueryBusiness().run(refundQueryReqData,resultListener);
    }

    /**
     * 请求对账单下载服务
     * @param downloadBillReqData 这个数据对象里面包含了API要求提交的各种数据字段
     * @param resultListener 商户需要自己监听被扫支付业务逻辑可能触发的各种分支事件,并做好合理的响应处理
     * @return API返回的XML数据
     * @throws Exception
     */
    public static void doDownloadBillBusiness(DownloadBillReqData downloadBillReqData,DownloadBillBusiness.ResultListener resultListener) throws Exception {
        new DownloadBillBusiness().run(downloadBillReqData,resultListener);
    }


}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
.gitignore , 636
pom.xml , 4118
README.md , 6554
wxpay_scanpay_java_sdk_proj.iml , 2431
.idea/.name , 27
.idea/artifacts/wxpay_scanpay_java_sdk_1_0_jar.xml , 369
.idea/artifacts/wxpay_scanpay_java_sdk_proj_jar.xml , 371
.idea/compiler.xml , 1135
.idea/copyright/profiles_settings.xml , 74
.idea/encodings.xml , 164
.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml , 524
.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml , 560
.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_7.xml , 540
.idea/libraries/Maven__junit_junit_4_8_2.xml , 450
.idea/libraries/Maven__org_apache_httpcomponents_fluent_hc_4_3_5.xml , 558
.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml , 565
.idea/libraries/Maven__org_apache_httpcomponents_httpclient_cache_4_3_5.xml , 607
.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml , 551
.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_3_5.xml , 551
.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml , 494
.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_7.xml , 515
.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml , 486
.idea/libraries/Maven__xpp3_xpp3_1_1_4c.xml , 446
.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml , 474
.idea/misc.xml , 644
.idea/modules.xml , 294
.idea/scopes/scope_settings.xml , 139
.idea/uiDesigner.xml , 8792
.idea/vcs.xml , 164
.idea/workspace.xml , 93703
docs/asset/business_layer.png , 8340
docs/asset/common_layer.png , 11469
docs/asset/protocol_layer.png , 18544
docs/asset/scanpay.jpg , 75775
docs/asset/scanpay_sdk_structure.png , 41505
docs/asset/service_layer.png , 10471
src/main/java/com/tencent/bridge/IBridge.java , 3881
src/main/java/com/tencent/business/DownloadBillBusiness.java , 6455
src/main/java/com/tencent/business/RefundBusiness.java , 6769
src/main/java/com/tencent/business/RefundQueryBusiness.java , 8626
src/main/java/com/tencent/business/ScanPayBusiness.java , 19101
src/main/java/com/tencent/common/Configure.java , 3632
src/main/java/com/tencent/common/HttpsRequest.java , 6561
src/main/java/com/tencent/common/Log.java , 1291
src/main/java/com/tencent/common/MD5.java , 1502
src/main/java/com/tencent/common/RandomStringGenerator.java , 698
src/main/java/com/tencent/common/report/protocol/ReportReqData.java , 6290
src/main/java/com/tencent/common/report/protocol/ReportResData.java , 789
src/main/java/com/tencent/common/report/Reporter.java , 719
src/main/java/com/tencent/common/report/ReporterFactory.java , 487
src/main/java/com/tencent/common/report/ReportRunable.java , 1013
src/main/java/com/tencent/common/report/service/ReportService.java , 2256
src/main/java/com/tencent/common/Signature.java , 4816
src/main/java/com/tencent/common/Util.java , 3499
src/main/java/com/tencent/common/XMLParser.java , 3038
src/main/java/com/tencent/Main.java , 2544
src/main/java/com/tencent/protocol/downloadbill_protocol/DownloadBillReqData.java , 3674
src/main/java/com/tencent/protocol/downloadbill_protocol/DownloadBillResData.java , 579
src/main/java/com/tencent/protocol/pay_protocol/ScanPayReqData.java , 7329
src/main/java/com/tencent/protocol/pay_protocol/ScanPayResData.java , 4598
src/main/java/com/tencent/protocol/pay_query_protocol/ScanPayQueryReqData.java , 3877
src/main/java/com/tencent/protocol/pay_query_protocol/ScanPayQueryResData.java , 5316
src/main/java/com/tencent/protocol/refund_protocol/RefundReqData.java , 5652
src/main/java/com/tencent/protocol/refund_protocol/RefundResData.java , 3703
src/main/java/com/tencent/protocol/refund_query_protocol/RefundOrderData.java , 2582
src/main/java/com/tencent/protocol/refund_query_protocol/RefundQueryReqData.java , 4965
src/main/java/com/tencent/protocol/refund_query_protocol/RefundQueryResData.java , 4243
src/main/java/com/tencent/protocol/reverse_protocol/ReverseReqData.java , 3858
src/main/java/com/tencent/protocol/reverse_protocol/ReverseResData.java , 2150
src/main/java/com/tencent/service/BaseService.java , 1243
src/main/java/com/tencent/service/DownloadBillService.java , 1579
src/main/java/com/tencent/service/IServiceRequest.java , 637
src/main/java/com/tencent/service/RefundQueryService.java , 1150
src/main/java/com/tencent/service/RefundService.java , 1094
src/main/java/com/tencent/service/ReverseService.java , 1103
src/main/java/com/tencent/service/ScanPayQueryService.java , 1206
src/main/java/com/tencent/service/ScanPayService.java , 1166
src/main/java/com/tencent/WXPay.java , 5953
src/main/java/META-INF/MANIFEST.MF , 52
target/classes/com/tencent/bridge/IBridge.class , 580
target/classes/com/tencent/business/DownloadBillBusiness$ResultListener.class , 474
target/classes/com/tencent/business/DownloadBillBusiness.class , 5356
target/classes/com/tencent/business/RefundBusiness$ResultListener.class , 438
target/classes/com/tencent/business/RefundBusiness.class , 5305
target/classes/com/tencent/business/RefundQueryBusiness$ResultListener.class , 474
target/classes/com/tencent/business/RefundQueryBusiness.class , 6968
target/classes/com/tencent/business/ScanPayBusiness$ResultListener.class , 527
target/classes/com/tencent/business/ScanPayBusiness.class , 10011
target/classes/com/tencent/common/Configure.class , 2657
target/classes/com/tencent/common/HttpsRequest$ResultListener.class , 269
target/classes/com/tencent/common/HttpsRequest.class , 7273
target/classes/com/tencent/common/Log.class , 1587
target/classes/com/tencent/common/MD5.class , 1817
target/classes/com/tencent/common/RandomStringGenerator.class , 972
target/classes/com/tencent/common/report/protocol/ReportReqData.class , 5851
target/classes/com/tencent/common/report/protocol/ReportResData.class , 1008
target/classes/com/tencent/common/report/Reporter.class , 1042
target/classes/com/tencent/common/report/ReporterFactory.class , 667
target/classes/com/tencent/common/report/ReportRunable.class , 1305
target/classes/com/tencent/common/report/service/ReportService.class , 1903
target/classes/com/tencent/common/Signature.class , 4584
target/classes/com/tencent/common/Util.class , 4314
target/classes/com/tencent/common/XMLParser.class , 3965
target/classes/com/tencent/Main.class , 386
target/classes/com/tencent/protocol/downloadbill_protocol/DownloadBillReqData.class , 3622
target/classes/com/tencent/protocol/downloadbill_protocol/DownloadBillResData.class , 865
target/classes/com/tencent/protocol/pay_protocol/ScanPayReqData.class , 5450
target/classes/com/tencent/protocol/pay_protocol/ScanPayResData.class , 4762
target/classes/com/tencent/protocol/pay_query_protocol/ScanPayQueryReqData.class , 3372
target/classes/com/tencent/protocol/pay_query_protocol/ScanPayQueryResData.class , 5212
target/classes/com/tencent/protocol/refund_protocol/RefundReqData.class , 4964
target/classes/com/tencent/protocol/refund_protocol/RefundResData.class , 3988
target/classes/com/tencent/protocol/refund_query_protocol/RefundOrderData.class , 3038
target/classes/com/tencent/protocol/refund_query_protocol/RefundQueryReqData.class , 4177
target/classes/com/tencent/protocol/refund_query_protocol/RefundQueryResData.class , 4478
target/classes/com/tencent/protocol/reverse_protocol/ReverseReqData.class , 3353
target/classes/com/tencent/protocol/reverse_protocol/ReverseResData.class , 2463
target/classes/com/tencent/service/BaseService.class , 1504
target/classes/com/tencent/service/DownloadBillService.class , 1182
target/classes/com/tencent/service/IServiceRequest.class , 433
target/classes/com/tencent/service/RefundQueryService.class , 975
target/classes/com/tencent/service/RefundService.class , 927
target/classes/com/tencent/service/ReverseService.class , 936
target/classes/com/tencent/service/ScanPayQueryService.class , 972
target/classes/com/tencent/service/ScanPayService.class , 924
target/classes/com/tencent/WXPay.class , 4550
target/maven-archiver/pom.properties , 116
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst , 2282
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst , 4341
target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst , 0
target/wxpay-scanpay-java-sdk-1.0.jar , 67506
没有账号? 忘记密码?

社交账号快速登录