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
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 数据给小程序。
该文章对您有帮助吗?