my.tradePay

Mini Program

my.tradePay ({
  // trade_no
  tradeNO: '201711152100110410533667792',
  success: res => {
    my.alert ({
      content: JSON.stringify (res),
    });
  },
  fail: error => {
    console.error('my.tradePay failed: ', JSON.stringify(error));
  },
});

Android/iOS App 集成 SDK 时需实现 my.tradePay。

Android

自定义 API

MriverEngine.registerBridge(TradeApiBridgeExtension.class);

public class TradePayBridgeExtension implements BridgeExtension {
    private static final String TAG = "TradePayBridgeExtension";
    private static String APP_ID = "appId";
    private String mAppId;
    private String mOrderInfo;
    private String mTradeNo;
    
    @Remote
    @NativeActionFilter
    public void tradePay(@BindingApiContext ApiContext apiContext, @BindingRequest JSONObject param,
                         @BindingCallback final BridgeCallback callback) {
        if (param == null) {
            handleException(callback);
            return;
        }
        tradePay(callback, param);
    }
    private void tradePay(final BridgeCallback callback, JSONObject params) {
        if (params != null && params.containsKey("tradeNO")) {
            mTradeNo = params.getString("tradeNO");
            // do real pay action
            PaymentResult paymentResult = doRealPay(mTradeNo);
            String result = "";
            String resultCode = "";
            if (paymentResult != null) {
                result = paymentResult.getResult();
                resultCode = "" + paymentResult.getResultCode();
            }
            param.put("result", result);
            param.put("resultCode", resultCode);
            callback.sendJSONResponse(param);
        }
    }
    
    
    private void handleException(final BridgeCallback callback) {
        JSONObject callbackParam = new JSONObject();
        callbackParam.put("extendInfo", "{}");
        callbackParam.put("resultCode", "6001");
        callbackParam.put("result", "");
        callback.sendJSONResponse(callbackParam);
    }
    
    @Override
    public void onInitialized() {
    }
    @Override
    public void onFinalized() {
    }
    @Override
    public Permission permit() {
        return null;
    }
}

iOS

注册自定义 API tradePay,返回 authCode 数据给小程序。

自定义 API