taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit d79b550b33689ff5d4f479e7733734f6ca88fef0
parent 63e2c739aeccd743cb4e9741153963a0da9e4d27
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat, 20 Aug 2022 21:25:08 +0200

-update KYC API

Diffstat:
Mcore/api-exchange.rst | 42++++++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 14 deletions(-)

diff --git a/core/api-exchange.rst b/core/api-exchange.rst @@ -1841,10 +1841,15 @@ exchange. .. ts:def:: KycNeededRedirect interface KycNeededRedirect { + + // Hash of the payto:// account URI that identifies + // the account which is being KYCed. + h_payto: PaytoHash; + // Legitimization target that the merchant should // use to check for its KYC status using - // the ``/kyc-check/$LEGITIMIZATION_UUID/...`` endpoint. - legitimization_uuid: Integer; + // the ``/kyc-check/$REQUIREMENT_ROW/...`` endpoint. + requirement_row: Integer; } @@ -3318,11 +3323,11 @@ typically also view the balance.) // Legitimization target that the merchant should // use to check for its KYC status using - // the ``/kyc-check/$LEGITIMIZATION_UUID/...`` endpoint. + // the ``/kyc-check/$REQUIREMENT_ROW/...`` endpoint. // Optional, not present if the deposit has not // yet been aggregated to the point that a KYC // need has been evaluated. - legitimization_uuid?: Integer; + requirement_row?: Integer; // True if the KYC check for the merchant has been // satisfied. False does not mean that KYC @@ -4186,14 +4191,17 @@ KYC status updates **Response:** - :http:statuscode:`200 Ok`: - A KYC ID was created. - The response will be a `WalletKycUuid` object. :http:statuscode:`204 No Content`: - KYC is disabled at this exchange. + KYC is disabled at this exchange, or the balance + is below the threshold that requires KYC, or this + wallet already satisfied the KYC check for the + given balance. :http:statuscode:`403 Forbidden`: The provided signature is invalid. This response comes with a standard `ErrorDetail` response. + :http:statuscode:`451 Unavailable for Legal Reasons`: + The wallet must undergo a KYC check. A KYC ID was created. + The response will be a `WalletKycUuid` object. **Details:** @@ -4222,17 +4230,20 @@ KYC status updates // UUID that the wallet should use when initiating // the KYC check. - legitimization_uuid: number; + requirement_row: number; + + // Hash of the payto:// account URI for the wallet. + h_payto: PaytoHash; } -.. http:GET:: /kyc-check/$LEGITIMIZATION_UUID/$H_PAYTO/$USERTYPE +.. http:GET:: /kyc-check/$REQUIREMENT_ROW/$H_PAYTO/$USERTYPE Check or update KYC status of a particular payment target. Returns the current KYC status of the account and, if negative, returns the URL where the KYC process can be - initiated. The LEGITIMIZATION_UUID must have been + initiated. The REQUIREMENT_ROW must have been returned previously from an exchange API endpoint that determined that KYC was needed. The H_PATYO must be the hash of the payto:// URI of the payment target. @@ -4298,12 +4309,12 @@ KYC status updates } -.. http:GET:: /kyc-proof/$H_PAYTO/$LOGIC +.. http:GET:: /kyc-proof/$H_PAYTO/$PROVIDER_SECTION Update KYC status of a particular payment target. Provides information to the exchange that allows it to verify that the user has completed the KYC process. The details depend on - the logic. + the logic, which is selected by the $PROVIDER_SECTION. **Request:** @@ -4339,13 +4350,16 @@ KYC status updates service within a reasonable time period. +.. http:GET:: /kyc-webhook/$KYC_PROVIDER_SECTION/* +.. http:POST:: /kyc-webhook/$KYC_PROVIDER_SECTION/* .. http:GET:: /kyc-webhook/$LOGIC/* .. http:POST:: /kyc-webhook/$LOGIC/* Update KYC status of a particular payment target. Provides information to the KYC logic of the exchange that allows it to verify that the user has completed the KYC process. - May be a GET or a POST request, depending on $LOGIC. + May be a GET or a POST request, depending on $LOGIC or + $PROVIDER_SECTION. **Request:**