文档章节

Android支付接入(四):联通VAC计费

piggybear
 piggybear
发布于 2015/02/16 10:32
字数 925
阅读 6
收藏 0
点赞 0
评论 0

    刚发了个电信爱游戏支付的sdk接入,接下来看下联通VAC计费的sdk接入,联通在三个运营商支付中算是要求比较少的,但联通的sdk版本更新比较频繁。不过现在的sdk接入都是向下兼容的,大家也不需要有什么顾虑。今天发的这篇文章是基于联通短代VAC计费SDK(V1.0.5)版本写的,文档及demo依旧放到了百度网盘中,需要的可以去下载:http://pan.baidu.com/share/link?shareid=429975&uk=473193131

 

注意事项:

1.联通支付是不需要自己标识软硬计费点的,当平台申请计费点的时候会提交每个计费点是否允许重复支付(即软硬计费点),支付时我们只需要传入相应的计费点即可,平台会帮我们记录哪个是软计费点,哪个是硬计费点。

2.联通需将premessable.txt文件copy到工程assets目录下,用来配置渠道,每个渠道对应不同的渠道号,例如联通渠道号为:“00012243”。

3.游戏付费完成后直接结束付费,勿添加额外的提示信息,例如:Toast,AlertDialog等。

4.AndroidManifest.xml中正确配置应用开发者ID,应用ID,AppID,渠道伪码(线下渠道)后即可进行测试付费(0.01元)

 

看下代码:

 

AndroidManifest.xml:

 

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.blogforlt.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
        <!-- 应用开发者ID   cpId: -->
        <meta-data
            android:name="cpId"
            android:value="cpid:XXXX" >
        </meta-data>

        <!-- 应用ID   AppId: -->
        <meta-data
            android:name="AppId"
            android:value="appid:XXXX" >
        </meta-data>

        <!-- 渠道伪码(线下渠道) -->
        <meta-data android:name="fidsms"
            android:value="fidsms:XXXXX" >
        </meta-data>
       
    </application>
   
    <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
 <uses-permission android:name="android.permission.SEND_SMS"/>
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

MainActivity.java:

 

findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    Fiap fiap = new Fiap(MainActivity.this);
    fiap.android_Pay(1);
   }
  });

 

Fiap.java:

 

package com.example.blogforlt;

import com.multimode_billing_sms.ui.MultiModePay;
import com.multimode_billing_sms.ui.MultiModePay.SMSCallBack;
import android.app.Activity;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast;

public class Fiap {
 
 private Activity mActivity;
 //计费点短代码
 private String charge_Point;
 //道具名称
 private String itemID= "";
 //道具金额
 private int coin;
 
 public Fiap(Activity activity){
  
  mActivity = activity;
 
 }

 
 //index是三种计费点对应的标识
 public void android_Pay(int index){
  
  switch (index) {

  case 0:
   //激活游戏
   //此处计费点填写移动平台申请的计费点的后三位作为计费点索引
   charge_Point = "000";
   itemID = "激活游戏";
   coin = 6;
   break;
  case 1:
   charge_Point = "001";
   itemID = "购买200兑换币";
   coin = 2;
   break;
  case 2:
   charge_Point = "002";
   itemID = "购买400兑换币";
   coin = 3;
   break;

  default:
   break;
  }
  
  fiapHandler.sendEmptyMessage(1);
  
 }
 
 Handler fiapHandler = new Handler(){
  public void handleMessage(android.os.Message msg) {
   if (msg.what == 1) {
    MultiModePay.getInstance().setEnableSend(true);// 调用SMS方法前必须调用
    // 参数依次为:当前界面的Context,公司名字,电话号码,游戏名,道具名,道具金额(元),计费点,回调接口
    MultiModePay.getInstance().sms(mActivity, "北京XXXXXX有限公司",
      "010-XXXXXXXX", "XXX", itemID, String.valueOf(coin),
      charge_Point, new MsgCallBack());
   }
  };
 };
 
 class MsgCallBack implements SMSCallBack {

  @Override
  public void ButtonCLick(int arg0) {
   // TODO Auto-generated method stub

  }

  @Override
  public void SmsResult(int result, String arg1) {
   // TODO Auto-generated method stub
   if (result == MultiModePay.SUCCESS) {
    
    // 支付成功的处理,直接执行支付成功后的逻辑,此处为了体现出支付成功弹了个Toast,正式使用时不要有任何提示
    Toast.makeText(mActivity, "支付成功", Toast.LENGTH_LONG).show();

    Log.i("cn.catcap.qhta", "联通方式支付成功。。。。");

   } else if (result == MultiModePay.FAILD) {

    Log.i("cn.catcap.qhta", "联通方式支付失败。。。。");

   }

   MultiModePay.getInstance().DismissProgressDialog(); // 取消进度条,此行必须有才能回到游戏界面
  }
 }
}

       至此,Android三大运营商的sdk付费接入已完成,如果大家有什么问题,意见或者建议请留言,后边我会跟大家一起来走一遍目前市场上常见的第三方平台支付接入,以及广告和微博分享

