UNPKG

qm-mposkit

Version:

qmpos payment

40 lines (37 loc) 1.16 kB
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); } } };