配置 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);
发起支付流程。
类型
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); }
在现代 Android 开发(ComponentActivity)中注册支付结果监听器。
类型
public static PayKKaActivityResultLauncher registerForActivityResult( ComponentActivity context, PaymentResultCallback onPaymentResultCallback )详细信息 这是推荐的集成方式,利用了 Android 的
ActivityResultLauncherAPI。它会在 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"); } }
支付结果对象。
属性
getStatus(): 返回PaymentResult.Status枚举。getResult(): 返回JSONObject,包含详细的支付结果数据。getMessage(): 返回结果描述信息。
PaymentResult.Status 枚举
SUCCESS: 支付成功。EXPIRED: 支付过期。ERROR: 支付错误。UNKNOWN: 未知状态。
来自支付页面的 JavaScript 事件。
属性
getType(): 返回JSEvent.JSEventType。getData(): 返回事件携带的JSONObject数据。
JSEvent.JSEventType 枚举
CLOSE_TAPPED: 用户点击了支付页面的关闭/返回按钮。UNKNOWN: 未知事件。
预定义的支付环境。
- 枚举值
SANDBOX: 沙箱测试环境。PROD_EU: 欧洲生产环境。PROD_HK: 香港生产环境。