文档章节

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

piggybear
 piggybear
发布于 2015/02/16 10:32
字数 925
阅读 3
收藏 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
0
Android开发:使用EasyPay打造全能移动支付框架

前言 在这之前,笔者发布了两篇移动app支付相关博文,得到一些关注,但是由于博文中代码零碎,有些读者私信博主,以及加笔者qq咨询相关问题。考虑到这些,笔者把之前项目中的支付相关代码从业...

MichaelX
昨天
0
0
Android开发3g、wap、net的区别

1.通过CMNET可以获得完全的Internet访问权,可以访问pop和imap等众多互联网服务; 2.通过CMWAP只能访问网页,无法访问pop和imap等众多互联网服务。 (1) 为什么会有两个接入点?   在国际上...

TedYin
2013/11/12
0
1
OPhone2.0是梦想还是杯具?

【老杨注,本文本是日前老杨在移动Labs上的一篇稿件。今日祝贺51CTO移动开发频道http://developer.51cto.com/mobile/上线,转发至此。略有编辑】 最近被iPad、iPhone 4和Android 2.2影响,对...

yangsir
06/26
0
0
quick-cocos2d-x 接入支付宝(android)

quick-cocos2d-x 实现在lua里面完成android支付宝的接入 一、支付宝注册是很麻烦的一个过程,本文就不解释了,想了解的去官网看下注册流程。然后下载他们的sdk-WSSECUREPAY_SDK。 二、开始集...

小房小田
2014/09/23
0
7
浅谈Android中的meta-data及其应用

前言 在日常的Android开发中,AndroidManifest中总会出现一些<meta-data>标签,或是第三方SDK配置信息,或是系统配置,不禁让人思考<meta-data>到底是什么?有什么用?怎么用?有哪些应用场景...

猴亮屏
07/03
0
0
中国电信天翼开放平台应用内计费SDK助力IP产业升级

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

玄学酱
04/12
0
0
IP内容本身并未无敌 开放型平台或将决定成败

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

玄学酱
03/20
0
0
你如何评价Android系统?优缺点

Android平台手机 5大优势: 一、开放性   在优势方面,Android平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着...

叼烟斗的猫
2012/09/28
0
0
让App开发更简单,腾讯云打造云端一体化移动开发和运营模式

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

腾讯云加社区
04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6用的外库遇到的问题

要用到wmi库 pip install wmi 装后不能用还要安装pywin32库。 要用到crypto加密模块安装pip instal pycrypto装后不能用。要安装pycryptodome。...

oisan_
6分钟前
0
0
select, poll, epoll I/O复用介绍

什么是I/O复用? 内核监视多个文件描述符(I/O文件句柄),一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知应用程序进行相应的读写操作。 I/O多路复用又被称为“事件驱动”(比如读写事...

xiaoxlm
6分钟前
0
0
【Spring 系列 给IOC容器添加组件的几种方式总结】

给Spring 注册Bean的几种方式总结。其中使用@Import注解是Spring Boot 完成自动配置的一个核心注解。 1、Spring 中给IOC容器添加组件的几种方式 在Spring的配置文件中,配置Bean(基于XML方式...

HansonReal
7分钟前
2
0
bootstrapTable语言包设置

###方法一引入不同的语言包 <script src="bootstrap-table-zh-CN.js"></script> ###方法二引入全语言包 <script src="bootstrap-table-locale-all.min.js"></script>//然后在初始化前设计默......

momo1987
8分钟前
0
0
Saltstack 常用命令

1、拷贝文件到客户端 # salt 'slaver.test.com' cp.get_file salt://apache.sls /tmp/cp.txt 2、拷贝目录到客户端 # salt 'slaver.test.com' cp.get_dir salt://test /tmp 3、显示存活的客户......

硅谷课堂
9分钟前
0
0
致初学者-如何学好Python这门编程语言?[图]

致初学者-如何学好Python这门编程语言?[图]: 对于很多Python3初学者,往往会面临以下问题:Python2和Python3我该学习哪一个?是否要安装Linux系统学习Python?Python3有各种版本我该安装哪...

原创小博客
11分钟前
1
0
E31---setopt=protected_multilib=false

今天在云服务器上装nginx,需要先安装一些依赖库比如zlib, ,但是安装zlib时候报错。 yum install -y zlib zlib-devel 1 (-y 指的是如果需要选yes no的自动y)下面是报错 Protected multil...

侠客行之石头
15分钟前
0
0
HTTP常见面试题

Http与Https的区别: HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头 HTTP 是不安全的,而 HTTPS 是安全的 HTTP 标准端口是80 ,而 HTTPS 的标准端口是443 在OSI 网络模型中,H...

JK_OPERA
17分钟前
0
0
python爬取站长素材网页图片保存到ppt中

网站地址:http://sc.chinaz.com/tupian/index.html 直接上代码: import requestsfrom bs4 import BeautifulSoupfrom pptx import Presentationfrom pptx.util import Inchesimpor......

你为什么不吃药
19分钟前
1
0
Ubuntu 18.04 swap空间的修改

一、准备工作 执行“sudo swapon -s”命令,查看是否已经存在swap file 二、修改swap file # 如果第一步存在swapfile则需要先禁用sudo swapoff /swapfile# 修改swap 空间的大小为2Gs...

Iceberg_XTY
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部