[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] branch master updated: latest merchant protocol for
From: |
gnunet |
Subject: |
[taler-wallet-core] branch master updated: latest merchant protocol for refunds |
Date: |
Mon, 27 Jul 2020 10:06:42 +0200 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository wallet-core.
The following commit(s) were added to refs/heads/master by this push:
new 694d913d latest merchant protocol for refunds
694d913d is described below
commit 694d913d1f226b3d284258286c73a035fd43da7d
Author: Florian Dold <florian.dold@gmail.com>
AuthorDate: Mon Jul 27 13:36:32 2020 +0530
latest merchant protocol for refunds
---
src/operations/refund.ts | 10 ++--------
src/types/talerTypes.ts | 22 ----------------------
src/util/codec.ts | 5 +++++
3 files changed, 7 insertions(+), 30 deletions(-)
diff --git a/src/operations/refund.ts b/src/operations/refund.ts
index b91d42a3..35384c08 100644
--- a/src/operations/refund.ts
+++ b/src/operations/refund.ts
@@ -35,7 +35,6 @@ import {
initRetryInfo,
CoinStatus,
RefundReason,
- RefundEventRecord,
RefundState,
PurchaseRecord,
} from "../types/dbTypes";
@@ -44,10 +43,10 @@ import { parseRefundUri } from "../util/taleruri";
import { createRefreshGroup, getTotalRefreshCost } from "./refresh";
import { Amounts } from "../util/amounts";
import {
- codecForMerchantOrderStatus,
MerchantCoinRefundStatus,
MerchantCoinRefundSuccessStatus,
MerchantCoinRefundFailureStatus,
+ codecForMerchantOrderStatusPaid,
} from "../types/talerTypes";
import { guardOperationException } from "./errors";
import { getTimestampNow } from "../util/time";
@@ -414,14 +413,9 @@ async function processPurchaseQueryRefundImpl(
const refundResponse = await readSuccessResponseJsonOrThrow(
request,
- codecForMerchantOrderStatus(),
+ codecForMerchantOrderStatusPaid(),
);
- if (refundResponse.order_status !== "paid") {
- logger.error("can't refund unpaid order");
- return;
- }
-
await acceptRefunds(
ws,
proposalId,
diff --git a/src/types/talerTypes.ts b/src/types/talerTypes.ts
index 2730da4b..1dfcd80a 100644
--- a/src/types/talerTypes.ts
+++ b/src/types/talerTypes.ts
@@ -839,15 +839,7 @@ export interface ExchangeRevealResponse {
ev_sigs: ExchangeRevealItem[];
}
-export type MerchantOrderStatus =
- | MerchantOrderStatusPaid
- | MerchantOrderStatusUnpaid;
-
interface MerchantOrderStatusPaid {
- /**
- * Has the payment for this order (ever) been completed?
- */
- order_status: "paid";
/**
* Was the payment refunded (even partially, via refund or abort)?
@@ -930,11 +922,6 @@ export interface MerchantCoinRefundFailureStatus {
}
export interface MerchantOrderStatusUnpaid {
- /**
- * Has the payment for this order (ever) been completed?
- */
- order_status: "unpaid";
-
/**
* URI that the wallet must process to complete the payment.
*/
@@ -1250,7 +1237,6 @@ export const codecForMerchantOrderStatusPaid = (): Codec<
MerchantOrderStatusPaid
> =>
makeCodecForObject<MerchantOrderStatusPaid>()
- .property("order_status", makeCodecForConstString("paid"))
.property("merchant_pub", codecForString)
.property("refund_amount", codecForString)
.property("refunded", codecForBoolean)
@@ -1261,14 +1247,6 @@ export const codecForMerchantOrderStatusUnpaid = ():
Codec<
MerchantOrderStatusUnpaid
> =>
makeCodecForObject<MerchantOrderStatusUnpaid>()
- .property("order_status", makeCodecForConstString("unpaid"))
.property("taler_pay_uri", codecForString)
.property("already_paid_order_id", makeCodecOptional(codecForString))
.build("MerchantOrderStatusUnpaid");
-
-export const codecForMerchantOrderStatus = (): Codec<MerchantOrderStatus> =>
- makeCodecForUnion<MerchantOrderStatus>()
- .discriminateOn("order_status")
- .alternative("paid", codecForMerchantOrderStatusPaid())
- .alternative("unpaid", codecForMerchantOrderStatusUnpaid())
- .build("MerchantOrderStatus");
diff --git a/src/util/codec.ts b/src/util/codec.ts
index c468704b..383a2d99 100644
--- a/src/util/codec.ts
+++ b/src/util/codec.ts
@@ -176,6 +176,11 @@ class UnionCodecBuilder<
const baseCodec = this.baseCodec;
return {
decode(x: any, c?: Context): R {
+ if (!c) {
+ c = {
+ path: [`(${objectDisplayName})`],
+ };
+ }
const d = x[discriminator];
if (d === undefined) {
throw new DecodingError(
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-wallet-core] branch master updated: latest merchant protocol for refunds,
gnunet <=