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

简介: 本帖仅供参考,非官方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的应用功能列表中是否添加“手机网站支付”并显示已签约。

三、接口集成示例代码

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以上环境) 


  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]

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]

五、显示效果

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

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

    

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

 

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

 

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

目录
相关文章
|
10月前
|
Java API 开发工具
支付与银行业线上客户协议应用中的DocuSign集成方式选择——SDK和API
跨境支付公司和Docusign进行集成时,碰到问题时的解决方案。分别用SDK和API集成后的各自使用体验。
134 2
支付与银行业线上客户协议应用中的DocuSign集成方式选择——SDK和API
|
10月前
|
安全 Java 测试技术
Spring Boot集成支付宝支付:概念与实战
【4月更文挑战第29天】在电子商务和在线业务应用中,集成有效且安全的支付解决方案是至关重要的。支付宝作为中国领先的支付服务提供商,其支付功能的集成可以显著提升用户体验。本篇博客将详细介绍如何在Spring Boot应用中集成支付宝支付功能,并提供一个实战示例。
435 2
|
9月前
|
JSON 前端开发 Java
Java与前端框架集成开发指南*
Java与前端框架集成开发指南*
|
9月前
|
安全
手机kali终端,集成安全集成工具----使用arpspoof工具给电脑断网------断网,网络攻击手段
手机kali终端,集成安全集成工具----使用arpspoof工具给电脑断网------断网,网络攻击手段
|
9月前
|
安全 定位技术 API
探讨如何在Flutter中集成支付、地图等第三方服务,以及集成过程中需要注意的问题和最佳实践
【6月更文挑战第11天】本文介绍了在Flutter中集成第三方服务,如支付和地图,以增强应用功能和用户体验。开发者可通过官方或社区插件集成服务,注意服务选择、API调用、错误处理和用户体验。支付集成涉及选择服务、获取API密钥、引入插件、调用API及处理结果。地图集成则包括选择地图服务、获取API密钥、初始化地图组件和添加交互功能。集成时要选择稳定插件、仔细阅读文档,处理错误,优化性能并遵循安全规范。随着Flutter生态发展,更多优质服务将可供选择。
146 2
|
8月前
|
XML Java 数据格式
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统33-------如何在paypel,eaby集成资料资源推荐
支付系统33-------如何在paypel,eaby集成资料资源推荐
|
8月前
|
JSON 前端开发 Java
Java与前端框架集成开发指南
Java与前端框架集成开发指南
|
10月前
|
前端开发 定位技术 API
【Flutter前端技术开发专栏】Flutter中的第三方服务集成(如支付、地图等)
【4月更文挑战第30天】本文介绍了在Flutter中集成第三方服务,如支付和地图,以增强应用功能和用户体验。开发者可通过官方或社区插件集成服务,关注服务选择、API调用、错误处理和用户体验。支付集成涉及选择服务、获取API密钥、引入插件、调用API及处理结果。地图集成则需选择地图服务、获取API密钥、初始化地图并添加交互功能。集成时注意选择稳定插件、阅读文档、处理异常、优化性能和遵循安全规范。随着Flutter生态发展,更多第三方服务将可供选择。
140 0
【Flutter前端技术开发专栏】Flutter中的第三方服务集成(如支付、地图等)
|
10月前
|
安全 API 数据安全/隐私保护
Django与第三方服务的集成:支付、邮件等
【4月更文挑战第15天】本文介绍了Django集成支付服务和邮件服务的方法。对于支付服务,包括选择支付网关(如支付宝、微信支付、Stripe)、安装Django库、配置参数、创建支付视图及处理支付结果。而对于邮件服务,涉及配置邮件服务器、使用`django.core.mail`发送邮件,以及集成SendGrid等第三方服务以增强邮件功能。集成这些服务能丰富Django应用功能,同时要注意安全性与可靠性。

热门文章

最新文章

  • 1
    【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
  • 2
    【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
  • 3
    【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
  • 4
    算法系统协同优化,vivo与港中文推出BlueLM-V-3B,手机秒变多模态AI专家
  • 5
    小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
  • 6
    Spring 集成 DeepSeek 的 3大方法(史上最全)
  • 7
    1分钟集成DeepSeek满血版!搭建智能运维助手
  • 8
    Elasticsearch AI Assistant 集成 DeepSeek,1分钟搭建智能运维助手
  • 9
    支持 40+ 插件,Spring AI Alibaba 简化智能体私有数据集成
  • 10
    云上玩转DeepSeek系列之三:PAI-RAG集成联网搜索,构建企业级智能助手