手机网站支付集成开发指南分享

简介: 本帖仅供参考,非官方demo一、文档地址手机网站支付文档地址:[url]https://docs.open.alipay.com/203[/url]二、开发前准备工作1、签约:[url]https://openclub.

本帖仅供参考,非官方demo

一、文档地址

手机网站支付文档地址:[url]https://docs.open.alipay.com/203[/url]

二、开发前准备工作

1、签约:[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url]

2、创建应用:[url]https://openclub.alipay.com/read.php?tid=1606&fid=72[/url]

3、生成密钥:[url]https://openclub.alipay.com/read.php?tid=1833&fid=69[/url]

4、下载服务端sdk:[url]https://docs.open.alipay.com/54/106370/[/url]

如何签约以及签约无法成功等相关签约问题[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url]

注意事项:1、支持沙箱测试;2、需签约并添加功能;3、不支持第三方调用。

检查调用appid的应用功能列表中是否添加“手机网站支付”并显示已签约。

62_25168_5d87b7bfaae54ee.png

三、接口集成示例代码

1、参数说明

(1)out_trade_no:商户订单号,由商户自定义设置;

(2)subject:商品标题;

(3)product_code:固定产品码值:QUICK_WAP_WAY;

(4)total_amount:交易订单金额,精确到小数点后2位,最小设置为0.01;

2、JAVA版请求示例

(适用于jdk1.5以上)

	//获得初始化的AlipayClient	    AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key,AlipayConfig.sign_type);	    AlipayTradeWapPayRequest alipayRequest=new AlipayTradeWapPayRequest();	    //设置同步回调地址,用于支付成功后页面跳转				alipayRequest.setReturnUrl(AlipayConfig.return_url);		//设置异步回调地址,用于支付成功后post接收返回的订单信息		alipayRequest.setNotifyUrl(AlipayConfig.notify_url);		AlipayTradeWapPayModel model = new  AlipayTradeWapPayModel();		model.setSubject("手机网站支付测试");		model.setTotalAmount("0.01");		//设置中途退出返回按钮,添加后h5支付收银台会出现返回按钮,用于付款中途退出并返回传值页面。注:该参数对支付宝钱包标准收银台下的跳转不生效。		model.setQuitUrl("https://docs.open.alipay.com/203/107090/");		model.setProductCode("QUICK_WAP_WAY");		//自定义参数请转码后传入该参数内,可以传值逗号,等号之类,但不能传引号,否则会报错,其他特殊符号是否报错以实测为准		String passback_params	 = "{channelcode:alipay,instcode:alipay}";		String passback_params2 =URLEncoder.encode(passback_params,"UTF-8");		model.setPassbackParams(passback_params2);                //该笔订单允许的最晚付款时间,逾期将关闭交易                model.setTimeoutExpress("1m");		alipayRequest.setBizModel(model);		/**		 *  BizContent传值模式		alipayRequest.setBizContent("{\"out_trade_no\":\"2018092031012228432\"," 				+ "\"total_amount\":\"0.01\"," 				+ "\"subject\":\"手机网站支付测试\"," 				+ "\"quit_url\":\""+ quit_url +"\"," 				+ "\"passback_params\":\""+ passback_params2 +"\"," 				+ "\"product_code\":\"QUICK_WAP_WAY\"}");		**/		//get请求方式       AlipayTradeWapPayResponse response = alipayClient.pageExecute(alipayRequest,"get");		//post请求方式	//AlipayTradeWapPayResponse response = alipayClient.pageExecute(alipayRequest);		if(response.isSuccess()){			System.out.println("调用成功");		} else {			System.out.println("调用失败");		}		System.out.println(response.getBody());

注:timeout_express是订单创建之后才开始计时生效的,而不是接口调用成功开始生效!!!

 

3、PHP版请求示例

(适用于ph5.5以上环境) 

