2019独角兽企业重金招聘Python工程师标准>>>

在使用豌豆荚支付之前,先要下载豌豆荚SDK并阅读一下豌豆荚文档 SDK和文档

首先添加wdjpayplugin.jar到Android工程libs目录下,再添加assets_wdj420.apk到assets下

具体的实现:

  1. 首先要初始化SDK,在onCreate方法中初始化

    PayConfig.init(context, appkey_id, secretkey);// appkey_id,secret是在豌豆荚平台由开发者申请的
  2. 让用户登录豌豆荚平台

      private WandouAccount account = new WandouAccountImpl();account.doLogin(context, new LoginCallBack() {@Overridepublic void onSuccess(User user, int type) {// 豌豆荚账户UIDLong uid = user.getUid();// 豌豆荚账户昵称String nick = user.getNick();// 豌豆荚账户登录验证 Token ,15分钟内有效String token = user.getToken();// 1.请把uid,token 提交游戏服务器// 2.游戏服务器收到uid,token后提交给豌豆荚服务器验证// 3.验证通过后,游戏服务器生成一个 cookie 给游戏客户端使用// 4.游戏客户端得到游戏的cookie 与游戏服务器进行交互通信,保证身份验证安全
  3. 支付:

    public void pay(float money){WandouPay wandouPay = new WandouPayImpl();WandouOrder order = new WandouOrder(""// 游戏名称, ""),// 商品名称(long) (money * 100));//钱数// 设置游戏订单号,最长50个字符order.setOut_trade_no("订单号");// 触发支付wandouPay.pay(context, order, new PayCallBack() {@Overridepublic void onSuccess(User user, WandouOrder order) {Log.i("ccc", "onSuccess:" + order);}@Overridepublic void onError(User user, WandouOrder order) {Log.i("ccc", "onError:" + order);}});
    }

支付中的onSuccess回调只是代表客户端支付完成,具体付款成功是以豌豆荚服务器通知回调为准。

在豌豆荚开发者后台上传应用时,需要配置一个回调地址,这个回调地址就是豌豆荚用来通知游戏服务器支付成功的,在支付成功之后豌豆荚服务器会以post方式去请求这个url

post中所带参数有以下三种类型:

具体服务器端实现(java,服务器参考代码也在sdk文档中):

  1. RSA验证:

    boolean check = WandouRsa.doCheck(content, sign);//content sign分别是上面post中的内容
    //RSA校验
    public static boolean doCheck(String content, String sign) {try {KeyFactory keyFactory = KeyFactory.getInstance("RSA");byte[] encodedKey = Base64.decode(WandouPublicKey);PublicKey pubKey = keyFactory.generatePublic(new X509EncodedKeySpec(encodedKey));java.security.Signature signature = java.security.Signature.getInstance(SIGN_ALGORITHMS);signature.initVerify(pubKey);signature.update(content.getBytes("utf-8"));boolean bverify = signature.verify(Base64.decode(sign));return bverify;} catch (Exception e) {e.printStackTrace();}return false;}
  2. 在校验成功之后,服务器端进行购买成功之后操作,如增加金币,解锁装备等。注意豌豆荚为防止漏单,会在游戏服务器没有返回success之后多次请求回调url,应当注意success并增加防止重复订单机制,防止多次加钱

支付测试:

豌豆荚不像谷歌,91有支付测试环境,具体的支付测试需要支付真实money(囧)。不过办法总是有的:我们可以将支付金额设置为0.01元,之后用支付宝进行测试,因为银行卡最低支付金额是1元。

待支付宝支付成功之后,再测试1元的银行卡或信用卡支付,这两种支付都成功之后,应该就差不多了。

转载于:https://my.oschina.net/zxc1991/blog/226968

Android游戏集成豌豆荚支付相关推荐

  1. Android端集成支付宝支付

    Android端集成支付宝支付 1.申请账号及配置变量 支付宝快速接入链接点击打开链接 支付宝扫码或者账号密码登录 下面是支付宝给出的接入介绍 第一步:创建应用并获取APPID 要在您的应用中接入支付 ...

  2. Android app集成微信支付

    Android app集成微信支付 鉴于微信支付的文档入口不太容易找到.以及文档中有些逻辑不通或者容易产生歧义或者缺失一些信息的情况,记录下此次接入的流程和需要关注的一些点. 使用的是app支付-&g ...

  3. 详细教程: android项目集成PayPal 支付

    2017年7月5日  更新了, 总体该说的都说了, 后面再看看还有啥细节补充吧. 项目是跨境电商,国外的支付需要集成paypal支付,在网上搜了好久,教程都是断断续续,对开发者来说不太友好! 好在现在 ...

  4. 安卓-Android如何集成支付宝支付(集成阿里支付)详解。Android接入alipay支付

    支付宝支付官网地址: 打开官网 服务器端如何拼接Orderinfo所需参数请看这篇文章.打开链接 安卓app集成阿里支付流程: 步骤一:下载aar和demo,并将aar添加到安卓项目依赖里.点击查看如 ...

  5. Android下集成Paypal支付

    近期项目需要研究paypal支付,官网上的指导写的过于复杂,可能是老外的思维和中国人不一样吧.难得是发现下面这篇文章: http://www.androidhive.info/2015/02/andr ...

  6. Android app集成支付宝支付

    支付宝支付 其实是比较简单的,但因为发起订单总是失败,经过各种测试.排除,最终确定是服务端返回数据有误造成的.所以严格来说支付宝文档等没有什么问题,问题在于后端程序员不认真看文档和测试. 申请id需要 ...

  7. Android Android Studio 集成豌豆荚App墙广告

    开发工具:Android Studio 1.1.0 豌豆荚SDK:1.6.6 1.前提:拥有了 Appkey ID.Secret Key.广告位ID 2.说明:将豌豆荚的广告墙放置到自己的应用中,他会 ...

  8. Android怎么集成支付宝支付和微信支付功能(上)

    看到网上写支付的文章不多,又有感于许多资料和官网内容中到处都有坑,填过坑的我决定让支付简单点(想起了我当初到处找资料的情景,唉,心累).为便于浏览,分为支付宝支付和微信支付上下两篇.看官请看..... ...

  9. 集成Lua到你的Android游戏 - 转

    当前众多游戏引入脚本语言作为快速发布内容以及灵活扩展的解决方案,在寻找向Android应用集成Lua脚本语言的方案时,大量零碎的资料并没有向开发者指引一个明确的方向.在这里我把自己通过整合资料完成的方 ...

最新文章

  1. linux操作系统信号捕捉函数之sigaction用法小结
  2. 优质的程序员需为代码效率而呕心沥血
  3. 夸计算机老师的成语,夸赞老师的成语
  4. php 关闭 row,MySql php:检查Row是否存在
  5. linux etcfstab文件,Linux中/etc/fstab文件详解
  6. JSP 页面缓存以及清除缓存
  7. 快速排序算法的发明者霍尔
  8. IOS appstore 发布
  9. iPhone12基带确认,果粉放心
  10. 谷粒学苑项目实战(九):实现阿里云对象存储OSS功能
  11. ath9k网卡驱动相关
  12. 阶段性小结(一)---R语言回归案例实战算法比较
  13. PHP 短信验证码验证(短信宝)
  14. 一文搞定Python中的时间转化
  15. windows下文本转语音TTS库封装
  16. matlab step函数跟踪斜坡信号及阶跃响应绘图
  17. MATLAB绘图常见问题1(多子图情况下如何设置一个右侧的colorbar)
  18. ios12怎么滑屏解锁_iOS13屏蔽更新描述文件失效了怎么办?iOS13屏蔽系统更新教程...
  19. 精致树叶鼠标指针(两款)
  20. 戴尔游匣G15怎么样?不看完答案你都不知道~

热门文章

  1. 机器学习理论 之 经验风险最小化(Empirical Risk Minimization)
  2. 挽救市场信誉度,三星正面回应手机爆炸缘由
  3. stimulsoft 变量
  4. 008--【SpringBoot】过滤器,拦截器,切面
  5. 网络 — MB/s、Mb/s、Mbps、Mbit/s、Kbps
  6. python通过pyautogui库来控制鼠标和键盘
  7. 海岱物联星空社团成员在第六届电子竞技全国高校联赛山东省总决赛中获佳绩
  8. (vue)在ajax获取数据时使用loading组件不起作用
  9. rsync同步脚本示例,带有exclude参数说明
  10. 【如何拍出一条好的vlog】素材篇