UNPKG

@cafebazaar/react-native-poolakey

Version:

ReactNative implementation of CafeBazaar's in-app payment SDK

60 lines 2.56 kB
import { NativeEventEmitter, NativeModules } from 'react-native'; import { parsePurchaseResult } from './PurchaseResult'; import { parseSkuDetails } from './SkuDetails'; const LINKING_ERROR = "The package 'react-native-poolakey' doesn't seem to be linked. Make sure you rebuilt the app after installing the package"; const Poolakey = NativeModules.ReactNativePoolakey ? NativeModules.ReactNativePoolakey : new Proxy({}, { get() { throw new Error(LINKING_ERROR); } }); const eventEmitter = new NativeEventEmitter(Poolakey); export default { async connect(rsaKey) { return Poolakey.connectPayment(rsaKey); }, disconnect() { // never rejects return Poolakey.disconnectPayment(); }, addDisconnectListener(handler) { const eventListener = eventEmitter.addListener('disconnected', handler); return () => { eventListener.remove(); }; }, removeAllDisconnectListeners() { eventEmitter.removeAllListeners('disconnected'); }, purchaseProduct(productId) { let developerPayload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; let dynamicPriceToken = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; return Poolakey.purchaseProduct(productId, developerPayload || null, dynamicPriceToken || null).then(parsePurchaseResult); }, consumePurchase(purchaseToken) { return Poolakey.consumePurchase(purchaseToken); }, subscribeProduct(productId) { let developerPayload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; let dynamicPriceToken = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; return Poolakey.subscribeProduct(productId, developerPayload || null, dynamicPriceToken || null).then(parsePurchaseResult); }, getPurchasedProducts() { return Poolakey.getPurchasedProducts().then(parsePurchaseResult); }, getSubscribedProducts() { return Poolakey.getSubscribedProducts().then(parsePurchaseResult); }, queryPurchaseProduct(productId) { return Poolakey.queryPurchaseProduct(productId).then(parsePurchaseResult); }, querySubscribeProduct(productId) { return Poolakey.querySubscribeProduct(productId).then(parsePurchaseResult); }, getInAppSkuDetails(productIds) { return Poolakey.getInAppSkuDetails(JSON.stringify(productIds)).then(parseSkuDetails); }, getSubscriptionSkuDetails(productIds) { return Poolakey.getSubscriptionSkuDetails(JSON.stringify(productIds)).then(parseSkuDetails); } }; //# sourceMappingURL=bridge.js.map