本文转载自:http://blog.csdn.net/aa294194253/article/details/39211469

共有 人打赏支持
piggybear
粉丝 3
博文 237
码字总数 37552
作品 0
西安
技术主管
移动联通电信wap和net接入点判断

在android网络开发中,对接入点判断是必不可少的,因为连接网络的时候如果是wap接入点,需要设置代。移动联通wap(代理相同:10.0.0.172:80),电信wap(代理:10.0.0.200:80) 接入点类型...

gavin_jin ⋅ 2012/02/09 ⋅ 0

让App开发更简单,腾讯云打造云端一体化移动开发和运营模式

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 互联网“下半场”,移动App开发对于质量、速度的要求更加苛刻。4月初,腾讯云正式上线移动开发平台MobileLine,借助腾讯在移动应...

腾讯云加社区 ⋅ 04/16 ⋅ 0

中国电信天翼开放平台应用内计费SDK助力IP产业升级

《中国互联网络发展状况统计报告》截至2016年12月,我国网民规模达7.31亿,其中手机网民规模达6.95亿;PC客户端游戏营收增长已接近停滞状态,我国网络游戏用户规模达到4.17亿,占整体网民的5...

玄学酱 ⋅ 04/12 ⋅ 0

IP内容本身并未无敌 开放型平台或将决定成败

近年来,IP内容备受人们欢迎,其带来强大的流量,驱动着许多付费APP开发者的追捧,但长期以来用户与开发者沟通并不顺畅,制作APP的步骤相繁琐且开发成本不菲,进而造成碎片化信息不能得到有效...

玄学酱 ⋅ 03/20 ⋅ 0

一个Android路由框架的诞生之路

经过前面三篇文章,相信大家对组件化都有了一定程度的理解。 在这个过程中一直强调了组件化的一个基础设施:路由!没有它组件化可以说是寸步难行,本篇文章我们就来谈谈一个组件化路由框架诞...

浅吟且行的未来 ⋅ 05/15 ⋅ 0

企业内部用什么PPPoE服务器好?有不到一千用户。

企业内部联通和电信双线接入,有不到一千用户。希望采用PPPoE认证和计费(时间和带宽管理),请问用什么PPPoE服务器好?

upos ⋅ 2011/05/31 ⋅ 1

Android热修复Tinker接入实战

自2016年底Android Studio3.0版本退出以来,Android提出了InstantRun热修复方案,基于这种机制,各种热修复框架竞相涌现,国内的软件大厂纷纷开发了自己的热修复框架。对于热修复的更多介绍大...

code_xzh ⋅ 05/04 ⋅ 0

大咖说:如何借助腾讯云简单、高效移动开发

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 一直以来,如何能够更快速地构建高性能,高扩展的移动应用一直是移动行业的热点。在传统模式下,开发者通过手动集成所需的各种移...

腾讯云+社区 ⋅ 06/01 ⋅ 0

Unity游戏开发——unity接入多渠道sdk

最近游戏进入最后测试和接入sdk阶段,对接了多个sdk简单记录和分享一下在接入各个渠道sdk中遇到的问题和坑,在之后或其他人看到之后可以绕过,提高效率仅此而已。 我们使用的unity开发,在选...

liang_704959721 ⋅ 2017/07/25 ⋅ 0

谷歌Android things物联网硬件接入阿里云IoT物联网套件实战

aliyun-iot-androidthings-nxp 谷歌Android things物联网硬件接入阿里云IoT物联网套件云端实战 项目代码 https://github.com/iot-blog/aliyun-iot-android-things-nxp 1.硬件设备 android th......

wongxmig ⋅ 05/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 44分钟前 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

MVC——统一报文格式的异常处理响应

在我们写controller层的时候,常常会有这样的困惑,如果需要返回一个数据是,可能为了统一回去构造一个类似下列的数据格式: { status:true, msg:"保存成功!", data:[]} 而且在写...

alexzhu592 ⋅ 昨天 ⋅ 0

[知乎]SSH框架

网上图书馆管理系统包括管理员管理和图书管理,图书借阅,查询模块等等,网上商城包括前台页面和后台管理页面,两个都是以前别人的实际项目,只是别人用的不是SSH,我把他们改用SSH了,除了S...

颖伙虫 ⋅ 昨天 ⋅ 0

android -------- 打开本地浏览器或指定浏览器加载,打电话,打开第三方app

开发中常常有打开本地浏览器加载url或者指定浏览器加载, 还有打开第三方app, 如 打开高德地图 百度地图等 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。 如果手机本身...

切切歆语 ⋅ 昨天 ⋅ 0

linux 安装docker

通过以下命令下载安装docker wget -qO- https://get.docker.com | sh 执行以上命令后输出以下内容说明安装成功,注意红框中的内容,docker安装成功后默认只有root能使用,红框中给出的提示是...

haoyuehong ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部