Bmob 移动端支付

来源:互联网 发布:媒体播放器软件下载 编辑:程序博客网 时间:2024/06/05 10:09

1.导入jar包

这里写图片描述


2.修改AndroidManifest.xml

添加权限

<uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

添加 一个 Bmob 默认的 Activity

<activity            android:name="com.bmob.pay.tool.PayActivity"            android:theme="@android:style/Theme.Translucent" />        <!-- bmob pay sdk activity end -->

3.代码

protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Bmob.initialize(this, "cef177e901d6ad01156903c626c8c63a");        order = new PayOrder();        bmobPay = new BmobPay(this);        button1 = (Button) findViewById(R.id.button1);        button2 = (Button) findViewById(R.id.button2);        button1.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                order.setPrice(0.1);                order.setName("套餐1");                choseType();            }        });        button2.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                order.setPrice(0.2);                order.setName("套餐1");                choseType();            }        });    }
/**     * 弹出框支付方式选择     */    protected void choseType() {        // TODO Auto-generated method stub        new AlertDialog.Builder(this)                .setMessage("支付方式选择")                .setPositiveButton("支付宝",                        new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialog,                                    int which) {                                pay(true);                            }                        })                .setNeutralButton("微信", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog, int which) {                        pay(false);                    }                }).create().show();    }
/**     * 进行支付     *      * @param byAli     */    void pay(final boolean byAli) {        Toast.makeText(this, "正在申请支付。。请稍候。。", Toast.LENGTH_SHORT).show();        order.setPaid(false);        order.save(MainActivity.this);        PayListener listener = new PayListener() {            @Override            public void unknow() {                Toast.makeText(MainActivity.this, "支付失败,很抱歉你只能看这么一点了",                        Toast.LENGTH_SHORT).show();            }            @Override            public void succeed() {                Toast.makeText(MainActivity.this, "支付操作完成!请等待服务器校验通过即可满足您的要求!",                        Toast.LENGTH_SHORT).show();                checkAgain();            }            @Override            public void orderId(String arg0) {                order.setOrderId(arg0);                order.update(MainActivity.this);            }            @Override            public void fail(int arg0, String arg1) {                Toast.makeText(MainActivity.this, "支付失败,很抱歉你只能看这么一点了",                        Toast.LENGTH_SHORT).show();                if (!byAli && arg0 == -3) {                    Toast.makeText(MainActivity.this, "您尚未安裝微信支付插件", 0).show();                    // 没有微信支付安装微信支付插件                    InstallPlugin.installBmobPayPlugin(MainActivity.this,                            InstallPlugin.ASSETS_PLUGIN);                }            }        };        // 支付宝 true / 微信 false        if (byAli) {            bmobPay.pay(Double.parseDouble(order.getPrice().toString()),                    order.getName(), listener);            // bmobPay.pay(order.getName(), "一步到味",            // Double.parseDouble(order.getPrice().toString()), true, listener);        } else {            bmobPay.payByWX(Double.parseDouble(order.getPrice().toString()),                    order.getName(), listener);        }    }
/**     * 支付完成后     */    void checkAgain() {        bmobPay.query(order.getOrderId(), new OrderQueryListener() {            @Override            public void succeed(String arg0) {                if (arg0.equals("NOTPAY")) {                    Toast.makeText(MainActivity.this, "支付失败",                            Toast.LENGTH_SHORT).show();                } else {                    order.setPaid(true);                    order.update(MainActivity.this);                    Toast.makeText(MainActivity.this,                            "感谢你购买" + order.getName() + "!", Toast.LENGTH_SHORT)                            .show();                }            }            @Override            public void fail(int arg0, String arg1) {                Toast.makeText(MainActivity.this, "查询失败", Toast.LENGTH_SHORT)                        .show();            }        });    }

4.

0 0
原创粉丝点击