<?php/** *  * 手机网站支付文档地址:[url]https://docs.open.alipay.com/203/107090/[/url] */require_once 'AopSdk.php';$aop = new AopClient ();$aop->appId = '填写您的appid';$aop->rsaPrivateKey = '填写您的私钥';$aop->alipayrsaPublicKey='填写您的支付宝公钥';$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$aop->apiVersion = '1.0';$aop->postCharset='utf-8';$aop->format='json';$aop->signType = 'RSA2';//生成随机订单号$date=date("YmdHis");$arr=range(1000,9999);shuffle($arr);$request = new AlipayTradeWapPayRequest ();//收款方账户类型为:ALIPAY_LOGONID:支付宝登录号,支持邮箱和手机号格式。$request->setBizContent("{" .    "\"out_trade_no\":\"".$date.$arr[0]."\"," .    "\"total_amount\":\"0.1\"," .	"\"subject\":\"tets\"," .    "\"product_code\":\"QUICK_WAP_WAY\"" .    "}");//get请求,返回链接$result = $aop->pageExecute($request,"get");//post请求,返回表单//$result = $aop->pageExecute($request);print_r(htmlspecialchars($result));?>

 

4、.NET版请求参数

适用于Visual studio 2010及以上版本、Framework3.5 SP1及以上版本的开发环境

注:适用于Visual studio 2010及以上版本、Framework3.5 SP1及以上版本的开发环境

  IAopClient client = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", Com.Alipay.Config.appId, Com.Alipay.Config.merchant_private_key, "json", "1.0", "RSA2", Com.Alipay.Config.alipay_public_key, "GBK", false);            AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();//创建API对应的request            AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();            model.OutTradeNo = "2018092815181234561223434123";            model.Subject = "手机网站支付测试";            model.TotalAmount = "0.01";            model.ProductCode = "QUICK_WAP_WAY";            alipayRequest.SetBizModel(model);            //默认请求方式为post,返回form表单           // AlipayTradeWapPayResponse response = client.pageExecute(alipayRequest);            //传入GET,返回http链接            AlipayTradeWapPayResponse response = client.pageExecute(alipayRequest, "", "GET");            //post请求,返回form表单           // AlipayTradeWapPayResponse response = client.pageExecute(alipayRequest);            Console.WriteLine("手机网站支付返回信息:" + response.Body);

 

get请求返回结果

[url]https://openapi.alipaydev.com/gateway.do?alipay_sdk=alipay-sdk-java-3.3.1&app_id=2016101800718925&biz_content=%7B%22out_trade_no%22%3A%222018110510414153215%22%2C%22passback_params%22%3A%22%257Bchannelcode%253Aalipay%252Cinstcode%253Aalipay%257D%22%2C%22product_code%22%3A%22QUICK_WAP_WAY%22%2C%22quit_url%22%3A%22https%3A%5C%2F%5C%2Fdocs.open.alipay.com%5C%2F203%5C%2F107090%5C%2F%22%2C%22subject%22%3A%22%E6%89%8B%E6%9C%BA%E7%BD%91%E7%AB%99%E6%94%AF%E4%BB%98%E6%B5%8B%E8%AF%95%22%2C%22total_amount%22%3A%220.01%22%7D&charset=utf-8&format=JSON&method=alipay.trade.wap.pay&notify_url=http%3A%2F%2F106.14.187.178%2Fopendevtools%2Fnotify%2Fdo%2Fa9bed896-0fc0-4b05-ba55-6a2550cacd36&return_url=https%3A%2F%2Fwww.baidu.com%2F&sign=f1acmfoP8oMJDX2ctxQcu%2BJHXsauURqmoEQzaStDpiXz9P1pSbOieaHSLwERSUGsk9wKyMpyiNmyOKbeMQsVNVWJHyHB%2FZiRGvFDec3keXc8dv%2BFrhEU%2BsZDPB%2FznK8jpHseX6ClWrKMWUoCmznO51Hfp7VNjeTQOSnsHodPDK3G6Sp55N7v0rxAybgnuQRBkdA7Y4Woj4ewX7w9zTGE9SEKJgoQY%2FOamrYfsrJVaHuA%2Fjj%2Be4r%2B8Eue%2BCTQ%2B7Wx4VUYtktgKoLKWKWJtkrsj%2FGk3IKVfiATfFQ5r4NW6gvv0kR83fjSMVD%2FZze913nCUbqlARkLh0x%2FeMv2PPntHg%3D%3D&sign_type=RSA2&timestamp=2018-11-06+10%3A41%3A23&version=1.0[/url]

post返回结果

四、注意事项

1、如何查看沙箱买家账号

地址:[url]https://openhome.alipay.com/platform/appDaily.htm?tab=account[/url]

62_747_fb2aa8349ab8812.png

2、辅助接口

alipay.trade.query(统一收单线下交易查询)集成流程:[url]https://openclub.alipay.com/read.php?tid=13842&fid=56[/url]

