##前言
支付宝移动支付2.0版本对比1.0版本做了较大更新,新申请的商家都需要采用最新2.0版本 SDK 才可以成功接入,老版本需要升级的需要对 APP 进行重新签约才可以。
老版本支付宝支付:
签名方式rsa1(sha1),支付宝公钥是确定的,每个商家的都是一样的。
新版本支付宝支付:
签名方式rsa2(sha256),支付宝公钥每个商家都是不同的。
升级程序实现
老版本java服务端代码:
返回订单信息供客户端调起支付宝客户端:
public static String getOrderInfo(String subject, String body,
String tradeNo, String price, String notifyurl) {
// 签约合作者身份ID
String orderInfo = "partner=" + "\"" + getAliPartnerId(tradeNo)
+ "\"";
// 签约卖家支付宝账号
orderInfo += "&seller_id=" + "\"" + getAliSellerId(tradeNo)
+ "\"";
// 商户网站唯一订单号
orderInfo += "&out_trade_no=" + "\"" + tradeNo + "\"";
// 商品名称
orderInfo += "&subject=" + "\"" + subject + "\"";
// 商品详情
orderInfo += "&body=" + "\"" + body + "\"";
// 商品金额
orderInfo += "&total_fee=" + "\"" + price + "\"";
// 服务器异步通知页面路径
orderInfo += "¬ify_url=" + "\"" + notifyurl + "\"";
// 服务接口名称, 固定值
orderInfo += <