diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/taler_exchangedb_plugin.h | 18 | ||||
| -rw-r--r-- | src/include/taler_wire_plugin.h | 39 | 
2 files changed, 50 insertions, 7 deletions
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h index 2b2d4307..6e594737 100644 --- a/src/include/taler_exchangedb_plugin.h +++ b/src/include/taler_exchangedb_plugin.h @@ -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, diff --git a/src/include/taler_wire_plugin.h b/src/include/taler_wire_plugin.h index 2758d2d2..ddbb725a 100644 --- a/src/include/taler_wire_plugin.h +++ b/src/include/taler_wire_plugin.h @@ -41,6 +41,17 @@ typedef void  /** + * 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   * invalid transfers. @@ -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);  };  | 
