Skip to content

支付

概述

借助宝船 SDK 平台接入 各个平台的支付,你可以在你的应用中快速轻松地实现支付功能。

应用接入

  1. 如果您的应用没有继承 Applicaton 的类,请创建该类,如若已有实现类,则在应用的 Applicaton 继承类中添加如下方法:
kotlin
class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        val config = BrickConfig()
        //是否打印日志,可选
        config.logEnable = true
        //app的业务Id,不能为空,可以为包名或者其他
        config.bindUid ="cc.xxxx.demo"
        BrickSDK.initBrick(
            this,
            "cdshf8dfbshdf8sdfc",//宝船出海SDK应用创建后,平台生成的key
            "sdjncvs889347r983274cvhsd",config //宝船出海SDK应用创建后,平台生成的秘钥
        )
    }
}

涉及方法与具体说明

  • BrickSDK.initBrick 方法具体说明请点击 initBrick 查看。
  1. 打开 /app/manifest/AndroidManifest.xml 文件,在里面同步引用上一步创建的 MyApplication
xml
<application
    android:name="您的包名和路径.MyApplication"
    android:allowBackup="true"
    android:dataExtractionRules="@xml/data_extraction_rules"
    android:fullBackupContent="@xml/backup_rules"
    android:icon="@mipmap/logo"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/logo"
    android:supportsRtl="true">
    ......
    </application>

用户支付相关方法和说明

用户支付

在您需要支付的 activity 页面中,需要做支付操作的时候吊起支付,同时注册回调方法。以谷歌支付为例:

kotlin
......
import cc.k2games.android.brick.core.BrickSDK
import cc.k2games.android.brick.pay.PayError
import cc.k2games.android.brick.pay.PayListener
import cc.k2games.android.brick.pay.PayRequestParams
import cc.k2games.android.brick.pay.BrickPayPlatform
......

class MainActivity : Activity() {

    ......
    override fun  onCreate(savedInstanceState: Bundle?){
        pay(BrickPayPlatform.Google, PayRequestParams().apply {
            orderId = "${System.currentTimeMillis()}"
            productId = "1"
            money = "0.01"
            extraData = "{\"extra_data\":200}"
        })
    }
    
    fun pay(
        from: BrickPayPlatform,
        requestParams: PayRequestParams,
    ) {
        BrickSDK.pay(this, from,
            requestParams, object : PayListener {
                override fun onPayError(error: PayError) {
                    //支付失败
                    Log.i(
                        "MainActivity",
                        "pay  ${from.from.getPlatformDes()} onPayError ${error.message}"
                    )
                    Toast.makeText(
                        this@PayActivity,
                        "${error.message} ${from.from.getPlatformDes()}",
                        LENGTH_SHORT
                    )
                        .show()
                }

                override fun onPayingSuccess(data: String) {
                    //支付成功
                    Log.i("MainActivity", "pay ${from.from.getPlatformDes()} onPayingSuccess $data")
                    Toast.makeText(
                        this@PayActivity,
                        "paySuccess  ${from.from.getPlatformDes()}",
                        LENGTH_SHORT
                    )
                        .show()
                }
            }
        )
    }
    
}

涉及方法与具体说明

  • BrickSDK.pay 方法具体说明请点击 pay 查看。

获取第三方商品列表

对于某些特殊的第三方支付平台(例如谷歌支付),需要在该平台上首先创建商品列表,可以通过调用 BrickSDK 获取对应平台的商品列表,返回的列表会转为对应的 json 字符串。调用方法如下:

kotlin
BrickSDK.getProductList(BrickPlatform._Google_, object : BrickSDKCallback {
    override fun onError(error: String) {
        Log.i("MainActivity", "getProductListFromGoogle onError $error")
    }

    override fun onSuccess(data: String?) {
        Log.i("MainActivity", "getProductListFromGoogle onSuccess $data")
    }
})

涉及方法与具体说明

  • BrickSDK.getProductList 方法具体说明请点击 getProductList 查看。