tzheng517
tzheng517
  • 发布:2015-01-22 21:27
  • 更新:2016-11-24 11:20
  • 阅读:26319

java生成支付宝快捷支付订单教程及源码

分类:HTML5+

一:准备工作:
1、登录支付宝账号,签约申请“移动快捷支付”功能,支付宝签约,快捷支付需要有公司备案信息。签约网址
2、签约成功后,获取pid方法
3、使用支付宝快捷支付平台提供的密钥生成工具openssl生成公钥和私钥(工具见附件一),此附件是windows版本,mac自带openssl工具,无需下载。
生成密钥(公钥和私钥)
如何上传公钥,公钥用记事本打开,保证是一行,首尾无空格。
说明:使用openssl工具默认生成的私钥文件跟openssl.exe同目录。
私钥会在java后台代码里用于生成订单信息所用。

二:编程:
java后台,为演示方便,demo中使用servlet负责订单生成,也仅包含订单生成代码。
关键代码说明:在AlipayConfig配置合作者id、openssl生成的私钥和卖家支付宝帐号信息。
// 合作身份者ID,以2088开头由16位纯数字组成的字符串
public static String partner = "你的合作身份id";
// 商户的私钥,使用支付宝自带的openssl工具生成。
public static String private_key = "私钥";
生成订单中,其他参数为演示方便,其他参数采用默认值,各位可根据自己需求封装传递。
示例代码见附件二。
说明:代码中的合作者身份id,卖家支付宝帐号,私钥信息已经拿掉,在相应的注释地方添加上你们的相应信息即可。

三:客户端调用:
提供一个客户端调用接口地址:http://218.77.183.189:8090/javapay/payservice?total=';
因官方html5+代码中,有快捷支付示例,只需要更改其支付地址即可进行支付测试。故这里不提供客户端代码。
你只需要将附件二中的代码中修改成你的支付配置信息,部署在tomcat之类的应用服务器上就可以享用支付宝快捷支付了。写的比较啰嗦,祝好运。

2015-01-22 21:27 负责人:无 分享
已邀请:
忠陆

忠陆

楼主威武啊。谢谢

xunxun

xunxun

为什么一直显示系统繁忙,有什么解决的办法吗

  • tzheng517 (作者)

    是否是订单生成的不对,注意后台生成订单接口参数信息是否正确

    2015-07-02 11:14

  • 1***@qq.com

    不配后台 ,直接将返回的订单信息写死在前台去request请求调支付宝行么,一直报系统繁忙

    2017-03-23 05:58

terlivy

terlivy

顶一个

wanggf

wanggf

请教下,怎么创建javaweb项目,看到有人说HBuilder不支持tomcat服务器?但是我HBuilder安装了tomcat服务器但是不知道怎么创建、发布web项目!所以,向楼主请教下!!!谢谢!

嘿丶小妞

嘿丶小妞

你好,为什么我的返回值里面sign参数一直是空的呢

jeff06143132

jeff06143132

楼主,客户端的html5支付宝集成代码URL可以共享一下吗?

heyuqin

heyuqin

String sign = AlipayCore.sign(orderInfo, AlipayConfig.private_key);
IOException : DerInputStream.getLength(): lengthTag=103, too big.
为什么会报这个异常,安全密钥是在支付宝复制的,求解决!!!

  • 回首再见时光

    我也遇到类似的问题,请问你解决了吗

    2016-05-05 23:41

  • 解决了吗?

    2017-02-27 10:04

朋也

朋也 - https://tomoya92.github.io

有java版的微信支付服务端代码吗?

许惠

许惠

想问一下,你使用hbuilder开发的吗?不是不可以建立javaweb项目吗?你怎么写的Java文件?能说说吗大神求救命啊

我一直有个问题

我一直有个问题 - 还是一只菜鸟

楼主可否给我一个h5的app集成支付宝的demo,谢谢了

下垂了

下垂了 - -

为啥服务器端报这个错误呢??
java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: I
OException : DER input, Integer tag error
at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.ja
va:217)
at java.security.KeyFactory.generatePrivate(KeyFactory.java:372)
at com.alipay.util.AlipayCore.sign(AlipayCore.java:102)
at com.tzheng517.com.PayService.doGet(PayService.java:25)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

今天吃什么

今天吃什么

求微信支付服务端代码

风流搞技术

风流搞技术

调试了好几天,终于付款成功了,原来是太粗心,参数写错了,一直以为是公钥的问题。

toogu

toogu - 菜鸟程序猿

前两天实训项目中我用的是易宝的支付。想用支付宝一直没成功,谢谢楼主

笑一阵

笑一阵

为什么我一直是 为了您更好的支付体验,请使用支付宝账户付款或更新当前应用后重试
有人碰到过这种问题么

无敌大咖

无敌大咖

请问这个例子直接就可以适用于app支付的服务端了吗?怎么没见有集成支付宝的sdk呢,小白 勿喷啊

DCloud_heavensoft

DCloud_heavensoft

感谢分享,已经奖励楼主500积分。
下次分享建议使用发起文章,而不是发起问题。

该问题目前已经被锁定, 无法添加新回复