1.准备sdk
- 下载官方sdk(包含demo和文档):https://b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=4#ps-tabinfo-hash
- 进入WS_MOBILE_PAY_SDK_BASE\支付宝钱包支付接口开发包2.0标准版(201501014)\DEMO\客户端demo,解压其中安卓对应的zip,得到alipay-sdk-common为jar 包,alipay_demo是对应的demo程序
- WS_MOBILE_PAY_SDK_BASE\支付宝钱包支付接口开发包2.0标准版(201501014)下有2个帮助说明文档
2.商户签约
- 注册支付宝企业账户
- 点击在线申请:https://b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=4#ps-tabinfo-hash
- 等待审核通过
3.配置信息获取和生成:
调用支付sdk需要以下配置信息:
//商户PID
public static final String PARTNER = "";
//商户收款账号
public static final String SELLER = "";
//商户私钥,pkcs8格式
public static final String RSA_PRIVATE = "";
//支付宝公钥
public static final String RSA_PUBLIC = "“;
public static final String PARTNER = "";
//商户收款账号
public static final String SELLER = "";
//商户私钥,pkcs8格式
public static final String RSA_PRIVATE = "";
//支付宝公钥
public static final String RSA_PUBLIC = "“;
- 使用签约支付宝账号登录支付宝网站,点击“签约管理”栏目下的“签约订单”
- 点击:查看PID|KEY,可以看到PID
- 输入支付宝密码,可以查到到KEY和支付宝公钥(我们使用RSA加密算法)
- 使用openssl生成商户的公钥和私钥:WS_MOBILE_PAY_SDK_BASE\支付宝钱包支付接口开发包2.0标准版(201501014)\DEMO\openssl\bin,具体方法见帮助文档
- 上传商户公钥给支付宝,具体方法见帮助文档
- 当该商户发送请求给支付宝时,用商户私钥签名,支付宝用他给的公钥验证签名,可以保证该信息是由他发送的。
4.集成sdk,调用支付接口
- 调用PayTask的pay方法,根据文档传入相应的参数,即可发起支付请求,pay方法的调用时同步的,返回字符串代表支付的结果
- 参数中的notify_url用于异步通知,由支付宝调用指定的服务器webservice接口,把支付结果返回给服务器,如果配置了这个参数,会同时返回同步通知(pay的返回值)和异步通知
- 退款接口在WS_MOBILE_PAY_SDK_BASE\即时到账批量退款有密接口-refund_fastpay_by_platform_pwd(20150825)中,只能由服务器调用(java php等),app无法直接发起退款,只能通知服务端发起