支付宝客户端移动支付客户端和服务端是怎么使用

手机怎么使用支付宝付款码?
作者:佚名
字体:[ ] 来源:互联网 时间:02-02 16:19:39
手机支付宝付款码怎么用?以前逛街购物都要携带钱包、银行卡,现在随着智能手机的快速发展,给我们生活带来了极大的便利,那么跟小编来了解下,如何通过手机支付宝付款码进行线下购物付款或者转账给小伙伴呢?下面分享支付宝付款码的使用方法
以前逛街购物都要携带钱包、银行卡,现在随着智能手机的快速发展,给我们生活带来了极大的便利,那么跟小编来了解下,如何通过手机支付宝付款码进行线下购物付款或者转账给小伙伴呢?
软件名称:支付宝钱包手机客户端 for iPhone v9.0.6 苹果免费版软件大小:47.5MB更新时间:
软件名称:支付宝钱包Android客户端 v9.9.2.090801 安卓免费版软件大小:46.7MB更新时间:
软件名称:支付宝钱包电脑版官方版
pc版软件大小:20.9MB更新时间:
1、下载安装手机支付宝8.2最新版,输入手势密码直接登录进入支付宝。。
2、打开手机支付宝,在主页界面右上角找到&付款码&,然后点击进入。。
3、跳出&在支持付款码的商家,向收银员出示此码,轻松完成付款&提示,点击&我知道了&跳过提示,出现条形码和二维码。
4、点击条形码或者二维码放大,然后利用扫描枪或者手机扫一扫该码。
5、输入付款金额或者转账金额,然后点击付款,输入手机支付密码,点击支付即可。
大家感兴趣的内容
12345678910
最近更新的内容你的位置: &
& android 客户端支付宝 php服务器端编写
生成私钥输入&genrsa -out rsa_private_key.pem 1024&命令,回车后,在当前 bin 文件目 录中会新增一个 rsa_private_key.pem 文件,其文件为原始的商户私钥(请妥善保 存该文件,PHP 开发语言中需要使用该文件),&&生成公钥输入&rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem&命令回车 后,在当前 bin 文件目录中会新增一个 rsa_public_key.pem 文件,其文件为原始 的商户公钥(请妥善保存该文件,PHP 开发语言中需要使用该文件)&&生成Android用的pkcs8输入命令&pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt&并回车&&php器端需要刚才生成的rsa_private_key.pem和支付宝提供的demo中得alipay_public_key.pem&
转载请注明: >>
与本文相关的文章
等待大佬打赏中~
算了不给了
打赏无悔,概不退款支付宝支付
参考文档:
1、客户端调用服务器端接口,服务器端返回签名后的订单信息,代码如下:
//获取订单信息,返回客户端
public static String getPayInfo(String subject, String body, String tradeNo, String price) {
String info = getOrderInfo(subject, body, tradeNo, price);
String sign = sign(info);
sign = URLEncoder.encode(sign, &UTF-8&);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
String payInfo = info + &&sign=\&& + sign + &\&&& + getSignType();
return payI
* create the order info. 创建订单信息
private static String getOrderInfo(String subject, String body, String tradeNo, String price) {
// 签约合作者身份ID
String orderInfo = &partner=& + &\&& + Keys.DEFAULT_PARTNER + &\&&;
// 签约卖家支付宝账号
orderInfo += &&seller_id=& + &\&& + Keys.DEFAULT_SELLER + &\&&;
// 商户网站唯一订单号
orderInfo += &&out_trade_no=& + &\&& + tradeNo + &\&&;
// 商品名称
orderInfo += &&subject=& + &\&& + subject + &\&&;
// 商品详情
orderInfo += &&body=& + &\&& + body + &\&&;
// 商品金额
orderInfo += &&total_fee=& + &\&& + price + &\&&;
// 服务器异步通知页面路径,也可以是通知的接口
orderInfo += &&notify_url=& + &\&& + &/receive_notify.htm& + &\&&;
// 服务接口名称, 固定值
orderInfo += &&service=\&mobile.securitypay.pay\&&;
// 支付类型, 固定值
orderInfo += &&payment_type=\&1\&&;
// 参数编码, 固定值
orderInfo += &&_input_charset=\&utf-8\&&;
// 设置未付款交易的超时时间
// 默认30分钟,一旦超时,该笔交易就会自动被关闭。
// 取值范围:1m~15d。
// m-分钟,h-小时,d-天,1c-当天(无论交易何时创建,都在0点关闭)。
// 该参数数值不接受小数点,如1.5h,可转换为90m。
orderInfo += &&it_b_pay=\&30m\&&;
// extern_token为经过快登授权获取到的alipay_open_id,带上此参数用户将使用授权的账户进行支付
// orderInfo += &&extern_token=& + &\&& + extern_token + &\&&;
// 支付宝处理完请求后,当前页面跳转到商户指定页面的路径,可空
orderInfo += &&return_url=\&\&&;
return orderI
* sign the order info. 对订单信息进行签名
* @param content
* 待签名订单信息
private static String sign(String content) {
return SignUtils.sign(content, Keys.PRIVATE);
* get the sign type we use. 获取签名方式
private static String getSignType() {
return &sign_type=\&RSA\&&;
2、客户端直接调用支付宝客户端,支付订单
3、服务器端获取支付宝服务器端返回的异步通知,通知信息见
接收通知的为订单信息中的notify_url,然后按照步骤:
1、验证签名
首先必需,然后验证是否是支付宝发来的通知。
代码如下:
* 根据反馈回来的信息,生成签名结果
* @param Params
* 通知返回来的参数数组
* @param sign
* 比对的签名结果
* @return 生成的签名结果
public static boolean getSignVeryfy(Map&String, String& Params, String sign) {
// 过滤空值、sign与sign_type参数
Map&String, String& sParaNew = AlipayCore.paraFilter(Params);
// 获取待签名字符串
String preSignStr = AlipayCore.createLinkString(sParaNew);
// 获得签名验证结果
boolean isSign =
if (AlipayConfig.sign_type.equals(&RSA&)) {
isSign = RSA.verify(preSignStr, sign, AlipayConfig.alipay_public_key, AlipayConfig.input_charset);
return isS
* 除去数组中的空值和签名参数
* @param sArray
* 签名参数组
* @return 去掉空值与签名参数后的新签名参数组
public static Map&String, String& paraFilter(Map&String, String& sArray) {
Map&String, String& result = new HashMap&String, String&();
if (sArray == null || sArray.size() &= 0) {
for (String key : sArray.keySet()) {
String value = sArray.get(key);
if (value == null || value.equals(&&) || key.equalsIgnoreCase(&sign&) || key.equalsIgnoreCase(&sign_type&)) {
result.put(key, value);
* 把数组所有元素,并按照“参数=参数值”的模式用“&”字符拼接成字符串
* @param params
* 需要参与字符拼接的参数组
* @param sorts
* 是否需要排序 true 或者 false
* @return 拼接后字符串
public static String createLinkString(Map&String, String& params) {
List&String& keys = new ArrayList&String&(params.keySet());
Collections.sort(keys);
String prestr = &&;
for (int i = 0; i & keys.size(); i++) {
String key = keys.get(i);
String value = params.get(key);
if (i == keys.size() - 1) {// 拼接时,不包括最后一个&字符
prestr = prestr + key + &=& +
prestr = prestr + key + &=& + value + &&&;
* RSA验签名检查
* @param content 待签名数据
* @param sign 签名值
alipay_public_key 支付宝公钥
* @param input_charset 编码格式
* @return 布尔值
public static boolean verify(String content, String sign, String alipay_public_key, String input_charset)
KeyFactory keyFactory = KeyFactory.getInstance(&RSA&);
byte[] encodedKey = Base64.decode(alipay_public_key);
PublicKey pubKey = keyFactory.generatePublic(new X509EncodedKeySpec(encodedKey));
java.security.Signature signature = java.security.Signature
.getInstance(SIGN_ALGORITHMS);
signature.initVerify(pubKey);
signature.update( content.getBytes(input_charset) );
boolean bverify = signature.verify( Base64.decode(sign) );
catch (Exception e)
e.printStackTrace();
2、验证是否是支付宝发来的通知
代码如下:
* 获取远程服务器ATN结果,验证返回URL
* @param notify_id
* 通知校验ID
* @return 服务器ATN结果 验证结果集: invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空 true
* 返回正确信息 false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟
public static String verifyResponse(String notify_id) {
// 获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求
String partner = AlipayConfig.
String veryfy_url = HTTPS_VERIFY_URL + &partner=& + partner + &&notify_id=& + notify_
return checkUrl(veryfy_url);
* 获取远程服务器ATN结果
* @param urlvalue
* 指定URL路径地址
* @return 服务器ATN结果 验证结果集: invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空 true
* 返回正确信息 false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟
public static String checkUrl(String urlvalue) {
String inputLine = &&;
URL url = new URL(urlvalue);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
inputLine = in.readLine().toString();
} catch (Exception e) {
e.printStackTrace();
inputLine = &&;
return inputL
3、业务数据处理
1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号,2、判断total_fee是否确实为该订单的实际金额(即商户订单创建时的金额),3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email),4、判断partner_id是否为商户本身。上述步骤1、2、3、4任何一个验证不通过,则表明本次通知是异常通知,务必忽略。在上述验证通过后商户必须根据支付宝不同类型的业务通知,正确的进行不同的业务处理,并且过滤重复的通知结果数据。在支付宝的业务通知中,只有交易通知状态为TRADE_SUCCESS或TRADE_FINISHED时,支付宝才会认定为买家付款成功。
支付宝服务器端jar包本地maven生成(maven已安装):
<span style="font-family:Microsoft YaHei,STX font-size:12 color:#、下载支付宝服务器端jar包到本地
2、alipay-sdk-java03.jar移动到D盘根目录
<span style="font-size:12 color:#、在命令行窗口执行如下命令:
mvn install:install-file -Dfile=D:\alipay-sdk-java03.jar -DgroupId=com.alipay -DartifactId=sdk-Java
-Dversion=03 -Dpackaging=jar
<span style="font-size:12 color:#、
maven配置:
&dependency&
&groupId&com.alipay&/groupId&
&artifactId&sdk-Java&/artifactId&
&version&03&/version&
&/dependency&
<span style="font-size:12 color:#、更新项目maven
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1582次
排名:千里之外
(2)(1)(2)(1)

我要回帖

更多关于 支付宝java服务端开发 的文章

 

随机推荐