aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/pay-merchant.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-04-03 12:13:13 -0300
committerSebastian <sebasjm@gmail.com>2023-04-03 12:13:13 -0300
commit543795f7fcc310343f9b113837ba4750c740a1fe (patch)
tree01f1d18b3ec8e6b68ccc179338fa69a1eb5e9063 /packages/taler-wallet-core/src/operations/pay-merchant.ts
parentdefdfd769749354ec3aba9436a3bcb5cd39bdd83 (diff)
downloadwallet-core-543795f7fcc310343f9b113837ba4750c740a1fe.tar.xz
save posConfirmation after payment
Diffstat (limited to 'packages/taler-wallet-core/src/operations/pay-merchant.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/pay-merchant.ts9
1 files changed, 6 insertions, 3 deletions
diff --git a/packages/taler-wallet-core/src/operations/pay-merchant.ts b/packages/taler-wallet-core/src/operations/pay-merchant.ts
index f8fa1d34d..496641fe7 100644
--- a/packages/taler-wallet-core/src/operations/pay-merchant.ts
+++ b/packages/taler-wallet-core/src/operations/pay-merchant.ts
@@ -57,6 +57,7 @@ import {
MerchantCoinRefundStatus,
MerchantCoinRefundSuccessStatus,
MerchantContractTerms,
+ MerchantPayResponse,
NotificationType,
parsePayUri,
parseRefundUri,
@@ -605,6 +606,7 @@ async function startDownloadProposal(
timestampFirstSuccessfulPay: undefined,
timestampLastRefundStatus: undefined,
pendingRemovedCoinPubs: undefined,
+ posConfirmation: undefined,
};
await ws.db
@@ -629,7 +631,7 @@ async function storeFirstPaySuccess(
ws: InternalWalletState,
proposalId: string,
sessionId: string | undefined,
- paySig: string,
+ payResponse: MerchantPayResponse,
): Promise<void> {
const now = AbsoluteTime.toTimestamp(AbsoluteTime.now());
await ws.db
@@ -651,7 +653,8 @@ async function storeFirstPaySuccess(
}
purchase.timestampFirstSuccessfulPay = now;
purchase.lastSessionId = sessionId;
- purchase.merchantPaySig = paySig;
+ purchase.merchantPaySig = payResponse.sig;
+ purchase.posConfirmation = payResponse.pos_confirmation;
const dl = purchase.download;
checkDbInvariant(!!dl);
const contractTermsRecord = await tx.contractTerms.get(
@@ -1529,7 +1532,7 @@ export async function processPurchasePay(
throw Error("merchant payment signature invalid");
}
- await storeFirstPaySuccess(ws, proposalId, sessionId, merchantResp.sig);
+ await storeFirstPaySuccess(ws, proposalId, sessionId, merchantResp);
await unblockBackup(ws, proposalId);
} else {
const payAgainUrl = new URL(