decodeResponse method
dynamic
decodeResponse(
- Store store,
- Response data
override
Implementation
decodeResponse(Store store, Response data) {
print("📡 Response: ${data.statusCode} from $path");
var valid = false;
var receipt = AppStoreReceiptValidationResult.fromJson(data.body)!;
if (receipt.status == 21007) {
var verifyEndpoint = "$appStoreEndpointSandbox$appStoreVerifyRoute";
print("🎟 Receipt status: 21007 -> Check $verifyEndpoint");
store.dispatch(
VerifyInAppPurchaseWithoutEndpointAction(
body: this.body,
purchaseDetail: this.purchaseDetail,
storeName: this.storeName,
productID: this.productID,
path: verifyEndpoint,
),
);
} else {
if (checkReceiptValidity(receipt)) {
valid = true;
} else {
valid = false;
}
store.dispatch(
VerifyInAppPurchaseSuccessAction(
valid: valid,
productID: this.productID,
purchaseDetail: this.purchaseDetail.rebuild(
(o) => o..receipt = receipt.toBuilder(),
),
),
);
}
}