接入支付宝支付功能
在沙箱环境中调通官方Demo、
进入到蚂蚁金服的支付宝支付开发者中心
-
支付宝蚂蚁金服官网
https://open.alipay.com -
进入开发者中心
-
下载官方Demo
在这里下载javaDemo -
下载完解压,使用IDEA导入
只导入Demo -
因为这是用Eclipce编写的
-
编写properties配置文件
-
密钥生成请查看官方介绍: https://opendocs.alipay.com/open/200/105311
# 支付宝网关名、partnerId和appId open_api_domain = https://openapi.alipaydev.com/gateway.do mcloud_api_domain = http://mcloudmonitor.com/gateway.do # 商户id pid = 2088102181359293 appid = 2016102800774691 # RSA私钥、公钥和支付宝公钥 private_key = MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCFqCTUGBvIq76dNphljQgLJ0FNsgSUIw+XRUxEDAsBBAKhBwvLWXngdghVaiNdWG/LGS1s33oUtu8zmxWmvHKco4UB8x+pkeK402P8pxQbcF6aZErcLFOurXA0Dr/pLLxTQ3zFJoqToqK/VNX4BM4ShcTfai+RA+8qWc3JAwS/gPHGkkLLJQtRYni5RjH21Eg+784/m7micbnq3vl49ZnsOuETeS6aI8gEj55jIHxjBi72TC3R1G5BwlkhLFhE0VJ/sGLYVjelvmZhJY/rOSAk+rvr0tJC1z4q+bG2aWfAxu3HA/sCqjb2Ze52bbKs7vhosvIBDe6emRutAx4y/sD9AgMBAAECggEAQfE5amMSoikJ/GrJOaEhTM9rSrf/xk6eDJYmEJSYgUHHQkdFrGhS10mkxu98zzsovN2JKeQASWQQFDf5sK/dJCcRImsfPfw6DdJNzINqSjdglW/R91rvVok/iI+WY6asq6/qSSLA0CI3hYqHnrxQJ5dUEJ5FJZj5UL3J59jTaN+o4Hy2AHH3RF28nKF5lUpVBSfYbxmgSm0Vw++6MxujCpimpEhQ929R16PD2nUQ5gGOtN8CjAzIGtV0KyNffQofGrRjjwH4fNgLR9cNR7A0/9su2ltjcnWbqklmWRCwrVjkkDooYUqIVzFONJV7cy3G/ORdHB57NfEDBL2MJLR8gQKBgQD4ffqTPL18dJlYxsyar9POCKxOu3ma2tYIZHlMcAUASfdN2NUQciReGJGvwxnRVAIpySa/fg4V8K8MSSIYX+1K48h4OZ3eY8dn6Rf9RovnQXCRBdZH7hYLIzb77+/cz5pF1tpaARC+cXCBD07cK9KgKs+V6cE+NFtoa5+wdKxo0QKBgQCJsfG32DHROSA1Qf8LVv7gKPSk+T8WNnTJOLM/yNeYjiP1jiljh7djJx80dFi6lYMiwJHbHoclulEEGDCs7cLi8fCjq1wlpVbfTqByZd1GcV6yFUReQ6UTbM8y2aBnN/mS6qV7vFTIXDgAVYfSZd2C3RBcrE68swwdNSC5z7wgbQKBgQCC6Ot/cfppfIvk5yaXP5YX7x3HhKC14h/r3/K/QCyCUHVGv7rPpTJfmBX4QJJzYwyYsu4E6AXHrTqrAEREDxVV5NaR79ipdmtw5K3MssO1mxYQcMDIuDdIus6Wv3rgG0atEFmMHQ+TJPQeKdBj0XpvAt7FnZY+jRqy0jAYp/7EYQKBgHu17ScwzWlduss+tSd6DNpW0Z5a9Uw+tuSG1b0r9E/y/OnExPjQWXpzDr0w/vr8E2qouyK0JdZGtD1KgokLwPnnRz21Wr/T8d4FpW/Ch3CfsOWs59UNT4XJT8su7cdu6gMOYIlwJngxKntaXQIyVTca6HVqtf8hmnOvZOyscChtAoGBAM9chsoL90chxY+3OtlceCPF2jE3qxgeS0lWBw/mDSzKFGk3sRIz9/M/3AHlbrK93sriUGzNQcMnXMmC92A1qh8avWN4rI7ZqvkI2mRlgyesnE6vazxz3/fCbcTlGTXULY+rssBQmHzjfTLb7idfbsoRHc581B6upWrrlKuSnzNi public_key = MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhagk1BgbyKu+nTaYZY0ICydBTbIElCMPl0VMRAwLAQQCoQcLy1l54HYIVWojXVhvyxktbN96FLbvM5sVprxynKOFAfMfqZHiuNNj/KcUG3BemmRK3CxTrq1wNA6/6Sy8U0N8xSaKk6Kiv1TV+ATOEoXE32ovkQPvKlnNyQMEv4DxxpJCyyULUWJ4uUYx9tRIPu/OP5u5onG56t75ePWZ7DrhE3kumiPIBI+eYyB8YwYu9kwt0dRuQcJZISxYRNFSf7Bi2FY3pb5mYSWP6zkgJPq769LSQtc+KvmxtmlnwMbtxwP7Aqo29mXudm2yrO74aLLyAQ3unpkbrQMeMv7A/QIDAQAB #SHA1withRsa对应支付宝公钥 #alipay_public_key = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDI6d306Q8fIfCOaTXyiUeJHkrIvYISRcc73s3vF1ZT7XN8RNPwJxo8pWaJMmvyTn9N4HQ632qJBVHf8sxHi/fEsraprwCtzvzQETrNRwVxLO5jVmRGi60j8Ue1efIlzPXV9je9mkjzOmdssymZkh2QhUrCmZYI/FCEa3/cNMW0QIDAQAB #SHA256withRsa对应支付宝公钥 alipay_public_key = MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqIt3keHY4RP+Y5ycUztFf/tTfSKTZeJ+OsQDZHCl8hU1fbCRBdekeEsFzM4ZoWh4NK/58ILj7uMVyp7RlBXnAi701ynCNKAUapHfjpJOeHoo1byyTccCKGJqkGbyKT9R+DfzImMRjvTFBObiGWrt8zmG2UTXxD9YkkM2DqW0YP7bf21xgYsf1qljmaQ8n8TEYu67e+k2snHZLX3H4XhETKyznmiDUleEQda7lpmcj6yF+gEYZaX/Ww7XKvANiZaIJ5WK4YW12eOVaJwlpEm1Aqq8MLDAO27cG3OafhPIx7XFfy9v6mIJRNgg1Gduqo9yp0PLVMdgRlM2rWsTMwu3swIDAQAB # 签名类型: RSA->SHA1withRsa,RSA2->SHA256withRsa sign_type = RSA2 # 当面付最大查询次数和查询间隔(毫秒) max_query_retry = 5 query_duration = 5000 # 当面付最大撤销次数和撤销间隔(毫秒) max_cancel_retry = 3 cancel_duration = 2000 # 交易保障线程第一次调度延迟和调度间隔(秒) heartbeat_delay = 5 heartbeat_duration = 900
-
然后我们可以通过调用Demo中的main方法执行
-
红色框部分是二维码
- 可以通过草料二维码生成器去生成二维码,然后使用沙箱环境的支付宝进行扫描付款
如果以上都完成并且付款完成,就代表我们调通了,然后我们就要去让他调用一个回调函数:
这个被注释的就是他的回调方法: - 首先,我们要把这个项目部署成一个web项目
- 1、我们首先引入Tomcat
点击运行窗口,点开Edit Configurations
点击 + 找到tomcat server local
找到你的Tomcat安装路径,设置完成点击ok
- 然后把这个Demo变成一个web项目
首先,我们在当前demo下新建一个web包
把webRoot下的文件都Copy到web目录下
由于我们的jar包更换了位置,所以需要重新导入jar包
删除之前的jar
导入新的jar
- 2、把项目打成一个war包,部署到tomcat中
首先把他搞成一个web项目
然后在设置这个
把项目部署到tomcat上
运行Tomcat,就会跳转到首页,可以设置商品,扫码支付,
函数回调
设置支付宝支付的回调,二维码生成之后,如果用户扫码了,回调一次,用户支付后,会在回调一次;
这个url是外网可以访问到的,因为他是支付宝调用的这个回调网址;
所以我们会用到一个外网穿透的工具:natapp
下载网址:https://natapp.cn/
必须有这两个文件
修改配置文件 ini文件
隧道去哪里搞呢?
因为是免费的 所以他每次生成的url地址都会改变,想不变的话可以充钱哦~
然后点击打开app
把这个地址粘贴到回调方法中,一定要先启动你的程序,在启动natapp,否则他会默认占用你的端口
然后我们去写一个controller接口
让那个回调函数去调用那个接口;
然后回调没有调用,这是为啥?
因为我们的回调函数是在main方法中调用的,而项目部署在Tomcat上,所以他不会执行main方法;
所以我们应该执行main方法,把二维码通过二维码生成器生成,然后进行扫描
确认调通支付宝之后,就可以把代码拿到我们的项目中去运行