@spicysparks/react-native-iap
Version:
React Native In App Purchase Module.
94 lines (89 loc) • 2.53 kB
JavaScript
import { SubscriptionPlatform } from './index';
export const productSk2Map = ({
id,
description,
displayName,
price,
displayPrice
}) => {
const prod = {
title: displayName,
productId: String(id),
description,
type: 'iap',
price: String(price),
localizedPrice: displayPrice,
currency: '' // Not available on new API, use localizedPrice instead
};
return prod;
};
export const subscriptionSk2Map = ({
id,
description,
displayName,
price,
displayPrice,
subscription
}) => {
var _subscription$subscri, _subscription$subscri2;
const prod = {
platform: SubscriptionPlatform.ios,
title: displayName,
productId: String(id),
description,
type: 'subs',
price: String(price),
localizedPrice: displayPrice,
currency: '',
// Not available on new API, use localizedPrice instead
subscriptionPeriodNumberIOS: `${subscription === null || subscription === void 0 || (_subscription$subscri = subscription.subscriptionPeriod) === null || _subscription$subscri === void 0 ? void 0 : _subscription$subscri.value}`,
subscriptionPeriodUnitIOS: subscription === null || subscription === void 0 || (_subscription$subscri2 = subscription.subscriptionPeriod) === null || _subscription$subscri2 === void 0 ? void 0 : _subscription$subscri2.unit.toUpperCase()
};
return prod;
};
/**
* Only one of `transaction` and `error` is not undefined at the time
*/
export const transactionSk2ToPurchaseMap = ({
id,
originalPurchaseDate,
productID,
purchaseDate,
purchasedQuantity,
originalID,
verificationResult,
appAccountToken
}) => {
const purchase = {
productId: productID,
transactionId: String(id),
transactionDate: purchaseDate,
//??
transactionReceipt: '',
// Not available
purchaseToken: '',
//Not available
quantityIOS: purchasedQuantity,
originalTransactionDateIOS: originalPurchaseDate,
originalTransactionIdentifierIOS: originalID,
verificationResultIOS: verificationResult ?? '',
appAccountToken: appAccountToken ?? ''
};
return purchase;
};
/**
* Payment discount interface @see https://developer.apple.com/documentation/storekit/skpaymentdiscount?language=objc
*/
export const offerSk2Map = offer => {
if (!offer) {
return undefined;
}
return {
offerID: offer.identifier,
keyID: offer.keyIdentifier,
nonce: offer.nonce,
signature: offer.signature,
timestamp: offer.timestamp.toString()
};
};
//# sourceMappingURL=appleSk2.js.map