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.
|
||||
*
|
||||
* @param cls closure
|
||||
* @param payto_url payto URL of this particular merchant (bank account)
|
||||
* @param general_id general identificator valid at the KYC-caring institution
|
||||
* @param kyc_checked status of KYC check: if GNUNET_OK, the merchant was
|
||||
* checked at least once, never otherwise.
|
||||
* @param merchant_serial_id serial ID identifying this merchant (bank
|
||||
* account) into the database system; it helps making more efficient
|
||||
* queries instead of the payto URL.
|
||||
* @param payto_url payto URL of this particular
|
||||
* merchant (bank account)
|
||||
* @param general_id general identificator valid
|
||||
* at the KYC-caring institution
|
||||
* @param kyc_checked status of KYC check:
|
||||
* if GNUNET_OK, the merchant was checked at least once,
|
||||
* 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
|
||||
(*TALER_EXCHANGEDB_KycStatusCallback)(void *cls,
|
||||
|
@ -40,6 +40,17 @@ typedef void
|
||||
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.
|
||||
* It is the plugin's responsibility to filter and undo
|
||||
@ -356,6 +367,34 @@ struct TALER_WIRE_Plugin
|
||||
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)];
|
||||
left = buf_size - sizeof (struct BufFormatP);
|
||||
slen = strlen (origin_account_url) + 1;
|
||||
/* make sure there's enough space to accomodate what's been taken now */
|
||||
GNUNET_assert (left >= slen);
|
||||
left -= slen;
|
||||
if (0 == left)
|
||||
|
Loading…
Reference in New Issue
Block a user