alipay.trade.refund(统一收单交易退款接口) 集成流程:[url]https://openclub.alipay.com/read.php?tid=13853&fid=56[/url]

alipay.trade.fastpay.refund.query(统一收单交易退款查询) :[url]https://openclub.alipay.com/read.php?tid=13962&fid=56[/url]

alipay.trade.close(统收单交易关闭接口)集成流程:[url]https://openclub.alipay.com/read.php?tid=13963&fid=56[/url]

alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址):[url]https://openclub.alipay.com/read.php?tid=14016&fid=56[/url]

五、显示效果

将返回结果传到前端,显示效果如下:

将沙箱返回链接放入手机浏览器中访问,如果手机中装有支付宝,则会弹出在浏览器上弹出收银台(如图三)正式环境则是直接跳转到支付宝钱包唤起收银台(如图四)

62_747_e0a89b327e15cf7.png62_747_184e6f882eb86ab.png62_747_1e43fd5b17b609b.png    62_747_86d1b2bc901141f.png

 
如果没有安装支付宝钱包,则点击继续支付,输入账号密码进行登录支付
注意:沙箱不支持手机号码登录!!!!必须使用沙箱账号登录

62_747_767028ca0e6d29a.png62_747_e90b50da1d99266.png62_747_04ffb01ce994b71.png

 

注意:未输入密码之前,支付宝订单还是为创建状态,只有输入密码之后,才会生成支付宝订单,所以这个时候用查询接口查询会报错“订单不存在” 

 

 如有疑问,欢迎大家留言提问或者吐槽,谢谢大家!!!!

目录
相关文章
|
2月前
|
Java API 开发工具
支付与银行业线上客户协议应用中的DocuSign集成方式选择——SDK和API
跨境支付公司和Docusign进行集成时,碰到问题时的解决方案。分别用SDK和API集成后的各自使用体验。
46 2
支付与银行业线上客户协议应用中的DocuSign集成方式选择——SDK和API
|
Java
Springboot集成第三方jar快速实现微信、支付宝等支付场景
Springboot集成第三方jar快速实现微信、支付宝等支付场景
517 0
Springboot集成第三方jar快速实现微信、支付宝等支付场景
|
4月前
|
Java 开发工具
解决SpringBoot集成支付宝支付中文订单描述验签错误问题
解决SpringBoot集成支付宝支付中文订单描述验签错误问题
32 0
|
5月前
|
设计模式 Java Maven
淘东电商项目(60) -聚合支付(集成支付宝)
淘东电商项目(60) -聚合支付(集成支付宝)
43 0
|
5月前
|
设计模式 数据库
淘东电商项目(59) -聚合支付(集成银联支付)
淘东电商项目(59) -聚合支付(集成银联支付)
44 0
|
8月前
|
机器学习/深度学习 JavaScript 前端开发
2023最新之 教你如何使用Springboot集成支付宝沙箱支付(支持回调- 亲测有效)
2023最新之 教你如何使用Springboot集成支付宝沙箱支付
488 0
|
消息中间件 自然语言处理 Java
ElasticSearch 学习笔记(四)-----ES在SpringBoot中的集成以及项目应用开发指南
接上一篇ElasticSearch 学习笔记(三)-----ES的设计原理以及分词器说明。今天我们主要介绍ES 与SpringBoot 的集成以及项目应用开发指南。
750 0
ElasticSearch 学习笔记(四)-----ES在SpringBoot中的集成以及项目应用开发指南
|
安全 小程序 开发工具
Python3+Django2集成PayPal(贝宝)跨境支付三方接口以及订单查询和退款业务
如果您所在的公司涉及外贸或者跨境支付业务,那一定听说过大名鼎鼎的PayPal,总的来说,PayPal在跨国贸易里的优势还是比较大的,作为一种外贸支付方式,目前在国际贸易支付服务中倍受亿万用户追捧,是全球商户和消费者最受欢迎的电子支付方式之一,在跨境交易中有着超过90%的卖家和超过85%的买家认可并正在使用PayPal电子支付业务。当然,PayPal国际业务体量如此惊人,肯定不是毫无原因的。
Python3+Django2集成PayPal(贝宝)跨境支付三方接口以及订单查询和退款业务
|
Arthas 小程序 前端开发
抖音小程序集成支付宝支付
抖音小程序集成支付宝支付
1090 0
抖音小程序集成支付宝支付

热门文章

最新文章