qm-mposkit
Version:
qmpos payment
40 lines (37 loc) • 1.16 kB
JavaScript
import {
Platform,
NativeModules,
DeviceEventEmitter,
NativeEventEmitter
} from "react-native";
const _RESULT_KEY = "sunmi.payment.L3.RESULT";
const SfPayment = NativeModules.SfPayment;
var subscription = null;
export default {
create: () => {
if (SfPayment) SfPayment.create();
},
destroy: () => {
if (SfPayment) SfPayment.destroy();
if (null == subscription) {
return;
}
if ('android' === Platform.OS) {
DeviceEventEmitter.removeSubscription(subscription);
} else {
NativeEventEmitter.removeSubscription(subscription);
}
},
consume: (transId, paymentType, transType , amount) => {
if (SfPayment) SfPayment.consume(transId, paymentType, transType , amount);
},
listen: (_code) => {
if (typeof _code != "function") return;
if (Platform.OS === "ios") {
let iOSNativeModule = new NativeEventEmitter(SfPayment);
subscription = iOSNativeModule.addListener(_RESULT_KEY, _code, "");
} else {
subscription = DeviceEventEmitter.addListener(_RESULT_KEY, _code);
}
}
};