taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 9e230bf31494cdc0a841a63c5c35967be7ed0470
parent 6126e4259c8c916e5498a053d8c4413e72b38c09
Author: Florian Dold <florian@dold.me>
Date:   Wed, 19 Feb 2025 12:22:06 +0100

harness: check merchant status flag

Diffstat:
Mpackages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts | 6++++++
Mpackages/taler-util/src/http-client/merchant.ts | 42++++++++++++++----------------------------
2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts b/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts @@ -27,6 +27,7 @@ import { j2s, Logger, MerchantAccountKycRedirectsResponse, + MerchantAccountKycStatus, TalerMerchantApi, WireGatewayApiClient, } from "@gnu-taler/taler-util"; @@ -146,6 +147,11 @@ export async function runKycMerchantDepositTest(t: GlobalTestState) { logger.info(`mechant kyc status: ${j2s(kycRespOne)}`); + t.assertDeepEqual( + kycRespOne.kyc_data[0].status, + MerchantAccountKycStatus.KYC_WIRE_REQUIRED, + ); + t.assertDeepEqual(kycRespOne.kyc_data[0].exchange_http_status, 404); t.assertTrue( diff --git a/packages/taler-util/src/http-client/merchant.ts b/packages/taler-util/src/http-client/merchant.ts @@ -19,6 +19,7 @@ import { FailCasesByMethod, HttpStatusCode, LibtoolVersion, + OperationAlternative, OperationFail, OperationOk, PaginationParams, @@ -630,10 +631,21 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get--instances-$INSTANCE-private-kyc */ - async getCurrentIntanceKycStatus( + async getCurrentInstanceKycStatus( token: AccessToken | undefined, params: TalerMerchantApi.GetKycStatusRequestParams = {}, - ) { + ): Promise< + | OperationOk<TalerMerchantApi.MerchantAccountKycRedirectsResponse> + | OperationOk<void> + | OperationAlternative< + HttpStatusCode.BadGateway, + TalerMerchantApi.MerchantAccountKycRedirectsResponse + > + | OperationFail<HttpStatusCode.Unauthorized> + | OperationFail<HttpStatusCode.NotFound> + | OperationFail<HttpStatusCode.ServiceUnavailable> + | OperationFail<HttpStatusCode.GatewayTimeout> + > { const url = new URL(`private/kyc`, this.baseUrl); if (params.wireHash) { @@ -2650,29 +2662,3 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp } } } - -// 2024-09-23T01:23:14.421Z http.ts INFO malformed error response (status 200): { -// "kyc_data": [ -// { -// "payto_uri": "payto://iban/DE1327812254798?receiver-name=the%20name%20of%20merchant", -// "exchange_url": "http://exchange.taler.test:1180/", -// "no_keys": false, -// "auth_conflict": false, -// "exchange_http_status": 204, -// "limits": [], -// "payto_kycauths": [ -// "payto://iban/DE9714548806481?receiver-name=Exchanger+Normal&subject=54DR9R0CEWA1A7FK3QWABJ1PRBCD2X6S418Y5DE0P9Q1ASKTX770" -// ] -// }, -// { -// "payto_uri": "payto://iban/DE1327812254798?receiver-name=the%20name%20of%20merchant", -// "exchange_url": "https://exchange.demo.taler.net/", -// "no_keys": false, -// "auth_conflict": false, -// "exchange_http_status": 400, -// "exchange_code": 26, -// "access_token": "0000000000000000000000000000000000000000000000000000", -// "limits": [] -// } -// ] -// }