Wire-plugin interface.
Add methods signatures to register merchants at banking institutions.
This commit is contained in:
parent
9942032ae9
commit
6df3227c24
@ -716,13 +716,17 @@ typedef int
|
|||||||
* Callback used to process data of a merchant under KYC monitoring.
|
* Callback used to process data of a merchant under KYC monitoring.
|
||||||
*
|
*
|
||||||
* @param cls closure
|
* @param cls closure
|
||||||
* @param payto_url payto URL of this particular merchant (bank account)
|
* @param payto_url payto URL of this particular
|
||||||
* @param general_id general identificator valid at the KYC-caring institution
|
* merchant (bank account)
|
||||||
* @param kyc_checked status of KYC check: if GNUNET_OK, the merchant was
|
* @param general_id general identificator valid
|
||||||
* checked at least once, never otherwise.
|
* at the KYC-caring institution
|
||||||
* @param merchant_serial_id serial ID identifying this merchant (bank
|
* @param kyc_checked status of KYC check:
|
||||||
* account) into the database system; it helps making more efficient
|
* if GNUNET_OK, the merchant was checked at least once,
|
||||||
* queries instead of the payto URL.
|
* never otherwise.
|
||||||
|
* @param merchant_serial_id serial ID identifying
|
||||||
|
* this merchant (bank account) into the database system;
|
||||||
|
* it helps making more efficient queries than the payto
|
||||||
|
* URL.
|
||||||
*/
|
*/
|
||||||
typedef void
|
typedef void
|
||||||
(*TALER_EXCHANGEDB_KycStatusCallback)(void *cls,
|
(*TALER_EXCHANGEDB_KycStatusCallback)(void *cls,
|
||||||
|
@ -40,6 +40,17 @@ typedef void
|
|||||||
size_t buf_size);
|
size_t buf_size);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback to process a merchant registration outcome.
|
||||||
|
*
|
||||||
|
* @param cls closure
|
||||||
|
* @param status GNUNET_OK if the registration succeeded,
|
||||||
|
* GNUNET_NO otherwise.
|
||||||
|
*/
|
||||||
|
typedef void
|
||||||
|
(*TALER_WIRE_MerchantRegisterCallback) (void *cls,
|
||||||
|
unsigned int status);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Details about a valid wire transfer to the exchange.
|
* Details about a valid wire transfer to the exchange.
|
||||||
* It is the plugin's responsibility to filter and undo
|
* It is the plugin's responsibility to filter and undo
|
||||||
@ -356,6 +367,34 @@ struct TALER_WIRE_Plugin
|
|||||||
struct TALER_WIRE_RejectHandle *rh);
|
struct TALER_WIRE_RejectHandle *rh);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ask the plugin which data is needed to register the merchant
|
||||||
|
* into the banking institution.
|
||||||
|
*
|
||||||
|
* @param enc[out] where to store the JSON formatted list of
|
||||||
|
* needed values. The merchant will use this list to
|
||||||
|
* show a HTML form to the business in order to collect that data.
|
||||||
|
* This value will have to be freed by the caller.
|
||||||
|
* @return GNUNET_OK upon successful `enc' allocation and definition,
|
||||||
|
* GNUNET_NO if _no_ data is needed at all, GNUNET_SYSERR
|
||||||
|
* for all the other cases.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
(*merchant_data)(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send data to the banking institution in order to get the
|
||||||
|
* merchant registered.
|
||||||
|
*
|
||||||
|
* @param cls closure
|
||||||
|
* @param body subset of information to be sent to the bank.
|
||||||
|
* The plugin implementation is free to modify this value.
|
||||||
|
* @param mrcb Callback to process the outcome.
|
||||||
|
*/
|
||||||
|
struct TALER_WIRE_MerchantRegisterHandle *
|
||||||
|
(*merchant_register)(void *cls,
|
||||||
|
const char *body,
|
||||||
|
TALER_WIRE_MerchantRegisterCallback mrcb);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -712,6 +712,7 @@ taler_bank_execute_wire_transfer (void *cls,
|
|||||||
origin_account_url = &buf[sizeof (struct BufFormatP)];
|
origin_account_url = &buf[sizeof (struct BufFormatP)];
|
||||||
left = buf_size - sizeof (struct BufFormatP);
|
left = buf_size - sizeof (struct BufFormatP);
|
||||||
slen = strlen (origin_account_url) + 1;
|
slen = strlen (origin_account_url) + 1;
|
||||||
|
/* make sure there's enough space to accomodate what's been taken now */
|
||||||
GNUNET_assert (left >= slen);
|
GNUNET_assert (left >= slen);
|
||||||
left -= slen;
|
left -= slen;
|
||||||
if (0 == left)
|
if (0 == left)
|
||||||
|
Loading…
Reference in New Issue
Block a user