Skip to content

Commit

Permalink
Transform receipt on purchase validator
Browse files Browse the repository at this point in the history
  • Loading branch information
RodriSanchez1 committed Nov 6, 2023
1 parent 6212e56 commit 7317113
Showing 1 changed file with 46 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,12 @@ export class SubscriptionProvider extends Component {
};

configPurchaseValidator = () => {
const transformReceipt = this.transformReceipt;

window.CdvPurchase.store.validator = async function(receipt, callback) {
try {
const transaction = receipt.transactions[0];
const transaction = transformReceipt(receipt);

const res = await API.postTransaction(transaction);
if (!res.ok) throw res;
callback({
Expand Down Expand Up @@ -129,6 +132,48 @@ export class SubscriptionProvider extends Component {
.finished(receipt => {});
};

transformReceipt = receipt => {
const receiptTransaction = receipt.transaction;
const receiptData = JSON.parse(receipt.transaction.receipt);
const {
packageName,
productId,
purchaseTime,
purchaseState,
purchaseToken,
quantity,
autoRenewing,
acknowledged
} = receiptData;
const transaction = {
className: 'Transaction',
transactionId: receiptTransaction.id,
state: 'approved',
products: receipt.products,
platform: receiptTransaction.type,
nativePurchase: {
orderId: receiptTransaction.id,
packageName: packageName,
productId: productId,
purchaseTime: purchaseTime,
purchaseState: purchaseState,
purchaseToken: purchaseToken,
quantity: quantity,
autoRenewing: autoRenewing,
acknowledged: acknowledged,
productIds: receipt.products.map(product => product.id),
signature: receiptTransaction.signature,
receipt: receiptTransaction.receipt
},
purchaseId: purchaseToken,
purchaseDate: new Date(purchaseTime),
isPending: false,
isAcknowledged: acknowledged,
renewalIntent: 'Renew'
};
return transaction;
};

render() {
const { children } = this.props;

Expand Down

0 comments on commit 7317113

Please sign in to comment.