Bmob 使用支付

作者: 点滴回忆 | 来源:发表于2016-05-19 16:05 被阅读746次

    果然是因为leancloud没有支付功能

    1 AndroidManifest.xml中
    加入 如下代码:
    (1)
    <pre><code><activity
    android:name="c.b.a.A"
    android:configChanges="orientation|keyboardHidden|navigation"
    android:exported="false"
    android:screenOrientation="behind"
    android:windowSoftInputMode="adjustResize|stateHidden" />

    <activity
    android:name="c.b.a.B"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Translucent" /></code></pre>
    (2)

    <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" />
    

    然后在 activity中加入bmob的appid:

    String APPID = "ID";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    BP.init(this, APPID);
    
    tv = (TextView)findViewById(R.id.textview);
    order = (TextView)findViewById(R.id.order);
    payByAli();
    }
    

    // 调用支付宝支付

    void payByAli() {
        //showDialog("正在获取订单...");
        final String name = "name";
    
        tv.append("正在获取订单...");
        // BmobPay.init(this, APPID);
    
        BP.pay(this, name, "body", 0.02, true, new PListener() {
    
            // 因为网络等原因,支付结果未知(小概率事件),出于保险起见稍后手动查询
            @Override
            public void unknow() {
                Toast.makeText(MainActivity.this, "支付结果未知,请稍后手动查询",
                        Toast.LENGTH_SHORT).show();
                tv.append(name + "'s pay status is unknow\n\n");
                //hideDialog();
            }
    
            // 支付成功,如果金额较大请手动查询确认
            @Override
            public void succeed() {
                Toast.makeText(MainActivity.this, "支付成功!", Toast.LENGTH_SHORT)
                        .show();
                tv.append(name + "'s pay status is success\n\n");
                //hideDialog();
            }
    
            // 无论成功与否,返回订单号
            @Override
            public void orderId(String orderId) {
                // 此处应该保存订单号,比如保存进数据库等,以便以后查询
                order.setText(orderId);
                tv.append(name + "'s orderid is " + orderId + "\n\n");
                //showDialog("获取订单成功!请等待跳转到支付页面~");
            }
    
            // 支付失败,原因可能是用户中断支付操作,也可能是网络原因
            @Override
            public void fail(int code, String reason) {
                Toast.makeText(MainActivity.this, "支付中断!", Toast.LENGTH_SHORT)
                        .show();
                tv.append(name + "'s pay status is fail, error code is " + code
                        + " ,reason is " + reason + "\n\n");
                //hideDialog();
            }
        });
    }

    相关文章

      网友评论

        本文标题:Bmob 使用支付

        本文链接:https://www.haomeiwen.com/subject/jchgrttx.html