摘要:闲得蛋疼接了一个坑死人的项目,,其中有一块涉及到支付宝即时到账服务,本来想使用第三方提供的服务,然而为了安全考虑,使用阿里提供的自己开发接口首先申请支付宝账号,顺便入驻开放平台,申请账号完毕后,直接找到沙箱环境在这个地方,用到的就是和支付宝
闲得蛋疼接了一个坑死人的项目,,其中有一块涉及到支付宝即时到账服务,本来想使用第三方提供的服务,然而为了安全考虑,使用阿里提供的sdk自己开发接口
首先申请支付宝账号,顺便入驻开放平台,申请账号完毕后,直接找到沙箱环境
在这个地方,用到的就是APP ID和支付宝的RSA2公钥,看到这个地方,接下来我们需要的就是支付宝的密钥了,,为了方便,直接下载支付宝提供的工具https://os.alipayobjects.com/...
直接这样生成就好了,然后将公钥提交到沙箱的公钥里,然后就搞定了,,私钥自己保留好,,这样就配置的差不多了
然后,下载php的sdk https://openhome.alipay.com/d...
下载完成后放到服务器上,由于阿里给的文档不够完善,,我看源码找了好久,而且此前没有接触此类开发,,遇到了不少麻烦,这里直接记录下
gatewayUrl = "https://openapi.alipaydev.com/gateway.do"; $c->appId = "2016080100138126"; $c->rsaPrivateKey = "私钥"; $c->format = "json"; $c->charset= "utf-8"; $c->signType= "RSA2"; $c->alipayrsaPublicKey = "支付宝公钥"; $request = new AlipayTradeAppPayRequest (); $request->setBizContent("{"timeout_express":"30m","product_code":"QUICK_MSECURITY_PAY","total_amount":"0.01","subject":"1","body":"我是测试数据","out_trade_no":"012114575097325"}"); echo $c->sdkExecute($request); ?>
注意的是上面的是支付宝公钥,,不是应用公钥,网关不用配置,这个只是提供一个思路,具体实现就不放出来了
服务器端大体就这样,返回值如下
服务器到这里就差不多了,安卓端的搭建就直接使用官方的demo修改,
所需要的目录结构就是这样了,然后直接调用接口就可以了,代码如下:
public void payV2(View v) { final String[] res = {""}; new Thread(){ @Override public void run() { super.run(); try { URL url = new URL("http://192.168.137.149/api/"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(6*1000); if(urlConnection.getResponseCode()==200){ BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); String line = ""; while ((line = reader.readLine())!=null ){ res[0] +=line; } Log.i("订单获取", res[0]); Runnable payRunnable = new Runnable() { @Override public void run() { PayTask alipay = new PayTask(PayDemoActivity.this); Mapresult = alipay.payV2(res[0], true); Log.i("msp", result.toString()); Message msg = new Message(); msg.what = SDK_PAY_FLAG; msg.obj = result; mHandler.sendMessage(msg); } }; Thread payThread = new Thread(payRunnable); EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX); payThread.start(); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); }
当然,这只是最简单的使用,到这个地方就基本完成了,不过这个是使用的服务器预设的订单信息,实际应用中,应该用客户端传递数据过去,服务器返回加签的订单信息,然后客户端调用sdk支付,最后支付宝服务器,通知app服务器,最后修改订单状态
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/22298.html
摘要:支持的付款方式主打银联信用卡等,付款可以及时到账。支持的付款方式主要是微信支付宝和京东支付。支持微信支付宝扫码支付。 最近在开发自己的网站,想要接入一个第三方的支付平台,但是处在创业初期,还没能成立公司,所以没有企业资质,想接入一款安全且性价比高的收款产品。以本人选择困难症再加点小纠结的个性,对现有的一些第三方支付接口做了一个对比,希望能给有相同需要的和正在寻求相关解决方案的朋友提供一...
摘要:支持的付款方式主打银联信用卡等,付款可以及时到账。支持的付款方式主要是微信支付宝和京东支付。支持微信支付宝扫码支付。 最近在开发自己的网站,想要接入一个第三方的支付平台,但是处在创业初期,还没能成立公司,所以没有企业资质,想接入一款安全且性价比高的收款产品。以本人选择困难症再加点小纠结的个性,对现有的一些第三方支付接口做了一个对比,希望能给有相同需要的和正在寻求相关解决方案的朋友提供一...
摘要:目前常量的含义及时到账接口,主要用于网站支付手机网站支付接口,主要用于手机浏览器移动支付接口,主要用于原生调用方式非常统一,传入的参数也被最大程度的统一化。 payment 项目2.0版本 前面已经说完了 PHP接入支付宝 即时到帐接口 回调接口也已经完成。这篇主要讲 手机网站支付 、 移动支付 接口的调用。调用方式与即时到帐 基本一样。 关于代码部分的详细解释,请 参看 PHP接入...
摘要:因公司业务需要需要给客户接入支付宝支付自己以前只做过网页版支付宝支付。添加功能完后我的应用列表就会显示添加的应用,即支付宝支付。最后别忘了在异步方法返回一个,否则支付宝会以为没支付成功,小时内每个几分钟就调一次异步接口。 因公司业务需要,需要给客户接入支付宝支付,自己以前只做过网页版支付宝支付。折腾了3天,踩了很多坑,终于搞定了,现在记录一下,分享给大家.一、首先必须通知客户先申请支付...
阅读 2452·2021-11-24 09:39
阅读 3496·2019-08-30 15:53
阅读 574·2019-08-29 15:15
阅读 2877·2019-08-26 13:23
阅读 3188·2019-08-26 10:48
阅读 615·2019-08-26 10:31
阅读 730·2019-08-26 10:30
阅读 2303·2019-08-23 18:32