跳转到内容

SDK接口文档

PayKKa.useEnv()

配置 SDK 使用的支付环境。

  • 类型

    public static void useEnv(PayKKaEnvironment env)
  • 详细信息 该方法用于在发起支付前设置支付环境。支持沙箱环境和多个生产环境。如果不调用此方法,默认使用 PayKKaEnv.SANDBOX

  • 示例

    import com.paykka.android.checkout.PayKKa;
    import com.paykka.android.checkout.PayKKaEnv;
    
    // 使用生产环境(香港)
    PayKKa.useEnv(PayKKaEnv.PROD_HK);

PayKKa.goPay()

发起支付流程。

  • 类型

    public static void goPay(
      Activity context,
      String sessionId,
      PaymentResultCallback onPaymentResultCallback
    )
    
    public static void goPay(
      Activity context,
      String sessionId,
      PaymentResultCallback onPaymentResultCallback,
      JSEventCallback onCloseTappedCallback
    )
  • 详细信息

    • context: 当前发起支付的 Activity。
    • sessionId: 支付会话 ID,从服务端获取。
    • onPaymentResultCallback: 支付结果回调。
    • onCloseTappedCallback (可选): 用户点击支付页面关闭按钮时的回调。

    该方法会检查设备是否支持 PaymentRequest。如果支持,则在应用内打开 PayKKaWKWebViewActivity 进行支付;如果不支持,则会跳转到外部浏览器(优先使用 Chrome)完成支付。

    注意:在使用该方法时,你需要在发起支付的 Activity 的 onActivityResult 中调用 PayKKa.onPaymentResult 来确保回调被触发。

  • 示例

    PayKKa.goPay(this, "your_session_id", result -> {
        switch (result.getStatus()) {
            case SUCCESS:
                // 支付成功
                break;
            case ERROR:
                // 支付失败
                break;
        }
    });
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        PayKKa.onPaymentResult(requestCode, resultCode, data);
    }

PayKKa.registerForActivityResult()

在现代 Android 开发(ComponentActivity)中注册支付结果监听器。

  • 类型

    public static PayKKaActivityResultLauncher registerForActivityResult(
      ComponentActivity context,
      PaymentResultCallback onPaymentResultCallback
    )
  • 详细信息 这是推荐的集成方式,利用了 Android 的 ActivityResultLauncher API。它会在 Activity 创建时注册回调,并返回一个 PayKKaActivityResultLauncher 实例。

  • 示例

    public class MyActivity extends AppCompatActivity {
        private PayKKaActivityResultLauncher launcher;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // 必须在 onCreate 或初始化阶段注册
            launcher = PayKKa.registerForActivityResult(this, result -> {
                // 处理支付结果
            });
        }
    
        private void startPayment() {
            launcher.goPay("your_session_id");
        }
    }

数据类型

PaymentResult

支付结果对象。

  • 属性

    • getStatus(): 返回 PaymentResult.Status 枚举。
    • getResult(): 返回 JSONObject,包含详细的支付结果数据。
    • getMessage(): 返回结果描述信息。
  • PaymentResult.Status 枚举

    • SUCCESS: 支付成功。
    • EXPIRED: 支付过期。
    • ERROR: 支付错误。
    • UNKNOWN: 未知状态。

JSEvent

来自支付页面的 JavaScript 事件。

  • 属性

    • getType(): 返回 JSEvent.JSEventType
    • getData(): 返回事件携带的 JSONObject 数据。
  • JSEvent.JSEventType 枚举

    • CLOSE_TAPPED: 用户点击了支付页面的关闭/返回按钮。
    • UNKNOWN: 未知事件。

PayKKaEnv

预定义的支付环境。

  • 枚举值
    • SANDBOX: 沙箱测试环境。
    • PROD_EU: 欧洲生产环境。
    • PROD_HK: 香港生产环境。