支付相关

3.2.1 方法说明

在需要支付的地方调用下面方法:

public void onPay(View v) {

    BadamSdk.getInstance().pay(this,mAppOrder,mAmount,mGoodsName,mUserData,mOpenId,new PayResultListener(){
            @Override
            public void onPayResult(String orderId, int result, int errorCode, String message) {
                String text = String.format(Locale.CHINESE, "%d - %s - %s", result, message, orderId);
                Utils.showToast(PayActivity.this, text);
            }
    });
}

支付时需要提供的参数及其意义请参考下表:

  • mAppOrder : 每次支付行为的订单号。用于三方通信,当Badam服务器确认 付成功之后,将会携带该参数向客户服务发送成功响应,详情参考服务端接 指南。
  • mAmount : 支付金额,单位为分,建议为200、400、600等200的整数值。
  • mGoodsName :商品名称, 用于支付界面显示。
  • mUserData :客户端透传参数, 付完成时将会下发给客户服务端。
  • mOpenId: mOpenId是户唯标识登陆或注册成功之后SDK会返回给客户端。

3.2.2 回调说明

在支付时需要传递PayResultListener实例,用于接收支付结果: PayResultListener回调方法的第一个参数【orderId】为支付系统订单id,可能为空,该订单id主要用于排除错误原因。第二个参数【result】参数表示支付结果,取值包含:

取值 含义
ErrorCode.PAY_FAIL 支付失败
ErrorCode.PAY_SUCCESS 支付成功
ErrorCode.PAY_CANCELLED 用户取消支付

WEB端支付回调接口,用户应该在支付的Activity的onActivityResult方法中回调下面方法,如果没有正确回调该方法可能导致无法正常支付:


public static void onActivityResult(int requestCode, int resultCode, Intent data) {
    BadamSdk.getInstance().onActivityResult(requestCode, resultCode, data);
}

3.2.3 生命周期说明

在支付行为的Activity中调用支付功能后,重写相应的生命周期onPause()、onResume()、onDestroy()方法:


@Override
protected void onPause() {
    super.onPause();
    mPayInterface.onPause(this);
}

@Override
protected void onResume() {
    super.onResume();
    mPayInterface.onResume(this);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    mPayInterface.onDestroy(this);
}

其中mPayInterface为在Activity中定义的全局变量:


PayListener mPayInterface = BadamSdk.getInstance();

results matching ""

    No results matching ""