文档章节

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

piggybear
 piggybear
发布于 2015/02/16 10:32
字数 925
阅读 11
收藏 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
西安
技术主管
私信 提问
BestSDK推出一站式SDK搜索服务

BestSDK平台针对目前移动开发应用接入难度大、流程繁琐、上线慢等现状,BestSDK平台已经正式开放,互动式SDK一站式搜索服务,使平台具备开发者SDK的搜索、讨论等系列功能。 BestSDK通过建立移...

老官
2015/04/26
142
1
移动联通电信wap和net接入点判断

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

gavin_jin
2012/02/09
0
0
手机在vpn环境下,怎样直接访问百度定位sdk的服务器

问题说明:我们的Android产品,手机接入了联通专网vpn。该vpn,联通已经设置成禁止访问外网,所以在这种情况下,是无法访问到百度定位sdk的服务器(因为该服务器在外网),因此也无法使用定位...

M_MissZen
2013/11/21
584
2
OGEngine举办手游开发、发行交流会议

由OGEngine举办的第二次手游开发者交流会议以圆桌会议方式在深圳高新园举行。会议不仅吸引了手游开发者,也有海外支付商,国内外的手游发行商参加。 会议环绕三大主题展开讨论和交流。主题分...

橙游OrangeGame
2014/11/03
2
0
Android项目实战(五十):微信支付 坑总结

大部分APP必备需求,使用总结  Android接入文章在此:官方文档   文档很简单,Android分为四步: 1、后台配置 2、Android 内 注册appId 3、Android 内 调起支付 4、Android 内 支付结果回...

听着music睡
08/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP生成CSV之内部换行

当我们使用PHP将采集到的文件内容保存到csv文件时,往往需要将采集内容进行二次过滤处理才能得到需要的内容。比如网页中的换行符,空格符等等。 对于空格等处理起来都比较简单,这里我们单独...

豆花饭烧土豆
今天
1
0
使用 mjml 生成 thymeleaf 邮件框架模板

发邮件算是系统开发的一个基本需求了,不过搞邮件模板实在是件恶心事,估计搞过的同仁都有体会。 得支持多种客户端 支持响应式 疼彻心扉的 outlook 多数客户端只支持 inline 形式的 css 布局...

郁也风
今天
4
0
让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字: 作者:孙冬梅;以前读韩国前总统朴槿惠的著作《绝望锻炼了我》时,里面有一句话令我印象深刻,她说“在我最困难的时期,...

原创小博客
今天
4
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
今天
17
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器,此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录,之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单,...

野雪球
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部