您的位置:首页 > 其它

项目系统功能开发(8)

2017-06-22 00:00 218 查看
摘要: 线上支付功能的加入,完善流程闭环

这周有2个工作

1.接入第三方支付模块,加入支付宝接口

2.完善流程闭环,因为线上支付的加入,需要稍微修改之前的流程的问题,主要问题是

(1)下单时,打开支付宝,并向公司账户打入金额

(2)退款功能,因为当初的疏忽,没有考虑到退款的实现,需要加入正在退款的订单状态

(3)余额提取,因为支付宝接口的特殊性,本软件不能将金额自动直接打到卖方的账户上,所以用余额的形式保存卖方获取的金钱,当用户提款时,公司工作人员打款到客户账户上

1.申请

支付宝服务的申请是比较麻烦的,和一般的第三方框架不一样,即使我们有提前准备,但是依旧持续了大约1个月的时间。各种审核,各种验证,甚至各种实名制,很是繁琐。所以提前准备很重呀。

链接:

支付宝开放平台网址

支付宝商户版网址

2.Android配置
配置方面,导入好jar包,导入项目,权限的申请,这些都需要注意。

使用上的问题就是服务端返回的签名有很多问题。以下是安卓端的处理流程:

//构造支付信息
private String build(String service_id, String service_name,
String service_detail, String service_price) {
//service_price判断与处理,此处就用string,用double-try即可
// 商户网站唯一订单号
orderInfo += "&out_trade_no=" + "\"" + service_id + "\"";
// 商品名称
orderInfo += "&subject=" + "\"" + service_name + "\"";
// 商品详情
orderInfo += "&body=" + "\"" + service_detail + "\"";
// 商品金额
orderInfo += "&total_fee=" + "\"" + service_price + "\"";
return orderInfo;
}

//后台请求签名
@Override
protected String doInBackground(Void... params) {
// 构造PayTask 对象
PayTask alipay = new PayTask(activity);
// 调用支付接口,获取支付结果
String result = alipay.pay(payInfo, true);
return result;
}

//拿到签名后,在安卓端发起支付请求
@Override
protected void onPostExecute(String result) {//result为签名
AlipayResult alipayResult = new AlipayResult(result);//其中会处理null
String resultStatus = alipayResult.getResultStatus();
//判断resultStatus 为“9000”则代表支付成功
//后续处理……
}

支付宝官方文档:

https://openhome.alipay.com/developmentDocument.htm

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  支付