集成ping++支付

来源:互联网 发布:网络黑彩票代理犯法吗 编辑:程序博客网 时间:2024/05/16 10:45
#### 在线导入方式


##### Gradle导入方式
1、在module中的build.gradle中设置
```
dependencies {
compile 'com.pingxx:pingpp-core:2.1.7' //必须添加
    compile 'com.pingxx:pingpp-alipay:2.1.7' //使用支付宝时添加
    compile 'com.pingxx:pingpp-upacp:2.1.7' //使用银联支付时添加
    compile 'com.pingxx:pingpp-wxpay:2.1.7' //使用微信支付时添加
    compile 'com.pingxx:pingpp-bfb-sdk:2.1.7' // 使用百付宝时添加
    compile 'com.pingxx:pingpp-qpay:2.1.7' //使用QQ钱包时添加
}
```
2、在项目中的build.gradle中添加
```
buildscript {
    repositories {
        jcenter()
    }
}
allprojects {
    repositories {
        jcenter()
    }

}

##### 权限声明
``` xml
<!-- 通用权限 -->
<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.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


<!-- 银联需要的权限 -->
<uses-permission android:name="android.permission.NFC" />


<!-- 百度支付需要的权限 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_SMS" />

##### 注册 activity
``` xml
<!-- Ping++ SDK -->
<activity
    android:name="com.pingplusplus.android.PaymentActivity"
    android:configChanges="orientation|screenSize"
    android:launchMode="singleTop"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" >


    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>


        <category android:name="android.intent.category.BROWSABLE"/>
        <category android:name="android.intent.category.DEFAULT"/>


        <data android:scheme="qwalletXXXXXXXX"/>
    </intent-filter>


</activity>


<!-- 微信支付 -->
<activity-alias
    android:name=".wxapi.WXPayEntryActivity"
    android:exported="true"
    android:targetActivity="com.pingplusplus.android.PaymentActivity" />


<!-- 支付宝 -->
<activity
    android:name="com.alipay.sdk.app.H5PayActivity"
    android:configChanges="orientation|keyboardHidden|navigation"
    android:exported="false"
    android:screenOrientation="behind" >
</activity>
<activity
    android:name="com.alipay.sdk.auth.AuthActivity"
    android:configChanges="orientation|keyboardHidden|navigation"
    android:exported="false"
    android:screenOrientation="behind" >
</activity>

### 三、获得 Charge/Order
Charge/Order 对象是一个包含支付信息的 JSON 对象,是 Ping++ SDK 发起支付的必要参数。该参数需要请求用户服务器获得,服务端生成 charge 的方式参考 [Ping++ 开发指南](https://www.pingxx.com/docs/overview)。SDK 中的 demo 里面提供了如何获取 charge 的实例方法,供用户参考。


### 四、发起支付
``` java
//data:表示charge或者order的字符串
Pingpp.createPayment(YourActivity.this, data);
//QQ钱包调起支付方式  “qwalletXXXXXXX”需与AndroidManifest.xml中的data值一致
//建议填写规则:qwallet + APP_ID
Pingpp.createPayment(YourActivity.this, data, "qwalletXXXXXXX");
```


#### 五、获取支付状态
从 Activity 的 onActivityResult 方法中获得支付结果。支付成功后,用户服务器也会收到ping++ 服务器发送的异步通知。 最终支付成功请根据服务端异步通知为准。


``` java
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    //支付页面返回处理
    if (requestCode == Pingpp.REQUEST_CODE_PAYMENT) {
        if (resultCode == Activity.RESULT_OK) {
            String result = data.getExtras().getString("pay_result");
            /* 处理返回值
             * "success" - 支付成功
             * "fail"    - 支付失败
             * "cancel"  - 取消支付
             * "invalid" - 支付插件未安装(一般是微信客户端未安装的情况)
             */
            String errorMsg = data.getExtras().getString("error_msg"); // 错误信息
            String extraMsg = data.getExtras().getString("extra_msg"); // 错误信息
            showMsg(result, errorMsg, extraMsg);
        }
    }
<---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->

六丶在项目中关于和友盟的jar包冲突

     如果在项目中您添加了友盟分享的jar包,和ping++支付的jar包,需要注意的是,如微信支付和微信分享,友盟的完整版微信jar包,包含了微信支付。所以当你需要使用ping++

微信支付的时候,不要使用友盟分享完整版微信jar包。请选择精简版

1 0