{"openapi":"3.0.0","paths":{"/data/countries":{"get":{"operationId":"PublicDataController_getCountries","summary":"Get countries","description":"Returns the list of countries where Hub2 is available","parameters":[{"name":"method","required":false,"in":"query","description":"The payment method type","schema":{"example":"mobile_money","enum":["mobile_money","credit_card","bank_transfer"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CountryDto"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Data"]}},"/data/providers":{"get":{"operationId":"PublicDataController_getProviders","summary":"Get providers","description":"Returns the list of providers available with Hub2","parameters":[{"name":"method","required":false,"in":"query","description":"Transactions method supproted by the provider","schema":{"example":"mobile_money","enum":["mobile_money","bank_transfer","airtime","credit_card","cash"],"type":"string"}},{"name":"country","required":false,"in":"query","description":"Country code of the provider","schema":{"example":"CI","type":"string"}},{"name":"status","required":false,"in":"query","description":"The status of the provider","schema":{"example":"enabled","enum":["enabled","disabled"],"type":"string"}},{"name":"names","required":false,"in":"query","description":"The name of the provider","schema":{"example":["mtn","orange"],"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProviderDto"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Data"]}},"/data/bank-codes":{"get":{"operationId":"PublicDataController_getBanks","summary":"Get bank codes","description":"Returns the list of bank codes available with Hub2 for bank transfers, grouped by country","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/BankDto"}},"example":{"CI":[{"bankName":"Ecobank Cote D'Ivoire","bankCode":"ECOCCIAB","country":"CI"}],"SN":[{"bankName":"Ecobank Senegal","bankCode":"ECOCSNDA","country":"SN"}]}}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Data"]}},"/webhooks":{"post":{"operationId":"WebhooksController_create","summary":"Create a webhook","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDtoAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Webhooks"]},"get":{"operationId":"WebhooksController_findAll","summary":"Get all webhooks","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDtoAlias"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Webhooks"]}},"/webhooks/{id}":{"get":{"operationId":"WebhooksController_find","summary":"Get a webhook","parameters":[{"name":"id","required":true,"in":"path","description":"Unique identifier for the Webhook","schema":{"example":"wh_z1urYtVFgEebtcj8fxp4v","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDtoAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Webhooks"]},"patch":{"operationId":"WebhooksController_update","summary":"Update a webhook","parameters":[{"name":"id","required":true,"in":"path","description":"Unique identifier for the Webhook","schema":{"example":"wh_z1urYtVFgEebtcj8fxp4v","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDtoAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Webhooks"]},"delete":{"operationId":"WebhooksController_remove","summary":"Remove a webhook","parameters":[{"name":"id","required":true,"in":"path","description":"Unique identifier for the Webhook","schema":{"example":"wh_z1urYtVFgEebtcj8fxp4v","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Webhooks"]}},"/refunds/refund":{"post":{"operationId":"RefundController_create","summary":"Create Refund","description":"This endpoint allows you to create a refund","parameters":[{"name":"MerchantId","required":true,"in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundRequestDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRefundResponseDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Refunds"]}},"/refunds":{"get":{"operationId":"RefundController_getRefunds","parameters":[{"name":"MerchantId","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Refunds"]},"post":{"operationId":"RefundController_createRefund","parameters":[{"name":"MerchantId","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundRequestDto"}}}},"responses":{"201":{"description":""}},"tags":["Refunds"]}},"/refunds/{id}":{"get":{"operationId":"RefundController_getRefund","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"MerchantId","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Refunds"]}},"/payments-refund/{id}/refund":{"post":{"operationId":"PaymentsRefundsController_create","summary":"Create Refund for a Payment","description":"This endpoint allows you to create a refund for a payment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePaymentRefundRequestDto"}}}},"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePaymentRefundResponseDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments Refunds"]}},"/payments-refund/{refundId}/status":{"get":{"operationId":"PaymentsRefundsController_getStatus","summary":"Get the status of a Payment Refund","description":"This endpoint allows you to get the status of a payment refund","parameters":[{"name":"refundId","required":true,"in":"path","schema":{"type":"number"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPaymentRefundStatusResponseDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments Refunds"]}},"/balance":{"get":{"operationId":"BalanceController_getBalances","summary":"Check Merchant Balance","description":"Returns a summary of a merchant accounts balances (collection, transfer and transfer irt accounts) .","parameters":[{"name":"date","required":false,"in":"query","description":"Get balance at Datetime in UTC timezone.\n      Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","schema":{"example":"2020-10-15T12:16:26.128Z","type":"string"}},{"name":"currency","required":false,"in":"query","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","schema":{"example":"XOF","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BalancesDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Balance"]}},"/sms/count":{"get":{"operationId":"SmsController_getCount","summary":"Retrieve number of sms sent","description":"Retrieve number of sms sent between two date","parameters":[{"name":"from","required":false,"in":"query","description":"A date in UTC timezone to filters data from, inclusively.\n    Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n    The default value is the first day of this month.","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"to","required":false,"in":"query","description":"A date in UTC timezone to filters data to, inclusively.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n     The default value is now().","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmsCountDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Sms"]}},"/sms/list":{"get":{"operationId":"SmsController_getListing","summary":"Get a list of sms sent","description":"Retrieve a list of sms sent between two date.","parameters":[{"name":"from","required":false,"in":"query","description":"A date in UTC timezone to filters data from, inclusively.\n    Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n    The default value is the first day of this month.","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"to","required":false,"in":"query","description":"A date in UTC timezone to filters data to, inclusively.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n     The default value is now().","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"page","required":false,"in":"query","description":"The page number in the returned data. The default value is 1.\n    Do use with 'perPage' query parameter to paginate properly.","schema":{"example":2,"type":"number"}},{"name":"perPage","required":false,"in":"query","description":"The maximum number of results that will be return. The default value is 10.\n    Do use with 'page' query parameter to paginate properly.","schema":{"example":5,"type":"number"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"headers":{"Content-Range":{"description":"Indicate the response's range. Follow the format : start-end/total","example":"5-9/16","schema":{"type":"string"}}},"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SmsDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Sms"]}},"/sms":{"post":{"operationId":"SmsController_send","summary":"Send Sms","description":"Send Sms to different destinations.","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendSmsDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SmsDto"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Sms"]}},"/submerchants":{"get":{"operationId":"SubmerchantsController_listSubmerchants","summary":"List submerchants","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"List of submerchants","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubmerchantDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Submerchants"]},"post":{"operationId":"SubmerchantsController_createSubmerchant","summary":"Create a submerchant","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSubmerchantDto"}}}},"responses":{"201":{"description":"Submerchant created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmerchantDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Submerchants"]}},"/submerchants/{submerchantId}":{"patch":{"operationId":"SubmerchantsController_updateSubmerchant","summary":"Update a submerchant","parameters":[{"name":"submerchantId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubmerchantDto"}}}},"responses":{"200":{"description":"Submerchant updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmerchantDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Submerchants"]}},"/payment-intents":{"post":{"operationId":"PaymentIntentsController_createPayment","summary":"Create a PaymentIntent object","description":"This endpoint is the first entry point of the PAY-IN circuit.\n    First of all, you must create a payment intent which describes your intention to collect an amount of money in a currency.\n    Later on, you will perform payments associated with this payment intent.\n    Please do save the fields returned by this endpoint, especially the field 'id' and 'token'.\n    That will help you identity the payment intent in our platform whenever you want to retrieve it.","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePaymentIntentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]},"get":{"operationId":"PaymentIntentsController_getPaymentIntents","summary":"Retrieve a PaymentIntent collection","description":"This endpoints is here to provide you an efficient way of retrieving multiple payment intents at the same time.\n    Everything is provided in the request's headers to perform a proper pagination on the results.","parameters":[{"name":"customerReference","required":false,"in":"query","description":"The reference you provided during the creation of the payment intent.\n    It is a reference to the customer for who this payment intent was created.","schema":{"example":"cust_01924059","type":"string"}},{"name":"purchaseReference","required":false,"in":"query","description":"The reference you provided during the creation of the payment intent.\n    It is a reference to the purchase made by the customer for who this payment intent was created.","schema":{"example":"ref_2020_11_10_001","type":"string"}},{"name":"to","required":false,"in":"query","description":"A date in UTC timezone to filters data to, inclusively.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n     The default value is now().","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"from","required":false,"in":"query","description":"A date in UTC timezone to filters data from, inclusively.\n    Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n    The default value is the first day of this month.","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"page","required":false,"in":"query","description":"The page number in the returned data. The default value is 1.\n    Do use with 'perPage' query parameter to paginate properly.","schema":{"example":2,"type":"number"}},{"name":"perPage","required":false,"in":"query","description":"The maximum number of results that will be return. The default value is 10.\n    Do use with 'page' query parameter to paginate properly.","schema":{"example":5,"type":"number"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"headers":{"Content-Range":{"description":"Indicate the response's range. Follow the format : start-end/total","example":"5-9/16","schema":{"type":"string"}}},"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentIntentDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]}},"/payment-intents/{id}":{"get":{"operationId":"PaymentIntentsController_getPayment","summary":"Retrieve a PaymentIntent object","description":"This endpoint allows you to fetch an existing payment intent from our database.\n    You must either provide the \"id\" or the \"token\" for us to find that payment intent.\n    Retrieving using the \"token\" is the fastest way and is not rate limited, depending on your needs, that's probably the best solution.","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier of the payment intent to retrieve.","schema":{"type":"string"}},{"name":"token","required":false,"in":"query","description":"You can also use this token parameter to retrieve a payment intent.\n    This is especially useful for a client-side application when you don't want your api key to be disclosed in.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]}},"/payment-intents/{id}/payments":{"post":{"operationId":"PaymentIntentsController_pay","summary":"Attempt a payment on a PaymentIntent object","description":"This is the endpoint to use whenever you want to attempt a payment on a payment intent.\n    It will create a payment object associated with the intent which will contains all the informations about the payment.\n    Whenever a payment fails or don't have the appropriate amount to match the intent, other payments can be created on the same intent.","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier of the PaymentIntent on which the Payment attempt is made.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnprocessableEntityErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}},"502":{"description":"Invalid gateway","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadGatewayErrorAlias"}}}}},"tags":["Payments"]}},"/payment-intents/{id}/payments/sync":{"post":{"operationId":"PaymentIntentsController_pay_sync","summary":"Synchronously attempt a payment on a payment intent","description":"This is the same endpoint but the payment is handled synchronously, it means it will wait for the provider response before returning the status of the payment intent. This endpoint is not the favored way to integrate our api and is not available for all merchants and for all providers.","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier of the payment intent on which the payment attempt is made.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnprocessableEntityErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}},"502":{"description":"Invalid gateway","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadGatewayErrorAlias"}}}}},"tags":["Payments"]}},"/payment-intents/{id}/authentication":{"post":{"operationId":"PaymentIntentsController_authenticate","summary":"Authenticate the current payment","description":"Some circuit have authentication restrictions which requires an extra step.\n    This endpoint is here to allow you to make that extra steps. It happens after a payment has been requested and when that payment moved to the \"action_required\" state.","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier of the PaymentIntent requiring authentication.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticateDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]}},"/payment-intents/{id}/payment-fees":{"get":{"operationId":"PaymentIntentsController_getPaymentFees","summary":"Retrieve fees","description":"This endpoint allows you to retrieve the fees associated with a payment intent.\n    Fees are applied per payment and this endpoints will group all the fees in an array.","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier of the PaymentIntent on which to retrieve PaymentFees.","schema":{"type":"string"}},{"name":"country","required":true,"in":"query","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","schema":{"example":"CI","type":"string"}},{"name":"provider","required":true,"in":"query","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","schema":{"example":"orange","type":"string"}},{"name":"paymentMethod","required":true,"in":"query","description":"The method selected by the customer to make this Payment.","schema":{"enum":["mobile_money","credit_card","bank_transfer"],"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentFeeDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]}},"/payment-intents/url/{token}":{"get":{"operationId":"PaymentIntentsController_getUrl","summary":"Retrieve configured URLs","description":"This endpoint fetch the merchant's preference and return the redirection URL saved in there.\n    This is mostly used for the Hub2 modal feature.\n    You must provide the payment intent token for that.","parameters":[{"name":"token","required":true,"in":"path","description":"Provided merchant's token.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantPreferencesUrl"}}}},"401":{"description":"Invalid token provided","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadPaymentIntentTokenError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]}},"/payment-intents/{id}/status":{"get":{"operationId":"PaymentIntentsController_getPaymentIntentStatus","summary":"Retrieve a PaymentIntent status","description":"This endpoint allows you to fetch the status of an existing payment intent from our database.\n    You must either provide the \"id\" or the \"token\" for us to find that payment intent.\n    Retrieving using the \"token\" is the fastest way and is not rate limited, depending on your needs, that's probably the best solution.","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier of the payment intent to retrieve.","schema":{"type":"string"}},{"name":"token","required":false,"in":"query","description":"You can also use this token parameter to retrieve a payment intent.\n    This is especially useful for a client-side application when you don't want your api key to be disclosed in.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentStatusDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]}},"/payments":{"get":{"operationId":"PaymentsController_getPaymentIntents","summary":"Retrieve a Payments collection","description":"Return a list of Payments, eventually filtered by criteria.","parameters":[{"name":"isDelegated","required":false,"in":"query","description":"Only transactions matching the given delegated status","schema":{"example":true,"type":"boolean"}},{"name":"to","required":false,"in":"query","description":"A date in UTC timezone to filters data to, inclusively.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n     The default value is now().","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"from","required":false,"in":"query","description":"A date in UTC timezone to filters data from, inclusively.\n    Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n    The default value is the first day of this month.","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"page","required":false,"in":"query","description":"The page number in the returned data. The default value is 1.\n    Do use with 'perPage' query parameter to paginate properly.","schema":{"example":2,"type":"number"}},{"name":"perPage","required":false,"in":"query","description":"The maximum number of results that will be return. The default value is 10.\n    Do use with 'page' query parameter to paginate properly.","schema":{"example":5,"type":"number"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"headers":{"Content-Range":{"description":"Indicate the response's range. Follow the format : start-end/total","example":"5-9/16","schema":{"type":"string"}}},"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]}},"/payments/{id}/status":{"get":{"operationId":"PaymentsController_getPaymentStatus","summary":"Retrieve the status payment object","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier of the payment intent to retrieve.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentStatusDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payments"]}},"/provisionings":{"post":{"operationId":"ProvisioningsController_createProvisioning","summary":"Create a Provisioning","description":"Move funds from merchant's collection account to transfer account","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProvisioningDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisioningDto"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisioningDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Provisioning"]},"get":{"operationId":"ProvisioningsController_listProvisionings","summary":"Retrieve a Provisionings collection","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvisioningDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Provisioning"]}},"/provisionings/{id}":{"get":{"operationId":"ProvisioningsController_getProvisioning","summary":"Retrieve a Provisioning from given id","parameters":[{"name":"id","required":true,"in":"path","description":"Unique identifier for the Provisioning","schema":{"example":"prov_z1urYtVFgEebtcj8fxp4v","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisioningDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Provisioning"]}},"/receipts/{id}":{"get":{"operationId":"ReceiptsController_getReceipt","summary":"Retrieve a Receipt","description":"Retrieve a sucessful or failed transfer or payment receipt","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier can be receiptId or transactionId (ex: TransferId)","schema":{"type":"string"}},{"name":"isReceiptIdentifier","required":false,"in":"query","description":"Indicate if the provided identifier is a receipt id (true) or a transfer or payment id (false).","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptDto"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Receipt"]}},"/receipts/html/{id}":{"get":{"operationId":"ReceiptsController_getReceiptHTMLFromTransactionId","summary":"Retrieve a Receipt as an HTML representation","description":"Retrieve a sucessful or failed transfer or payment receipt as HTML","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier can be receiptId or transactionId (ex: TransferId)","schema":{"type":"string"}},{"name":"isReceiptIdentifier","required":false,"in":"query","description":"Indicate if the provided identifier is a receipt id (true) or a transfer or payment id (false).","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptHtmlDto"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Receipt"]}},"/terminal/payments":{"post":{"operationId":"TerminalController_pay","summary":"Execute payment","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalPayDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payment on Terminal"]}},"/terminal/payments/{id}":{"get":{"operationId":"TerminalController_getPayment","summary":"Retrieve a payment","parameters":[{"name":"id","required":true,"in":"path","description":"Identifier of the payment intent to retrieve.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payment on Terminal"]}},"/transfers":{"post":{"operationId":"TransfersController_makeTransfer","summary":"Create Transfer","description":"This endpoint allows you to make a transfer (PAY-OUT)","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MakeTransferDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDtoAlias"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Transfers"]},"get":{"operationId":"TransfersController_filterGet","summary":"Retrieve a Transfer collection","description":"Return a list of Transfers, eventually filtered by criteria.","parameters":[{"name":"reference","required":false,"in":"query","description":"The reference provided by the client during the creation of this transfer. It will most likely be the internal ID of the transaction.","schema":{"example":"ref_2020_11_10_001","type":"string"}},{"name":"isDelegated","required":false,"in":"query","description":"Only transactions matching the given delegated status","schema":{"example":true,"type":"boolean"}},{"name":"to","required":false,"in":"query","description":"A date in UTC timezone to filters data to, inclusively.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n     The default value is now().","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"from","required":false,"in":"query","description":"A date in UTC timezone to filters data from, inclusively.\n    Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n    The default value is the first day of this month.","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"page","required":false,"in":"query","description":"The page number in the returned data. The default value is 1.\n    Do use with 'perPage' query parameter to paginate properly.","schema":{"example":2,"type":"number"}},{"name":"perPage","required":false,"in":"query","description":"The maximum number of results that will be return. The default value is 10.\n    Do use with 'page' query parameter to paginate properly.","schema":{"example":5,"type":"number"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"headers":{"Content-Range":{"description":"Indicate the response's range. Follow the format : start-end/total","example":"5-9/16","schema":{"type":"string"}}},"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TransferNoBalanceDtoAlias"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Transfers"]}},"/transfers/{id}":{"get":{"operationId":"TransfersController_getTransfer","summary":"Retrieve a Transfer","description":"This endpoint allows you to fetch an existing transfer from our database\n    by providing its 'id'","parameters":[{"name":"id","required":true,"in":"path","description":"Unique identifier for the Transfer","schema":{"example":"tr_z1urYtVFgEebtcj8fxp4v","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Transfers"]}},"/transfers/{id}/balance":{"get":{"operationId":"TransfersController_getTransferBalances","summary":"Retrieve a transfer's balance","description":"Fetch balance before and after transfer","parameters":[{"name":"id","required":true,"in":"path","description":"Unique identifier for the Transfer","schema":{"example":"tr_z1urYtVFgEebtcj8fxp4v","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDtoAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Transfers"]}},"/transfers/status":{"post":{"operationId":"TransfersController_getTransferStatus","summary":"Retrieve transfer's status","description":"Retrieve the status for every id provided in the body array","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"201":{"description":""},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Transfers"]}},"/transfers/{id}/status":{"get":{"operationId":"TransfersController_getTransferStatusById","summary":"Retrieve a transfer's status","description":"Retrieve the status for a transfer","parameters":[{"name":"id","required":true,"in":"path","description":"Unique identifier for the Transfer","schema":{"example":"tr_z1urYtVFgEebtcj8fxp4v","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferStatusDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Transfers"]}},"/irt/transfer":{"post":{"operationId":"TransfersIrtController_makeTransfer","summary":"Create IRT transfer","description":"Make an IRT transfer","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MakeTransferIrtDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["IRT"]},"get":{"operationId":"TransfersIrtController_filterGet","summary":"Retrieve a IRT transfers collection","description":"Return a list of IRT transfers, eventually filtered by criteria.","parameters":[{"name":"reference","required":false,"in":"query","description":"The reference provided by the client during the creation of this transfer. It will most likely be the internal ID of the transaction.","schema":{"example":"ref_2020_11_10_001","type":"string"}},{"name":"isDelegated","required":false,"in":"query","description":"Only transactions matching the given delegated status","schema":{"example":true,"type":"boolean"}},{"name":"to","required":false,"in":"query","description":"A date in UTC timezone to filters data to, inclusively.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n     The default value is now().","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"from","required":false,"in":"query","description":"A date in UTC timezone to filters data from, inclusively.\n    Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n    The default value is the first day of this month.","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"page","required":false,"in":"query","description":"The page number in the returned data. The default value is 1.\n    Do use with 'perPage' query parameter to paginate properly.","schema":{"example":2,"type":"number"}},{"name":"perPage","required":false,"in":"query","description":"The maximum number of results that will be return. The default value is 10.\n    Do use with 'page' query parameter to paginate properly.","schema":{"example":5,"type":"number"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"headers":{"Content-Range":{"description":"Indicate the response's range. Follow the format : start-end/total","example":"5-9/16","schema":{"type":"string"}}},"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TransferNoBalanceDtoAlias"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["IRT"]}},"/irt/transfer/verified-recipient":{"post":{"operationId":"TransfersIrtController_makeTransferVerifiedRecipient","summary":"Create IRT transfer","description":"Make an IRT transfer to a verified recipient","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateVerifiedTransferIrtDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["IRT"]}},"/compliance/kyb/{name}":{"get":{"operationId":"ComplianceController_getKyb","summary":"Retrieve a kyb by name","parameters":[{"name":"name","required":true,"in":"path","description":"Name of the aggregated merchant declared in the kyb.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KybDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]},"put":{"operationId":"ComplianceController_updateKyb","summary":"Update a kyb","parameters":[{"name":"name","required":true,"in":"path","description":"Name of the aggregated merchant declared in the kyb.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKybDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KybDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]},"delete":{"operationId":"ComplianceController_deleteKyb","summary":"Delete a kyb","parameters":[{"name":"name","required":true,"in":"path","description":"Name of the aggregated merchant declared in the kyb.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KybDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]}},"/compliance/kyb":{"get":{"operationId":"ComplianceController_getKybList","summary":"Fetch a kyb list","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KybDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]},"post":{"operationId":"ComplianceController_createKyb","summary":"Create a kyb","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKybDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KybDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]}},"/compliance/transaction":{"post":{"operationId":"ComplianceController_createKybTransaction","summary":"Create a kyb transaction","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateKybTransactionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KybTransactionDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]},"get":{"operationId":"ComplianceController_getKybTransactionList","summary":"Fetch a kyb transactions list","parameters":[{"name":"merchantId","required":false,"in":"query","description":"The id identifying the merchant","schema":{"example":"156","type":"string"}},{"name":"name","required":false,"in":"query","description":"Name of the aggregated merchant declared in a kyb","schema":{"example":"Example merchant","type":"string"}},{"name":"reference","required":false,"in":"query","description":"The reference of the kyb transaction (unique per merchantId)","schema":{"example":"ref_<merhcantId>_<name>/<anything>","type":"string"}},{"name":"from","required":false,"in":"query","description":"A date in UTC timezone to filters data from, inclusively.\n    Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n    The default value is the first day of this month.","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"to","required":false,"in":"query","description":"A date in UTC timezone to filters data to, inclusively.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).\n     The default value is now().","schema":{"example":"2020-10-15T12:09:49.355Z","type":"string"}},{"name":"status","required":false,"in":"query","description":"Status of a kyb transaction. It can be eithet 'created' or 'validated'","schema":{"example":"created","enum":["created","pending","rejected","validated"],"type":"string"}},{"name":"isKybDeleted","required":false,"in":"query","description":"Either the kyb transaction is related to a deleted kyb or not","schema":{"example":true,"type":"boolean"}},{"name":"perPage","required":false,"in":"query","description":"The maximum number of results that will be return. The default value is 10.\n    Do use with 'page' query parameter to paginate properly.","schema":{"example":5,"type":"number"}},{"name":"page","required":false,"in":"query","description":"The page number in the returned data. The default value is 1.\n    Do use with 'perPage' query parameter to paginate properly.","schema":{"example":2,"type":"number"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KybTransactionDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]}},"/compliance/transaction/{reference}":{"get":{"operationId":"ComplianceController_getKybTransaction","summary":"Retrieve a kyb transaction by reference","parameters":[{"name":"reference","required":true,"in":"path","description":"Reference of the kyb transaction to retrieve.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KybTransactionDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]},"delete":{"operationId":"ComplianceController_deleteKybTransaction","summary":"Delete a kyb transaction","parameters":[{"name":"reference","required":true,"in":"path","description":"Reference of the kyb transaction to retrieve.","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Compliance"]}},"/compliance/kyc":{"get":{"operationId":"ComplianceController_getKyc","summary":"Get kyc information","parameters":[{"name":"transactionType","required":true,"in":"query","description":"The type of the transaction","schema":{"example":"transfer","type":"string"}},{"name":"provider","required":true,"in":"query","description":"The name of the destination provider","schema":{"example":"orange","type":"string"}},{"name":"country","required":true,"in":"query","description":"The country of the transaction","schema":{"example":"CI","type":"string"}},{"name":"method","required":true,"in":"query","description":"The destination type","schema":{"example":"mobile money","type":"string"}},{"name":"identifier","required":true,"in":"query","description":"The identifier of the destination, mobile number or bank account number","schema":{"example":"+22500000001","type":"string"}},{"name":"reference","required":true,"in":"path","description":"Reference of the kyb transaction to retrieve.","schema":{}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycInformation"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}},"501":{"description":"Invalid gateway","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotImplementedErrorAlias"}}}}},"tags":["Compliance"]}},"/recipient":{"get":{"operationId":"RecipientController_list","summary":"Retrieve a list of recipients according to filters","parameters":[{"name":"bankName","required":false,"in":"query","description":"Only recipients using the given bank name.","schema":{"type":"string"}},{"name":"bankCode","required":false,"in":"query","description":"Only recipients using the given bank code.","schema":{"type":"string"}},{"name":"provider","required":false,"in":"query","description":"Only recipients using the given provider.","schema":{"type":"string"}},{"name":"search","required":false,"in":"query","description":"Search string used in firstname and lastname","schema":{"type":"string"}},{"name":"firstname","required":false,"in":"query","description":"Recipient firstname","schema":{"type":"string"}},{"name":"lastname","required":false,"in":"query","description":"Recipient lastname","schema":{"type":"string"}},{"name":"company","required":false,"in":"query","description":"Recipient company","schema":{"type":"string"}},{"name":"country","required":false,"in":"query","description":"Recipient country","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","description":"Recipient type","schema":{"enum":["mobile","bank"],"type":"string"}},{"name":"msisdn","required":false,"in":"query","description":"Only recipients having the given msisdn","schema":{"type":"string"}},{"name":"iban","required":false,"in":"query","description":"Only recipients having the given iban.","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","description":"Page number starting from 1","schema":{"example":1,"type":"number"}},{"name":"limit","required":true,"in":"query","description":"Number of items per page","schema":{"minimum":1,"maximum":100,"example":10,"type":"number"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"headers":{"Link":{"description":"Contains URLs pointing to prev, next, first or last page of results.","example":"<https://api.hub2.io/api/recipient?limit=10&page=1>; rel=\"first\", <https://api.hub2.io/api/recipient?limit=10&page=2>; rel=\"prev\", <https://api.hub2.io/api/recipient?limit=10&page=4>; rel=\"next\", <https://api.hub2.io/api/recipient?limit=10&page=10>; rel=\"last\"","schema":{"type":"string"}}},"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecipientDto"}}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Recipient"]},"post":{"operationId":"RecipientController_create","summary":"Create a new recipient","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateRecipientCreationDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipientDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Recipient"]}},"/recipient/{id}":{"get":{"operationId":"RecipientController_read","summary":"Get a recipient by id","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipientDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Recipient"]},"delete":{"operationId":"RecipientController_delete","summary":"Delete a recipient by id","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Recipient"]}},"/deposits/{id}":{"get":{"operationId":"DepositController_getDeposit","summary":"Get a deposit","description":"This endpoint allows you to get a deposit by its ID.","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Deposits"]}},"/deposits":{"get":{"operationId":"DepositController_listDeposits","summary":"List deposits","description":"This endpoint allows you to list deposits.","parameters":[{"name":"merchantId","required":false,"in":"query","description":"Filter by merchant ID","schema":{"example":"876","type":"string"}},{"name":"currency","required":false,"in":"query","description":"Filter by currency","schema":{"example":"XOF","type":"string"}},{"name":"minAmount","required":false,"in":"query","description":"Minimum deposit amount","schema":{"example":1000,"type":"string"}},{"name":"maxAmount","required":false,"in":"query","description":"Maximum deposit amount","schema":{"example":5000,"type":"string"}},{"name":"provider","required":false,"in":"query","description":"Filter by provider name","schema":{"example":"ecobank","type":"string"}},{"name":"accountType","required":false,"in":"query","description":"Filter by account type","schema":{"enum":["collection","transfer","transfer-irt"],"type":"string"}},{"name":"from","required":false,"in":"query","description":"Start date (ISO 8601)","schema":{"example":"2024-01-01T00:00:00Z","type":"string"}},{"name":"to","required":false,"in":"query","description":"End date (ISO 8601)","schema":{"example":"2024-12-31T23:59:59Z","type":"string"}},{"name":"status","required":false,"in":"query","description":"Filter by status","schema":{"example":"failed","enum":["created","failed","pending","successful"],"type":"string"}},{"name":"filterBy","required":false,"in":"query","description":"Variable that will be use for ordering and filtering. Can be updatedAt or createdAt. default is updatedAt","schema":{"example":"createdAt","type":"string"}},{"name":"matchingCode","required":false,"in":"query","description":"Only transactions matching the given matching code.","schema":{"type":"string"}},{"name":"mode","required":false,"in":"query","description":"Only transactions matching the given mode.","schema":{"default":"live","example":"live","enum":["live","sandbox"],"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DepositDto"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Deposits"]},"post":{"operationId":"DepositController_createDeposit","summary":"Create a deposit","description":"This endpoint allows you to create a deposit.","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDepositDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Deposits"]}},"/deposits/{id}/proof":{"post":{"operationId":"DepositController_submitProof","summary":"Submit a proof","description":"This endpoint allows you to submit a proof for a deposit","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositProofDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Deposits"]},"get":{"operationId":"DepositController_getProof","summary":"Get deposit proof image","description":"Retrieve and stream the deposit proof image","parameters":[{"name":"id","required":true,"in":"path","description":"The deposit ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Proof image streamed successfully"},"404":{"description":"Deposit or proof not found"}},"tags":["Deposits"]}},"/delegated/transfers":{"post":{"operationId":"DelegationController_createDelegatedTransfer","summary":"Create a delegated Transfer","description":"This endpoint allows you to make a transfer (PAY-OUT) using your own provider credentials.","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedDelegatedTransferDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDtoAlias"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Delegation"]}},"/delegated/transfers/irt":{"post":{"operationId":"DelegationController_createDelegatedTransferIrt","summary":"Create a delegated IRT transfer","description":"Make an IRT transfer using your own provider credentials.","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedDelegatedTransferIrtDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDto"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Delegation"]}},"/delegated/payments":{"post":{"operationId":"DelegationController_createDelegatedPayment","summary":"Create a delegated payment","description":"This endpoint allows you to make a payment using your own provider credentials.","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegatedPaymentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Delegation"]}},"/delegated/payments/sync":{"post":{"operationId":"DelegationController_createDelegatedSyncPayment","summary":"Create a delegated synchronous payment","description":"This endpoint allows you to make a synchronous payment using your own provider credentials.","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegatedPaymentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIntentDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Delegation"]}},"/payment-links":{"post":{"operationId":"PaymentLinksController_createPaymentLink","summary":"Create Payment Link","description":"Create a new payment link","parameters":[{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePaymentLinkDto"}}}},"responses":{"201":{"description":"Payment link created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentLinkDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"409":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInvalidRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payment Links"]},"get":{"operationId":"PaymentLinksController_getPaymentLinks","summary":"List Payment Links","description":"Retrieve a list of payment links with optional filtering","parameters":[{"name":"fromCreatedAt","required":false,"in":"query","description":"Filter by creation date from (ISO 8601) - inclusive start date","schema":{"example":"2024-01-15T00:00:00.000Z","type":"string"}},{"name":"toCreatedAt","required":false,"in":"query","description":"Filter by creation date to (ISO 8601) - inclusive end date","schema":{"example":"2024-01-15T23:59:59.999Z","type":"string"}},{"name":"fromExpirationDate","required":false,"in":"query","description":"Filter by expiration date from (ISO 8601) - inclusive start date","schema":{"example":"2024-01-15T00:00:00.000Z","type":"string"}},{"name":"toExpirationDate","required":false,"in":"query","description":"Filter by expiration date to (ISO 8601) - inclusive end date","schema":{"example":"2024-01-15T23:59:59.999Z","type":"string"}},{"name":"status","required":false,"in":"query","description":"Filter by payment link status","schema":{"example":"active","enum":["active","expired","closed","completed"],"type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentLinkDto"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payment Links"]}},"/payment-links/{id}":{"get":{"operationId":"PaymentLinksController_getPaymentLinkWithAttempts","summary":"Get Payment Link with Attempts","description":"Retrieve detailed information about a payment link including payment attempts","parameters":[{"name":"id","required":true,"in":"path","description":"Payment link ID","schema":{"example":"pl_z1urYtVFgEebtcj8fxp4v","type":"string"}},{"name":"ApiKey","in":"header","description":"Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"MerchantId","in":"header","description":"Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.","required":true,"schema":{"type":"string"}},{"name":"Environment","in":"header","description":"Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.","required":true,"schema":{"enum":["live","sandbox"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentLinkWithAttemptsDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"401":{"description":"Wrong credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUnauthorizedErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInternalErrorAlias"}}}}},"tags":["Payment Links"]}},"/payment-links/{id}/close":{"patch":{"operationId":"PaymentLinksController_closePaymentLink","parameters":[{"name":"id","required":true,"in":"path","description":"Payment link ID","schema":{"example":"pl_z1urYtVFgEebtcj8fxp4v","type":"string"}}],"responses":{"200":{"description":"Payment link closed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentLinkDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestErrorAlias"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiForbiddenRequestErrorAlias"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundErrorAlias"}}}},"429":{"description":"ThrottlerException: Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTooManyRequestErrorAlias"}}}}},"tags":["Payment Links"]}}},"info":{"title":"Hub2 Service · Api","description":"This is the Hub2 api reference |\n      Please check https://docs.hub2.io/ for the full documentation |\n      Rate limits of endpoints are here : https://docs.hub2.io/en/details/limits.html.","version":"2.140.0","contact":{"name":"Hub2","url":"https://www.hub2.io/","email":"contact@hub2.io"}},"tags":[{"name":"Payments","description":"Best known as the PAY-IN API, it provides endpoints for merchants to perform Hub2 PAY-IN transactions."},{"name":"Transfers","description":"Best known as the PAY-OUT API, it provides endpoints for merchants to perform Hub2 PAY-OUT transactions."},{"name":"IRT","description":"International Remittance Transfers"},{"name":"Balance","description":""},{"name":"Webhooks","description":""},{"name":"Provisioning","description":""},{"name":"Payment on Terminal","description":""},{"name":"Receipt","description":""},{"name":"Sms","description":""},{"name":"Data","description":""},{"name":"Compliance","description":""},{"name":"Recipient","description":""},{"name":"Delegation","description":""},{"name":"Deposits","description":""},{"name":"Payment Links","description":""},{"name":"Submerchants","description":""}],"servers":[],"components":{"schemas":{"CountryDto":{"type":"object","properties":{"id":{"type":"string","description":"Id of the country","example":"co_9emDKLlFsYRNWOPiG4pnK"},"code":{"type":"string","description":"The code of the country. Follows the ISO 3166-1 alpha-2","example":"SN"},"name":{"type":"string","description":"Name of the country","example":"Sénégal"}},"required":["id","code","name"]},"InternalApiBadRequestError":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP error code.","example":400},"message":{"description":"Detailed error message or array of messages to describe what's wrong.","example":["destination.provider must be a string"],"type":"array","items":{"type":"string"}},"error":{"type":"string","description":"The error message","example":"Bad Request"}},"required":["statusCode","message","error"]},"ApiBadRequestErrorAlias":{"type":"object","properties":{"status":{"type":"number","description":"HTTP error code.","example":400},"error":{"description":"HTTP error description.","allOf":[{"$ref":"#/components/schemas/InternalApiBadRequestError"}]}},"required":["status","error"]},"ApiInternalErrorAlias":{"type":"object","properties":{"type":{"type":"string","description":"The type of this error.","example":"internal_error"},"code":{"type":"string","description":"The error code for this error.","example":["internal_error","wrong_credentials","not_granted","live_mode_not_granted","invalid_sandbox_msisdn","invalid_url","orange_invalid_url","wrong_provider","override_business_name","do_not_override_business_name"]},"message":{"type":"string","description":"The error message describing what happens to throw this error.","example":"An error occurred on our system. Please try again later."}},"required":["type","code","message"]},"ProviderDto":{"type":"object","properties":{"id":{"type":"string","description":"Id of the provider","example":"pr_9kENiPPutAst3eAbAbVAQ"},"name":{"type":"string","description":"Name of the provider","example":"Orange"},"country":{"type":"string","description":"Country where the provider is deployed. Follows the ISO 3166-1 alpha-2","example":"CI"},"method":{"type":"string","description":"The payment method supported by the provider","enum":["mobile_money","credit_card","bank_transfer"],"example":"mobile_money"},"currency":{"type":"string","description":"The currency used by the provider. Follows the ISO 4217","example":"XOF"}},"required":["id","name","country","method","currency"]},"CreateWebhookDto":{"type":"object","properties":{"url":{"type":"string","description":"Fully qualified url, starting with https://, of the webhook endpoint.","example":"https://my.webhook.target"},"events":{"type":"array","description":"The list of events to enable for this endpoint.","example":["payment.created","payment_intent.created"],"items":{"type":"string","enum":["receipt.created","sms.created","sms.sent","sms.received","sms.failed","transfer.created","transfer.processing","transfer.succeeded","transfer.failed","transfer_irt.created","transfer_irt.processing","transfer_irt.succeeded","transfer_irt.failed","deposit.created","deposit.pending","deposit.success","deposit.failed","payment_intent.created","payment_intent.processing","payment_intent.succeeded","payment_intent.action_required","payment_intent.payment_failed","payment.created","payment.pending","payment.succeeded","payment.action_required","payment.failed","provisioning.created","provisioning.succeeded","provisioning.failed","refund.created","refund.pending","refund.pending_manual","refund.failed","refund.successful","payment_refund.created","payment_refund.pending","payment_refund.pending_manual","payment_refund.failed","payment_refund.successful","transaction.payment_collected","transaction.deposit","provider.wave","payment_links.created","payment_links.expired","payment_links.completed","payment_links.closed","payment_links.paid","submerchant.created","submerchant.updated"]}},"description":{"type":"string","description":"An optional description of what the webhook is used for.","example":"This is a webhook trigger upon payment & payment_intent creation"},"metadata":{"type":"object","description":"Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.","example":{}}},"required":["url","events"]},"WebhookDtoAlias":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Webhook","example":"wh_z1urYtVFgEebtcj8fxp4v"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"mode":{"type":"string","description":"Mode in which this Webhook exists.\n    The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode.\n    The live mode has to be used to make real transactions.","example":"live","enum":["live","sandbox"]},"description":{"type":"string","description":"An optional description of what the webhook is used for.","example":"This is a webhook trigger upon payment & payment_intent creation"},"events":{"description":"The list of events to enable for this endpoint.","example":["payment.created","payment_intent.created"],"type":"array","items":{"type":"string"}},"metadata":{"type":"object","description":"Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.","example":{}},"secret":{"type":"string","description":"The endpoint’s secret, used to generate webhook signatures. Only returned at creation.","example":"5257a869e7ecebeda32affa62cd..."},"status":{"type":"string","description":"The webhook status","example":"enabled","enum":["enabled","disabled"]},"url":{"type":"string","description":"Fully qualified url of the webhook endpoint.","example":"https://my.webhook.target"}},"required":["id","createdAt","updatedAt","mode","events","metadata","status","url"]},"InternalApiUnauthorizedError":{"type":"object","properties":{"type":{"type":"string","description":"The type of this error.","example":"authorization_error"},"code":{"type":"string","description":"The internal error code describing what happened.","enum":["bad_payment_intent_token","wrong_credentials"],"example":"wrong_credentials"},"message":{"type":"string","description":"Detailed error message which describe what happened.","example":"L'ID marchand et/ou la clé d'API sont incorrects."}},"required":["type","code","message"]},"ApiUnauthorizedErrorAlias":{"type":"object","properties":{"status":{"type":"number","description":"HTTP error code.","example":401},"error":{"description":"HTTP error description.","allOf":[{"$ref":"#/components/schemas/InternalApiUnauthorizedError"}]}},"required":["status","error"]},"ApiNotFoundErrorAlias":{"type":"object","properties":{"httpStatus":{"type":"number","description":"Http status","enum":[404],"example":404},"message":{"type":"string","description":"Detailed error message which describe what happened.","example":"X not found"},"error":{"type":"string","description":"Error message","example":"Not found"}},"required":["httpStatus","message","error"]},"UpdateWebhookDto":{"type":"object","properties":{"url":{"type":"string","description":"Fully qualified url of the webhook endpoint.","example":"https://my.webhook.target"},"description":{"type":"string","description":"An optional description of what the webhook is used for.","example":"This is a webhook trigger upon payment & payment_intent creation"},"events":{"description":"The list of events to enable for this endpoint.","example":["payment.created","payment_intent.created"],"type":"array","items":{"type":"string"}},"metadata":{"type":"object","description":"Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.","example":{}},"status":{"type":"string","description":"new webhook status","example":"enabled"}},"required":["status"]},"RefundRequestDto":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the transfer to refund","example":"tr_R7xkvVd5gRfBCWQCYrWEt"}},"required":["id"]},"CreateRefundResponseDto":{"type":"object","properties":{"id":{"type":"number","description":"The ID of the refund","example":1}},"required":["id"]},"ForbiddenErrorObject":{"type":"object","properties":{"statusCode":{"type":"number","description":"Http status","enum":[403],"example":403},"message":{"type":"string","description":"Detailed error message","example":"Forbidden"},"error":{"type":"string","description":"Error name"}},"required":["statusCode","message","error"]},"ApiForbiddenRequestErrorAlias":{"type":"object","properties":{"status":{"type":"number","description":"status","enum":[403],"example":403},"error":{"description":"Error object","allOf":[{"$ref":"#/components/schemas/ForbiddenErrorObject"}]}},"required":["status","error"]},"ApiInvalidRequestErrorAlias":{"type":"object","properties":{"httpStatus":{"type":"number","description":"Http status","enum":[409],"example":409},"type":{"type":"string","description":"Error type","example":"invalid_request"},"code":{"type":"string","description":"Error code","enum":["unsupported_action"],"example":"unsupported_action"},"message":{"type":"string","description":"Error message","example":"This action is not supported"}},"required":["httpStatus","type","code","message"]},"ApiTooManyRequestErrorAlias":{"type":"object","properties":{"status":{"type":"number","description":"status","enum":[429],"example":429},"error":{"type":"string","description":"Error","example":"ThrottlerException: Too Many Requests"}},"required":["status","error"]},"CreatePaymentRefundRequestDto":{"type":"object","properties":{"amount":{"type":"number","description":"The amount to refund","example":100},"reasonCode":{"type":"string","description":"The reason for the refund","example":"customer_request"},"reasonDetails":{"type":"string","description":"The details of the reason for the refund","example":"Customer requested a refund"}},"required":["amount","reasonCode","reasonDetails"]},"CreatePaymentRefundResponseDto":{"type":"object","properties":{"id":{"type":"number","description":"The payment refund record id","example":2}},"required":["id"]},"GetPaymentRefundStatusResponseDto":{"type":"object","properties":{"status":{"type":"string","description":"The refund status","example":"created","enum":["created","pending","pending_manual","failed","successful"]}},"required":["status"]},"BalanceDto":{"type":"object","properties":{"amount":{"type":"number","description":"Deprecated. Prefer usage of \"availableBalance\".  Balance amount. A positive integer in the smallest currency unit (e.g., 100 cents represents €1.00 or 100 represents FCFA100, a zero-decimal currency).","example":100,"deprecated":true},"availableBalance":{"type":"number","description":"Balance amount. A positive integer in the smallest currency unit (e.g., 100 cents represents €1.00 or 100 represents FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"date":{"type":"string","description":"Datetime in UTC timezone at which the balance was successfully retrieved.\n      Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"}},"required":["amount","availableBalance","currency","date"]},"CollectionBalanceDtoAlias":{"type":"object","properties":{"amount":{"type":"number","description":"Deprecated. Prefer usage of \"availableBalance\".  Balance amount. A positive integer in the smallest currency unit (e.g., 100 cents represents €1.00 or 100 represents FCFA100, a zero-decimal currency).","example":100,"deprecated":true},"availableBalance":{"type":"number","description":"Balance amount. A positive integer in the smallest currency unit (e.g., 100 cents represents €1.00 or 100 represents FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"date":{"type":"string","description":"Datetime in UTC timezone at which the balance was successfully retrieved.\n      Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"}},"required":["amount","availableBalance","currency","date"]},"TransferBalanceDtoAlias":{"type":"object","properties":{"availableBalance":{"type":"number","description":"Funds immediately available on the account.\n    A positive integer in the smallest currency unit (e.g., 100 cents represents €1.00 or 100 represents FCFA100, a zero-decimal currency).","example":100},"reservedBalance":{"type":"number","description":"Funds currently reserved for processing transactions. According to the result of the transactions, a part of the reserved funds can be released and returned available.\n    A positive integer in the smallest currency unit (e.g., 100 cents represents €1.00 or 100 represents FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"date":{"type":"string","description":"Datetime in UTC timezone at which the balance was successfully retrieved.\n      Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"amount":{"type":"number","description":"Balance amount. A positive integer in the smallest currency unit (e.g., 100 cents represents €1.00 or 100 represents FCFA100, a zero-decimal currency).","example":100}},"required":["availableBalance","reservedBalance","currency","date","amount"]},"BalancesDto":{"type":"object","properties":{"collectionAccount":{"description":"Collection account balance(s).","type":"array","items":{"$ref":"#/components/schemas/CollectionBalanceDtoAlias"}},"transferAccount":{"description":"Transfer account balance(s).","type":"array","items":{"$ref":"#/components/schemas/TransferBalanceDtoAlias"}},"transferIrtAccount":{"description":"IRT Transfer account balance(s).","type":"array","items":{"$ref":"#/components/schemas/TransferBalanceDtoAlias"}}},"required":["collectionAccount","transferAccount","transferIrtAccount"]},"SmsCountDto":{"type":"object","properties":{"from":{"format":"date-time","type":"string","description":"Starting Date.\n        Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2021-08-15T12:09:49.355Z"},"to":{"format":"date-time","type":"string","description":"Ending Date.\n        Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2021-08-20T12:09:49.355Z"},"count":{"type":"number","description":"Number of sms send during the period","example":"9"}},"required":["from","to","count"]},"SmsFailureCauseDto":{"type":"object","properties":{}},"SmsDto":{"type":"object","properties":{"id":{"type":"string","description":"unique identifier for the sms.","example":"sms_QIVmCKgbOAcXm4BbVt15H"},"senderId":{"type":"string","description":"Identifier of the merchant that send the sms","example":"1"},"senderName":{"type":"string","description":"name of the merchant that send the sms","example":"my_company"},"destination":{"type":"string","description":"Number of the recipient with country code (+44...) or in international format (0044 ...)","example":"+33600000000"},"smsCount":{"type":"number","description":"Number of Sms sent , depending on the message length (1 sms per 160 character)","example":"7"},"message":{"type":"string","description":"Message content","example":"My message"},"status":{"type":"string","description":"Status of the sms","example":"received"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which the sms was created.\n    Follows the[Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601). ","example":"2021-08-19 11:00:31.225+00"},"sentAt":{"type":"string","description":"Datetime in UTC timezone at which the sms was sent.\n    Follows the[Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601). ","example":"2021-08-19 11:00:31.229+00"},"receivedAt":{"type":"string","description":"Datetime in UTC timezone at which the sms was received.\n    Follows the[Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601). ","example":"2021-08-19 11:00:32.225+00"},"failureCause":{"description":"Object describing the failure","example":"{\"FailureCause\": \"not_delivered\",\n    \"message\":\"Le message a été envoyé mais n'a pas pu être délivré.\"\n  }","allOf":[{"$ref":"#/components/schemas/SmsFailureCauseDto"}]}},"required":["id","senderId","senderName","destination","smsCount","message","status","createdAt","sentAt","receivedAt","failureCause"]},"SendSmsDto":{"type":"object","properties":{"destinations":{"description":"Array of destinations number with country code (+44...) or in international format (0044 ...)","example":"[\"+3300000000\",\"+330000001\"]","type":"array","items":{"type":"string"}},"message":{"type":"string","description":"Message content","example":"my message"},"senderName":{"type":"string","description":"Merchant name","example":"my company"},"webhookUrl":{"type":"string","description":"Webhook Url","example":"https://my.webhook.target","deprecated":true}},"required":["destinations","message","senderName"]},"SubmerchantLegalInfoDto":{"type":"object","properties":{"legalName":{"type":"string","description":"Legal name"},"headOfficeAddress":{"type":"string","description":"Legal head office address"},"businessActivity":{"type":"string","description":"Business activity"},"managerName":{"type":"string","description":"Manager name"},"websiteURL":{"type":"string","description":"Website URL"},"isBetting":{"type":"boolean","description":"Is betting"},"isCrypto":{"type":"boolean","description":"Is crypto"},"isNGO":{"type":"boolean","description":"Is NGO"}}},"SubmerchantDto":{"type":"object","properties":{"legalInfo":{"description":"Legal info of the submerchant","allOf":[{"$ref":"#/components/schemas/SubmerchantLegalInfoDto"}]}},"required":["legalInfo"]},"CreateSubmerchantDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the submerchant","example":"Submerchant Name"},"description":{"type":"string","description":"Description of the submerchant","example":"Submerchant description"},"address":{"type":"string","description":"Address of the submerchant","example":"123 Main St"},"zipcode":{"type":"string","description":"Zipcode of the submerchant","example":"12345"},"city":{"type":"string","description":"City of the submerchant","example":"New York"},"phoneNumber":{"type":"string","description":"Phone number of the submerchant","example":"+1234567890"},"legalInfo":{"description":"Legal info of the submerchant","allOf":[{"$ref":"#/components/schemas/SubmerchantLegalInfoDto"}]}},"required":["name","legalInfo"]},"UpdateSubmerchantDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the submerchant","example":"Updated Submerchant Name"},"description":{"type":"string","description":"Description of the submerchant","example":"Updated submerchant description"},"address":{"type":"string","description":"Address of the submerchant","example":"456 Updated St"},"zipcode":{"type":"string","description":"Zipcode of the submerchant","example":"54321"},"city":{"type":"string","description":"City of the submerchant","example":"London"},"phoneNumber":{"type":"string","description":"Phone number of the submerchant","example":"+9876543210"}}},"PaymentFailureCauseDto":{"type":"object","properties":{"code":{"type":"string","description":"Unique code representing the failure cause for the payment.","enum":["internal_error","service_unavailable","unknown_reason","customer_account_locked","customer_insufficient_funds","authentication_failed","authentication_timeout","timeout","bad_parameters","forbidden_by_provider","too_many_request","duplicate_request","canceled_by_customer","canceled","fraud_suspicion","unsupported_currency","payer_quota_exceeded","invalid_payment_processor","invalid_amount","blacklisted_msisdn","msisdn_invalid","card_expired","card_declined","card_stolen","card_refused","card_invalid","card_cvn_invalid","address_verification_failed","payment_limit_reached"]},"message":{"type":"string","description":"Human readable message explaining the failure cause. This message can be displayed to the customer."},"params":{"description":"List of parameters causing the payment failure in case of invalid parameters","type":"array","items":{"type":"string"}}},"required":["code","message"]},"PaymentFeeDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the applied Fee object.","example":"lAe5HnFpvOjwdT9vSIgPA"},"rate":{"type":"number","description":"A rate corresponding to the amount (flat or percentage) applied by the fees."},"rateType":{"type":"string","description":"Fees can either be a flat amount of the transaction amount or percentage of the transaction amount.","enum":["percent","flat"]},"amount":{"type":"number","description":"Amount applied by this Fees. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":5},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"label":{"type":"string","description":"An optional label giving information on the reason of this fees."},"taxes":{"description":"Taxes applied to this fee.","type":"array","items":{"type":"string"}}},"required":["id","rate","rateType","amount","currency"]},"RedirectionDataDto":{"type":"object","properties":{"url":{"type":"string","description":"A fully qualified URL where the customer must be redirected to pursue the payment."},"urls":{"type":"string","description":"An array of fully qualified URLs where the customer must be redirected to pursue the payment."},"method":{"type":"string","description":"HTTP verb to be used to redirect the customer.","example":"post"},"headers":{"type":"object","description":""},"data":{"type":"object","description":"Data that need to be used to make the redirection. It could be parameters for a GET request or a body payload for a POST."}},"required":["url","urls","method"]},"NextActionDto":{"type":"object","properties":{"type":{"type":"string","enum":["ussd","otp","redirection"]},"message":{"type":"string"},"data":{"description":"","allOf":[{"$ref":"#/components/schemas/RedirectionDataDto"}]}},"required":["type","message"]},"PaymentInformationDto":{"type":"object","properties":{"recipient_name_hashmac":{"type":"string","description":"HMAC or hashed full name of the person receiving the funds. Send only hashed or pseudonymized values; do not send raw personal data.","example":"a1b2c3d4e5f6","maxLength":50},"recipient_phone_hashmac":{"type":"string","description":"HMAC or hashed MSISDN of the recipient (natural identifier for mobile money). Send only a partner-side hash or HMAC — clear phone numbers are rejected.","example":"a1b2c3d4e5f6","maxLength":50},"customer_id_hashmac":{"type":"string","description":"Partner-side hashed customer identifier. Use when name or phone hashes are not available, to correlate transactions for fraud analysis.","example":"a1b2c3d4e5f6","maxLength":50},"transaction_purpose":{"type":"string","description":"Declared purpose of the payment for compliance and reporting.","enum":["SALARY","LOAN_DISBURSEMENT","COMMISSION","REFUND","CASHOUT","OTHER"]}}},"PaymentMobileMoneyDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Payment","example":"pay_QW2d6JnqiatcH8KhK0mD1"},"intentId":{"type":"string","description":"Unique identifier for the PaymentIntent owning this Payment","example":"pi_z1urYtVFgEebtcj8fxp4v"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated for the last time .\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"status":{"type":"string","description":"Current status of this Payment","enum":["created","failed","pending","successful"],"example":"successful"},"amount":{"type":"number","description":"Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"method":{"type":"string","description":"The method selected by the customer to make this Payment","example":"mobile_money","enum":["mobile_money","credit_card","bank_transfer"],"title":"Mobile money"},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"failure":{"description":"In case of a Payment attempt failure, this object will describe the reason of the failure","title":"PaymentFailureCause","allOf":[{"$ref":"#/components/schemas/PaymentFailureCauseDto"}]},"fees":{"description":"Some fees may be applied on a Payment. This array provides information of the fees that could have been applied on this Payment.","title":"PaymentFee","type":"array","items":{"$ref":"#/components/schemas/PaymentFeeDto"}},"nextAction":{"description":"Action required to execute to continue the processing of this Payment. The action allows the customer to validate the Payment.\n    - A redirection action provides all the information to redirect the customer to an external page,\n    - A ussd action provides a message to display to the user for the validation of the Payment. He will receive a USSD message on his phone describing how to make the validation,\n    - A otp action requires that you display an input to the customer to collect an OTP. A message is provided to explains to the user how to get this OTP. Then, the client will have to send the authentication request.\n    ","title":"NextAction","allOf":[{"$ref":"#/components/schemas/NextActionDto"}]},"providerReference":{"type":"string","description":"provider reference that identify this payment","title":"providerReference"},"gatewayId":{"type":"string","description":"gatewayId used for this payment (Mobile Money Only)","title":"gatewayId"},"number":{"type":"string","description":"The identifier referencing the payment method of the customer.\n    - In case of a payment by Mobile Money, it corresponds to the customer phone number corresponding to his Mobile Money account,\n    - In case of a payment by Credit Card, it corresponds to the four last digits of the customer's credit card number."},"paymentInformation":{"description":"Optional beneficiary metadata (hashed identifiers) attached to this payment.","allOf":[{"$ref":"#/components/schemas/PaymentInformationDto"}]},"provider":{"type":"string","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"orange"}},"required":["id","intentId","createdAt","updatedAt","status","amount","currency","method","country","fees","providerReference","gatewayId","number","provider"]},"PaymentCreditCardDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Payment","example":"pay_QW2d6JnqiatcH8KhK0mD1"},"intentId":{"type":"string","description":"Unique identifier for the PaymentIntent owning this Payment","example":"pi_z1urYtVFgEebtcj8fxp4v"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated for the last time .\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"status":{"type":"string","description":"Current status of this Payment","enum":["created","failed","pending","successful"],"example":"successful"},"amount":{"type":"number","description":"Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"method":{"type":"string","description":"The method selected by the customer to make this Payment","example":"credit_card","enum":["mobile_money","credit_card","bank_transfer"],"title":"Credit card"},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"failure":{"description":"In case of a Payment attempt failure, this object will describe the reason of the failure","title":"PaymentFailureCause","allOf":[{"$ref":"#/components/schemas/PaymentFailureCauseDto"}]},"fees":{"description":"Some fees may be applied on a Payment. This array provides information of the fees that could have been applied on this Payment.","title":"PaymentFee","type":"array","items":{"$ref":"#/components/schemas/PaymentFeeDto"}},"nextAction":{"description":"Action required to execute to continue the processing of this Payment. The action allows the customer to validate the Payment.\n    - A redirection action provides all the information to redirect the customer to an external page,\n    - A ussd action provides a message to display to the user for the validation of the Payment. He will receive a USSD message on his phone describing how to make the validation,\n    - A otp action requires that you display an input to the customer to collect an OTP. A message is provided to explains to the user how to get this OTP. Then, the client will have to send the authentication request.\n    ","title":"NextAction","allOf":[{"$ref":"#/components/schemas/NextActionDto"}]},"providerReference":{"type":"string","description":"provider reference that identify this payment","title":"providerReference"},"gatewayId":{"type":"string","description":"gatewayId used for this payment (Mobile Money Only)","title":"gatewayId"},"number":{"type":"string","description":"The identifier referencing the payment method of the customer.\n    - In case of a payment by Mobile Money, it corresponds to the customer phone number corresponding to his Mobile Money account,\n    - In case of a payment by Credit Card, it corresponds to the four last digits of the customer's credit card number."},"paymentInformation":{"description":"Optional beneficiary metadata (hashed identifiers) attached to this payment.","allOf":[{"$ref":"#/components/schemas/PaymentInformationDto"}]},"onSuccessRedirectionUrl":{"type":"string","description":"The url used to redirect the user after a transaction is successful.","example":"https://my.website.com/cancel"},"onFailedRedirectionUrl":{"type":"string","description":"The url used to redirect the user after a transaction fails","example":"https://my.website.com/finish"},"billing":{"type":"object","description":"Informations about order and credit card owner"}},"required":["id","intentId","createdAt","updatedAt","status","amount","currency","method","country","fees","providerReference","gatewayId","number","onSuccessRedirectionUrl","onFailedRedirectionUrl","billing"]},"PaymentBankTransferDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Payment","example":"pay_QW2d6JnqiatcH8KhK0mD1"},"intentId":{"type":"string","description":"Unique identifier for the PaymentIntent owning this Payment","example":"pi_z1urYtVFgEebtcj8fxp4v"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated for the last time .\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"status":{"type":"string","description":"Current status of this Payment","enum":["created","failed","pending","successful"],"example":"successful"},"amount":{"type":"number","description":"Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"method":{"type":"string","description":"The method selected by the customer to make this Payment","example":"bank_transfer","enum":["mobile_money","credit_card","bank_transfer"],"title":"Bank transfer"},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"failure":{"description":"In case of a Payment attempt failure, this object will describe the reason of the failure","title":"PaymentFailureCause","allOf":[{"$ref":"#/components/schemas/PaymentFailureCauseDto"}]},"fees":{"description":"Some fees may be applied on a Payment. This array provides information of the fees that could have been applied on this Payment.","title":"PaymentFee","type":"array","items":{"$ref":"#/components/schemas/PaymentFeeDto"}},"nextAction":{"description":"Action required to execute to continue the processing of this Payment. The action allows the customer to validate the Payment.\n    - A redirection action provides all the information to redirect the customer to an external page,\n    - A ussd action provides a message to display to the user for the validation of the Payment. He will receive a USSD message on his phone describing how to make the validation,\n    - A otp action requires that you display an input to the customer to collect an OTP. A message is provided to explains to the user how to get this OTP. Then, the client will have to send the authentication request.\n    ","title":"NextAction","allOf":[{"$ref":"#/components/schemas/NextActionDto"}]},"providerReference":{"type":"string","description":"provider reference that identify this payment","title":"providerReference"},"gatewayId":{"type":"string","description":"gatewayId used for this payment (Mobile Money Only)","title":"gatewayId"},"number":{"type":"string","description":"The identifier referencing the payment method of the customer.\n    - In case of a payment by Mobile Money, it corresponds to the customer phone number corresponding to his Mobile Money account,\n    - In case of a payment by Credit Card, it corresponds to the four last digits of the customer's credit card number."},"paymentInformation":{"description":"Optional beneficiary metadata (hashed identifiers) attached to this payment.","allOf":[{"$ref":"#/components/schemas/PaymentInformationDto"}]},"provider":{"type":"string","description":"The name of the provider (bank) selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"Bankname"},"bankTransferReference":{"type":"string","description":"Reference that must be used to make the bank transfer","example":"102D250401Z8F2A025"},"expirationDate":{"format":"date-time","type":"string","description":"Datetime in UTC timezone at which this payment will expire.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2025-40-15T12:09:49.355Z"}},"required":["id","intentId","createdAt","updatedAt","status","amount","currency","method","country","fees","providerReference","gatewayId","number","provider","bankTransferReference","expirationDate"]},"PaymentDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Payment","example":"pay_QW2d6JnqiatcH8KhK0mD1"},"intentId":{"type":"string","description":"Unique identifier for the PaymentIntent owning this Payment","example":"pi_z1urYtVFgEebtcj8fxp4v"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated for the last time .\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"status":{"type":"string","description":"Current status of this Payment","enum":["created","failed","pending","successful"],"example":"successful"},"amount":{"type":"number","description":"Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"method":{"type":"string","description":"The method selected by the customer to make this Payment","example":"mobile_money","enum":["mobile_money","credit_card","bank_transfer"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"failure":{"description":"In case of a Payment attempt failure, this object will describe the reason of the failure","title":"PaymentFailureCause","allOf":[{"$ref":"#/components/schemas/PaymentFailureCauseDto"}]},"fees":{"description":"Some fees may be applied on a Payment. This array provides information of the fees that could have been applied on this Payment.","title":"PaymentFee","type":"array","items":{"$ref":"#/components/schemas/PaymentFeeDto"}},"nextAction":{"description":"Action required to execute to continue the processing of this Payment. The action allows the customer to validate the Payment.\n    - A redirection action provides all the information to redirect the customer to an external page,\n    - A ussd action provides a message to display to the user for the validation of the Payment. He will receive a USSD message on his phone describing how to make the validation,\n    - A otp action requires that you display an input to the customer to collect an OTP. A message is provided to explains to the user how to get this OTP. Then, the client will have to send the authentication request.\n    ","title":"NextAction","allOf":[{"$ref":"#/components/schemas/NextActionDto"}]},"providerReference":{"type":"string","description":"provider reference that identify this payment","title":"providerReference"},"gatewayId":{"type":"string","description":"gatewayId used for this payment (Mobile Money Only)","title":"gatewayId"},"number":{"type":"string","description":"The identifier referencing the payment method of the customer.\n    - In case of a payment by Mobile Money, it corresponds to the customer phone number corresponding to his Mobile Money account,\n    - In case of a payment by Credit Card, it corresponds to the four last digits of the customer's credit card number."},"paymentInformation":{"description":"Optional beneficiary metadata (hashed identifiers) attached to this payment.","allOf":[{"$ref":"#/components/schemas/PaymentInformationDto"}]}},"required":["id","intentId","createdAt","updatedAt","status","amount","currency","method","country","fees","providerReference","gatewayId","number"]},"CreatePaymentIntentDto":{"type":"object","properties":{"customerReference":{"type":"string","description":"This is a custom field you can fill with any reference you have on your side matching this payment intent.\n    It can allow you to make a correspondence with this payment intent in your system.\n    This field is specifically useful for customer's references, like your customer ID.","example":"cust_01924059"},"purchaseReference":{"type":"string","description":"This is a custom field you can fill with any reference you have on your side matching this payment intent.\n    It can allow you to make a correspondence with this payment intent in your system.\n    This field is specifically useful for purchase's references, like an order your customer made.","example":"ref_2020_11_10_001"},"amount":{"type":"number","description":"Amount intended to be collected by this payment intent.\n    A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"overrideBusinessName":{"type":"string","description":"This field is mandatory for aggregators and allows you to override the business name displayed to the end users.\n    This is useful if you don't want your clients to see \"Hub2\" as the target of their payment but your company name instead.","example":"My wonderful business"}},"required":["customerReference","purchaseReference","amount","currency"]},"PaymentIntentDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the PaymentIntent","example":"pi_z1urYtVFgEebtcj8fxp4v"},"merchantId":{"type":"string","description":"Identifier of the merchant owning this PaymentIntent"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated for the last time .\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"token":{"type":"string","description":"A unique [JSON Web Token](https://en.wikipedia.org/wiki/JSON_Web_Token) allowing to attempt a Payment on the PaymentIntent on a client-side application.","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudElkIjoiMTYiLCJtb2RlIjoic2FuZGJveCIsInBheW1lbnRJZCI6InBpX3oxdXJZdFZGZ0VlYnRjajhmeHA0diIsImlhdCI6MTYwMjc1OTE4M30.OZ0fDnMVWvcT-gRthyBD58PFC20gabGKt1UPRe4aNi4"},"purchaseReference":{"type":"string","description":"A reference provided by the client during the creation of this PaymentIntent","example":"ref_2020_11_10_001"},"customerReference":{"type":"string","description":"A reference provided by the client during the creation of this PaymentIntent. It is a reference to the customer for who this PaymentIntent was created.","example":"cust_01924059"},"status":{"type":"string","description":"The current status of this PaymentIntent","example":"successful","enum":["action_required","canceled","failed","payment_required","processing","successful"]},"amount":{"type":"number","description":"Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"payments":{"type":"array","description":"List of Payment attempts made on this PaymentIntent","title":"Payment","items":{"oneOf":[{"$ref":"#/components/schemas/PaymentCreditCardDto"},{"$ref":"#/components/schemas/PaymentMobileMoneyDto"},{"$ref":"#/components/schemas/PaymentBankTransferDto"}]},"discriminator":{"propertyName":"method","mapping":{"mobile_money":"#/components/schemas/PaymentMobileMoneyDto","credit_card":"#/components/schemas/PaymentCreditCardDto","bank_transfer":"#/components/schemas/PaymentMobileMoneyDto"}}},"mode":{"type":"string","description":"Mode in which this PaymentIntent exists.\n    The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode.\n    The live mode has to be used to make real transactions.","example":"live","enum":["live","sandbox"]},"nextAction":{"description":"Action required to execute to continue the processing of the current Payment on this PaymentIntent. The action allows the customer to validate the Payment.\n    - A redirection action provides all the information to redirect the customer to an external page,\n    - A ussd action provides a message to display to the user for the validation of the Payment. He will receive a USSD message on his phone describing how to make the validation,\n    - A otp action requires that you display an input to the customer to collect an OTP. A message is provided to explains to the user how to get this OTP. Then, the client will have to send the authentication request.\n    ","title":"NextAction","allOf":[{"$ref":"#/components/schemas/NextActionDto"}]},"lastPaymentFailure":{"description":"In case of a Payment attempt failure, this object will describe the reason of the failure","title":"PaymentFailureCause","allOf":[{"$ref":"#/components/schemas/PaymentFailureCauseDto"}]},"overrideBusinessName":{"type":"string","description":"For Aggregator, name of the  merchant","example":"MyBusiness"},"subMerchantId":{"type":"string","description":"Submerchant ID","example":"submerchant_123"}},"required":["id","merchantId","createdAt","updatedAt","token","purchaseReference","customerReference","status","amount","currency","payments","mode"]},"PayMobileMoneyDto":{"type":"object","properties":{"msisdn":{"type":"string","description":"The phone number associated to the Mobile Money account used to make the transaction.","example":"15948253"},"otp":{"type":"string","description":"Some providers ask the customer to generate an OTP to allow the payment.\n    Hub2 handle this in a two-step process if the selected provider ask for an OTP.\n    But in some case, the client prefers to make a one-step process in which the payment and the authentication are done at same time.\n    Hub2 allows this by accepting an OTP to be provided during the payment attempt step."},"onSuccessRedirectionUrl":{"type":"string","description":"Only for payment using provider Wave.\n    The URL the customer will be directed to if the payment succeeds.\n    You must provide a fully-qualified address using https as the scheme.\n    You may include any information you need in the path itself or in query parameters."},"onFailedRedirectionUrl":{"type":"string","description":"Only for payment using provider Wave.\n    The URL the customer will be directed to if an error occurs on the payment attempt.\n    You must provide a fully-qualified address using https as the scheme.\n    You may include any information you need in the path itself or in query parameters."},"onCancelRedirectionUrl":{"type":"string","description":"Only for payment using provider Orange with the redirection workflow.\n    The URL the customer will be directed to if he cancels the payment.\n    You must provide a fully-qualified address using https as the scheme.\n    You may include any information you need in the path itself or in query parameters."},"onFinishRedirectionUrl":{"type":"string","description":"Only for payment using provider Orange with the redirection workflow.\n    The URL the customer will be directed to when the payment finish and the return link is clicked.\n    You must provide a fully-qualified address using https as the scheme.\n    You may include any information you need in the path itself or in query parameters."},"workflow":{"type":"string","description":"Only for payment using provider Orange.\n    If you choose to set this parameter to 'redirection', you will be provided a redirection URL.\n    Your clients must be redirected to this url for them to finalize payment.\n    Otherwise it will follow our conventional workflow with OTP."}},"required":["msisdn"]},"PayCreditCardBilling":{"type":"object","properties":{"username":{"type":"string","description":"Username of the customer"},"userId":{"type":"string","description":"User ID of the customer"},"phoneNumber":{"type":"string","description":"The phone number of the customer"},"email":{"type":"string","description":"The email of the customer"},"orderId":{"type":"string","description":"The order ID associated with the transaction"}}},"PayCreditCardDto":{"type":"object","properties":{"billing":{"description":"Informations about order and credit card owner","allOf":[{"$ref":"#/components/schemas/PayCreditCardBilling"}]},"useHub2ReceiptPage":{"type":"boolean","description":"When set to true, Hub2 receipt page is displayed after payment"},"onSuccessRedirectionUrl":{"type":"string","description":"The url used to redirect the user when the transaction is successful"},"onFailedRedirectionUrl":{"type":"string","description":"The url used to redirect the user when the transaction is failed"}}},"PayBankTransferDto":{"type":"object","properties":{"expirationDelay":{"type":"number","description":"Number of seconds until the payment expires.","example":3600,"default":1296000,"minimum":3600},"kybName":{"type":"string","description":"Name of the aggregated merchant declared in the kyb","example":"MechantName"}},"required":["kybName"]},"PayDto":{"type":"object","properties":{"token":{"type":"string","description":"The token which identify a payment intent. This is a field returned at payment intent creation.","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbnRlbnRJZCI6InBpXzBkeV9GZTJXQl8wNVVBdDdqMFloaSIsIm1lcmNoYW50SWQiOiIzIiwibW9kZSI6InNhbmRib3giLCJpYXQiOjE2OTUxMjY1MDJ9.8cpkja3PgSLFXiMW9BJN3ec5ndJFE2kIHvXvc834Wpo"},"paymentMethod":{"type":"string","description":"The method selected by the customer to make the payment.","enum":["mobile_money","credit_card","bank_transfer"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the selected provider is located.","example":"CI"},"provider":{"type":"string","description":"The name of the selected provider in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders).\n    If type is 'bank_transfer', provider will be optionnal and will be a bank name"},"mobileMoney":{"title":"MobileMoney","allOf":[{"$ref":"#/components/schemas/PayMobileMoneyDto"}]},"creditCard":{"title":"CreditCard","allOf":[{"$ref":"#/components/schemas/PayCreditCardDto"}]},"bankTransfer":{"title":"BankTransfer","allOf":[{"$ref":"#/components/schemas/PayBankTransferDto"}]},"overrideBusinessId":{"type":"string","description":"This field is mandatory for merchants that have the corresponding setting enabled, It allows to send a custom name","example":"e9bb247c-6e3f-4a39-a539-78e3bf115994"},"paymentInformation":{"description":"Optional hashed metadata about the payment beneficiary (compliance / fraud). All identifiers must be hashed or pseudonymized.","allOf":[{"$ref":"#/components/schemas/PaymentInformationDto"}]}},"required":["token","paymentMethod","country"]},"ApiUnprocessableEntityErrorAlias":{"type":"object","properties":{"status":{"type":"number","description":"status","enum":[422],"example":422},"error":{"type":"string","description":"Unprocessable Entity","example":"Unable to process this transaction"}},"required":["status","error"]},"ApiBadGatewayErrorAlias":{"type":"object","properties":{"status":{"type":"number","description":"status","enum":[502],"example":502},"error":{"description":"Error object","allOf":[{"$ref":"#/components/schemas/ApiInternalErrorAlias"}]}},"required":["status","error"]},"AuthenticateDto":{"type":"object","properties":{"token":{"type":"string","description":"The token which identify a payment intent. This is a field returned at payment intent creation.","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbnRlbnRJZCI6InBpXzBkeV9GZTJXQl8wNVVBdDdqMFloaSIsIm1lcmNoYW50SWQiOiIzIiwibW9kZSI6InNhbmRib3giLCJpYXQiOjE2OTUxMjY1MDJ9.8cpkja3PgSLFXiMW9BJN3ec5ndJFE2kIHvXvc834Wpo"},"confirmationCode":{"type":"string","description":"The OTP code given by the provider selected by the customer."}},"required":["token","confirmationCode"]},"MerchantPreferencesUrl":{"type":"object","properties":{"onSuccessRedirectionUrl":{"type":"string","description":"Redirection url on success","title":"onSuccessRedirectionUrl"},"onFailRedirectionUrl":{"type":"string","description":"Redirection url on fail","title":"onFailRedirectionUrl"},"onCancelRedirectionUrl":{"type":"string","description":"Redirection url on cancel","title":"onCancelRedirectionUrl"}},"required":["onSuccessRedirectionUrl","onFailRedirectionUrl","onCancelRedirectionUrl"]},"ApiBadPaymentIntentTokenError":{"type":"object","properties":{"status":{"type":"number","description":"HTTP error code.","example":401},"error":{"description":"HTTP error description.","allOf":[{"$ref":"#/components/schemas/InternalApiUnauthorizedError"}]},"code":{"type":"string","description":"Error code","enum":["api_error","transaction_error","invalid_request","rate_limit_error","authorization_error","connection_error","policy_error"],"example":"bad_payment_intent_token"},"message":{"type":"string","description":"Detailed error message which describe what happened.","example":"The provided token is incorrect"}},"required":["status","error","code","message"]},"PaymentIntentStatusDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Payment intent","example":"pi_QW2d6JnqiatcH8KhK0mD1"},"status":{"type":"string","description":"Current status of this Payment intent","enum":["action_required","canceled","failed","payment_required","processing","successful"],"example":"successful"}},"required":["id","status"]},"PaymentStatusDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Payment","example":"pay_QW2d6JnqiatcH8KhK0mD1"},"status":{"type":"string","description":"Current status of this Payment","enum":["created","failed","pending","successful"],"example":"successful"}},"required":["id","status"]},"ProvisioningDepositDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Transaction","example":"dep_z1urYtVFgEebtcj8fxp4v"},"type":{"type":"string","description":"Type of this Transaction","example":"deposit"},"date":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"amount":{"type":"number","description":"Transaction amount. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"}},"required":["id","type","date","amount","currency"]},"ProvisioningWithdrawalDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Transaction","example":"wtd_z1urYtVFgEebtcj8fxp4v"},"type":{"type":"string","description":"Type of this Transaction","example":"withdrawal"},"date":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"amount":{"type":"number","description":"Transaction amount. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"}},"required":["id","type","date","amount","currency"]},"CreateProvisioningDto":{"type":"object","properties":{"amount":{"type":"number","description":"Amount intended to be moved from CollectionAccount to TransferAccount. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user. "}},"required":["amount","currency","description"]},"ProvisioningFailureCauseDto":{"type":"object","properties":{}},"ProvisioningDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Provisioning","example":"prov_z1urYtVFgEebtcj8fxp4v"},"status":{"type":"string","description":"Type of this Transaction","example":"pending"},"date":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"withdrawal":{"description":"Transaction executed on the merchant collectionAccount","allOf":[{"$ref":"#/components/schemas/ProvisioningWithdrawalDto"}]},"deposit":{"description":"Transaction executed on the merchant transferAccount","allOf":[{"$ref":"#/components/schemas/ProvisioningDepositDto"}]},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user. "},"failureCause":{"description":"Failure cause explaining why the Provisioning failed. ","allOf":[{"$ref":"#/components/schemas/ProvisioningFailureCauseDto"}]}},"required":["id","status","date","description"]},"ReceiptDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Receipt","example":"rc_z1urYtVFgEebtcj8fxp4v"},"date":{"type":"string","description":"Datetime in UTC timezone at which the associated transaction was successful.\n      Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user. "},"transactionId":{"type":"string","description":"Unique identifier for the associated transaction"},"operatorReference":{"type":"string","description":"Merchant transaction number"},"reference":{"type":"string","description":"Customer transaction number"},"customerNumber":{"type":"string","description":"Customer full identifier (aka msisdn, ..)"},"amount":{"type":"number","description":"Amount intended to be sent to the recipient. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"method":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"provider":{"type":"string","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"orange"},"mode":{"type":"string","description":"Mode in which this PaymentIntent exists.\n    The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode.\n    The live mode has to be used to make real transactions.","example":"live","enum":["live","sandbox"]}},"required":["id","date","description","transactionId","operatorReference","reference","customerNumber","amount","currency","method","country","provider","mode"]},"ReceiptHtmlView":{"type":"object","properties":{}},"ReceiptHtmlDto":{"type":"object","properties":{"view":{"description":"Receipt HTML view","example":"<html>...</html>","allOf":[{"$ref":"#/components/schemas/ReceiptHtmlView"}]}},"required":["view"]},"TerminalPayDto":{"type":"object","properties":{"customerReference":{"type":"string","description":"A reference to the customer for who this PaymentIntent exists.\n    This reference allows you to make correspondance in your system.","example":"cust_01924059"},"purchaseReference":{"type":"string","description":"A reference to the customer for who this PaymentIntent exists.\n    This reference allows you to make correspondance in your system.","example":"ref_2020_11_10_001"},"amount":{"type":"number","description":"Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"paymentMethod":{"type":"string","description":"The method selected by the customer to make this Payment.","enum":["mobile_money","credit_card","bank_transfer"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"provider":{"type":"string","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"orange"},"mobileMoney":{"title":"MobileMoney","allOf":[{"$ref":"#/components/schemas/PayMobileMoneyDto"}]},"paymentInformation":{"description":"Optional hashed metadata about the payment beneficiary (compliance / fraud).","allOf":[{"$ref":"#/components/schemas/PaymentInformationDto"}]}},"required":["customerReference","purchaseReference","amount","currency","paymentMethod","country","provider","mobileMoney"]},"MTMobileMoneyDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"recipientName":{"type":"string","description":"The name of the recipient of this transfer."},"msisdn":{"type":"string","description":"The Mobile Money number to which the money must be sent."},"provider":{"type":"string","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"orange"}},"required":["type","country","msisdn","provider"]},"MTBankTransferDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"recipientName":{"type":"string","description":"The name of the recipient of this transfer."},"accountNumber":{"type":"string","description":"The Bank account number to which the money must be sent."},"accountOwner":{"type":"string","description":"The Bank account owner name to which the money must be sent."},"bankCode":{"type":"string","description":"The Bank code. The list of available bank codes can be found at [/data/bank-codes](#Data/PublicDataController_getBanks)"},"bankName":{"type":"string","description":"The Bank name."},"beneficiaryPhone":{"type":"string","description":"The benificiary number"}},"required":["type","country","accountNumber","accountOwner","bankCode","beneficiaryPhone"]},"MTAirtimeDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"recipientName":{"type":"string","description":"The name of the recipient of this transfer."},"msisdn":{"type":"string","description":"The Airtime number to which the money must be sent."},"provider":{"type":"string","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"orange"}},"required":["type","country","msisdn","provider"]},"TransferFailureCauseDto":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"params":{"type":"array","items":{"type":"string"}}},"required":["code","message","params"]},"MobileMoneyDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"recipientName":{"type":"string","description":"recipient's Name"},"number":{"type":"string","description":"The identifier referencing the payment method of the customer.\n    - In case of a payment by Mobile Money, it corresponds to the customer phone number corresponding to his Mobile Money account"},"provider":{"type":"string","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"orange"}},"required":["type","country","number","provider"]},"BankTransferDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"recipientName":{"type":"string","description":"recipient's Name"},"number":{"type":"string","description":"The identifier referencing the payment method of the customer.\n    - In case of a payment by Bank Transfer, it corresponds to the customer bank account number"},"accountOwner":{"type":"string","description":"The Bank account owner name to which the money must be sent."},"bankCode":{"type":"string","description":"The Bank code."},"bankName":{"type":"string","description":"The Bank name."},"beneficiaryPhone":{"type":"string","description":"The Beneficiary phone"}},"required":["type","country","number","accountOwner","bankCode","bankName","beneficiaryPhone"]},"AirtimeDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"recipientName":{"type":"string","description":"recipient's Name"},"number":{"type":"string","description":"The identifier referencing the payment method of the customer.\n    - In case of a payment by Airtime, it corresponds to the customer phone number corresponding to his Airtime account"},"provider":{"type":"string","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"orange"}},"required":["type","country","number","provider"]},"TransferInformationDto":{"type":"object","properties":{"recipient_name_hashmac":{"type":"string","description":"Full name of the person receiving the funds (hashed on the partner side).","example":"hash_xyz_789","maxLength":50},"recipient_phone_hashmac":{"type":"string","description":"Partner-side HMAC or cryptographic hash of the recipient MSISDN (not the clear number). Requests that send a plain phone number in this field are rejected.","example":"a3f2c9e1b8d7...","maxLength":50},"customer_id_hashmac":{"type":"string","description":"Partner-side hashed customer identifier. Use when name or phone cannot be sent, to correlate transactions for fraud analysis.","example":"hash_cust_abc","maxLength":50},"transaction_purpose":{"type":"string","description":"Declared purpose of the payout for compliance and monitoring.","enum":["SALARY","LOAN_DISBURSEMENT","COMMISSION","REFUND","CASHOUT","OTHER"],"example":"SALARY"}}},"OriginDto":{"type":"object","properties":{"name":{"type":"string","description":"Sender's name"},"country":{"type":"string","description":"Sender's country. Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"}}},"MakeTransferDto":{"type":"object","properties":{"reference":{"type":"string","description":"A reference provided by the client during the creation of this Transfer","example":"ref_2020_11_10_001"},"amount":{"type":"number","description":"Amount intended to be sent to the recipient. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user. "},"origin":{"description":"Information about the sender","allOf":[{"$ref":"#/components/schemas/OriginDto"}]},"destination":{"description":"Information about the recipient of this Transfer","oneOf":[{"$ref":"#/components/schemas/MTMobileMoneyDto"},{"$ref":"#/components/schemas/MTBankTransferDto"},{"$ref":"#/components/schemas/MTAirtimeDto"}],"discriminator":{"propertyName":"type","mapping":{"bank_transfer":"#/components/schemas/MTBankTransferDto","mobile_money":"#/components/schemas/MTMobileMoneyDto","airtime":"#/components/schemas/MTAirtimeDto"}},"title":"Destination"},"overrideBusinessName":{"type":"string","description":"This field is mandatory for aggregators and allows you to override the business name displayed to the end users.\n    This is useful if you don't want your clients to see \"Hub2\" as the target of their payment but your company name instead.","example":"MyBusiness"},"overrideBusinessId":{"type":"string","description":"This field is mandatory for merchants that have the corresponding setting enabled, It allows to send a custom name","example":"e9bb247c-6e3f-4a39-a539-78e3bf115994"},"transferInformation":{"description":"Optional merchant-defined payment metadata. Persisted and returned on the transfer.","example":{"recipient_name_hashmac":"hash_xyz_789","transaction_purpose":"SALARY"},"allOf":[{"$ref":"#/components/schemas/TransferInformationDto"}]}},"required":["reference","amount","currency","description","destination"]},"TransferFeeDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the applied Fee object.","example":"lAe5HnFpvOjwdT9vSIgPA"},"rate":{"type":"number","description":"A rate corresponding to the amount (flat or percentage) applied by the fees."},"type":{"type":"string","description":"The type of fee applied to the transfer's amount\n    \n - flat: A fixed amount applied as is to the amount.\n    \n - percent: A rate applied to the amount as a percentage of the latter.","enum":["flat","percent"]},"amount":{"type":"number","description":"Amount applied by this Fees. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":5},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"label":{"type":"string","description":"An optional label giving information on the reason of this fees."},"taxes":{"description":"An array containing every taxes applied to a fee","type":"array","items":{"type":"string"}}},"required":["id","rate","type","amount","currency","taxes"]},"TransferDtoAlias":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Transfer","example":"tr_z1urYtVFgEebtcj8fxp4v"},"merchantId":{"type":"string","description":"Identifier of the merchant owning this Transfer"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated for the last time .\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"reference":{"type":"string","description":"A reference provided by the client during the creation of this Transfer","example":"ref_2020_11_10_001"},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user. "},"status":{"type":"string","description":"The current status of this Transfer","example":"successful","enum":["created","successful","pending","failed"]},"amount":{"type":"number","description":"Amount intended to be sent to the recipient. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"mode":{"type":"string","description":"Mode in which this transfer exists.\n    The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode.\n    The live mode has to be used to make real transactions.","example":"live","enum":["live","sandbox"]},"destination":{"description":"Information about the recipient of this Transfer","oneOf":[{"$ref":"#/components/schemas/MobileMoneyDto"},{"$ref":"#/components/schemas/BankTransferDto"},{"$ref":"#/components/schemas/AirtimeDto"}],"discriminator":{"propertyName":"type","mapping":{"bank_transfer":"#/components/schemas/BankTransferDto","mobile_money":"#/components/schemas/MobileMoneyDto","airtime":"#/components/schemas/AirtimeDto"}},"title":"Destination"},"fees":{"description":"Fees applied to merchant's transfer-account uppon success","title":"TransferFee","type":"array","items":{"$ref":"#/components/schemas/TransferFeeDto"}},"failureCause":{"description":"In case of failure, this object will describe the reason of the failure","title":"TransferFailureCause","allOf":[{"$ref":"#/components/schemas/TransferFailureCauseDto"}]},"origin":{"description":"Information about the origin of this transfer","title":"Origin","allOf":[{"$ref":"#/components/schemas/OriginDto"}]},"overrideBusinessName":{"type":"string","description":"override business name for aggregator","title":"overrideBusinessName"},"overrideBusinessId":{"type":"string","description":"override business id for merchant","title":"overrideBusinessId"},"isIrt":{"type":"boolean","description":"indicate if the transfer was international","title":"isIrt"},"providerReference":{"type":"string","description":"provider reference that identify this transfer","title":"providerReference"},"gatewayId":{"type":"string","description":"The gateway ID used for this transfer","title":"gatewayId"},"isDelegated":{"type":"boolean","description":"Indicates if the transfer is delegated","title":"isDelegated"},"aggregatedMerchantId":{"type":"string","description":"Aggregated merchant id","title":"aggregatedMerchantId"},"providerData":{"type":"object","description":"Provider informations","title":"providerData"},"subMerchantId":{"type":"string","description":"Submerchant ID","example":"submerchant_123"},"transferInformation":{"description":"Merchant-defined payment metadata from transfer creation.","example":{"recipient_name_hashmac":"hash_xyz_789","transaction_purpose":"SALARY"},"allOf":[{"$ref":"#/components/schemas/TransferInformationDto"}]},"balanceBefore":{"type":"number","description":"Computed balance before the transfer is executed."},"balanceAfter":{"type":"number","description":"Real available balance right after the transfer is executed."}},"required":["id","merchantId","createdAt","updatedAt","reference","description","status","amount","currency","mode","destination","fees","isIrt","providerReference","gatewayId","isDelegated","aggregatedMerchantId"]},"TransferDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Transfer","example":"tr_z1urYtVFgEebtcj8fxp4v"},"merchantId":{"type":"string","description":"Identifier of the merchant owning this Transfer"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated for the last time .\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"reference":{"type":"string","description":"A reference provided by the client during the creation of this Transfer","example":"ref_2020_11_10_001"},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user. "},"status":{"type":"string","description":"The current status of this Transfer","example":"successful","enum":["created","successful","pending","failed"]},"amount":{"type":"number","description":"Amount intended to be sent to the recipient. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"mode":{"type":"string","description":"Mode in which this transfer exists.\n    The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode.\n    The live mode has to be used to make real transactions.","example":"live","enum":["live","sandbox"]},"destination":{"description":"Information about the recipient of this Transfer","oneOf":[{"$ref":"#/components/schemas/MobileMoneyDto"},{"$ref":"#/components/schemas/BankTransferDto"},{"$ref":"#/components/schemas/AirtimeDto"}],"discriminator":{"propertyName":"type","mapping":{"bank_transfer":"#/components/schemas/BankTransferDto","mobile_money":"#/components/schemas/MobileMoneyDto","airtime":"#/components/schemas/AirtimeDto"}},"title":"Destination"},"fees":{"description":"Fees applied to merchant's transfer-account uppon success","title":"TransferFee","type":"array","items":{"$ref":"#/components/schemas/TransferFeeDto"}},"failureCause":{"description":"In case of failure, this object will describe the reason of the failure","title":"TransferFailureCause","allOf":[{"$ref":"#/components/schemas/TransferFailureCauseDto"}]},"origin":{"description":"Information about the origin of this transfer","title":"Origin","allOf":[{"$ref":"#/components/schemas/OriginDto"}]},"overrideBusinessName":{"type":"string","description":"override business name for aggregator","title":"overrideBusinessName"},"overrideBusinessId":{"type":"string","description":"override business id for merchant","title":"overrideBusinessId"},"isIrt":{"type":"boolean","description":"indicate if the transfer was international","title":"isIrt"},"providerReference":{"type":"string","description":"provider reference that identify this transfer","title":"providerReference"},"gatewayId":{"type":"string","description":"The gateway ID used for this transfer","title":"gatewayId"},"isDelegated":{"type":"boolean","description":"Indicates if the transfer is delegated","title":"isDelegated"},"aggregatedMerchantId":{"type":"string","description":"Aggregated merchant id","title":"aggregatedMerchantId"},"providerData":{"type":"object","description":"Provider data","title":"providerData"},"subMerchantId":{"type":"string","description":"Submerchant ID","example":"submerchant_123"},"transferInformation":{"description":"Merchant-defined payment metadata from transfer creation.","example":{"recipient_name_hashmac":"hash_xyz_789","transaction_purpose":"SALARY"},"allOf":[{"$ref":"#/components/schemas/TransferInformationDto"}]}},"required":["id","merchantId","createdAt","updatedAt","reference","description","status","amount","currency","mode","destination","fees","isIrt","providerReference","gatewayId","isDelegated","aggregatedMerchantId"]},"TransferNoBalanceDtoAlias":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Transfer","example":"tr_z1urYtVFgEebtcj8fxp4v"},"merchantId":{"type":"string","description":"Identifier of the merchant owning this Transfer"},"createdAt":{"type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"updatedAt":{"type":"string","description":"Datetime in UTC timezone at which this object was updated for the last time .\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:16:26.128Z"},"reference":{"type":"string","description":"A reference provided by the client during the creation of this Transfer","example":"ref_2020_11_10_001"},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user. "},"status":{"type":"string","description":"The current status of this Transfer","example":"successful","enum":["created","successful","pending","failed"]},"amount":{"type":"number","description":"Amount intended to be sent to the recipient. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"mode":{"type":"string","description":"Mode in which this transfer exists.\n    The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode.\n    The live mode has to be used to make real transactions.","example":"live","enum":["live","sandbox"]},"destination":{"description":"Information about the recipient of this Transfer","oneOf":[{"$ref":"#/components/schemas/MobileMoneyDto"},{"$ref":"#/components/schemas/BankTransferDto"},{"$ref":"#/components/schemas/AirtimeDto"}],"discriminator":{"propertyName":"type","mapping":{"bank_transfer":"#/components/schemas/BankTransferDto","mobile_money":"#/components/schemas/MobileMoneyDto","airtime":"#/components/schemas/AirtimeDto"}},"title":"Destination"},"fees":{"description":"Fees applied to merchant's transfer-account uppon success","title":"TransferFee","type":"array","items":{"$ref":"#/components/schemas/TransferFeeDto"}},"failureCause":{"description":"In case of failure, this object will describe the reason of the failure","title":"TransferFailureCause","allOf":[{"$ref":"#/components/schemas/TransferFailureCauseDto"}]},"origin":{"description":"Information about the origin of this transfer","title":"Origin","allOf":[{"$ref":"#/components/schemas/OriginDto"}]},"overrideBusinessName":{"type":"string","description":"override business name for aggregator","title":"overrideBusinessName"},"overrideBusinessId":{"type":"string","description":"override business id for merchant","title":"overrideBusinessId"},"isIrt":{"type":"boolean","description":"indicate if the transfer was international","title":"isIrt"},"providerReference":{"type":"string","description":"provider reference that identify this transfer","title":"providerReference"},"gatewayId":{"type":"string","description":"The gateway ID used for this transfer","title":"gatewayId"},"isDelegated":{"type":"boolean","description":"Indicates if the transfer is delegated","title":"isDelegated"},"aggregatedMerchantId":{"type":"string","description":"Aggregated merchant id","title":"aggregatedMerchantId"},"providerData":{"type":"object","description":"Provider data","title":"providerData"},"subMerchantId":{"type":"string","description":"Submerchant ID","example":"submerchant_123"},"transferInformation":{"description":"Merchant-defined payment metadata from transfer creation.","example":{"recipient_name_hashmac":"hash_xyz_789","transaction_purpose":"SALARY"},"allOf":[{"$ref":"#/components/schemas/TransferInformationDto"}]}},"required":["id","merchantId","createdAt","updatedAt","reference","description","status","amount","currency","mode","destination","fees","isIrt","providerReference","gatewayId","isDelegated","aggregatedMerchantId"]},"TransferStatusDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the Transfer","example":"tr_z1urYtVFgEebtcj8fxp4v"},"status":{"type":"string","description":"The current status of this Transfer","example":"successful","enum":["created","successful","pending","failed"]}},"required":["id","status"]},"IrtMobileMoneyDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"msisdn":{"type":"string","description":"The Mobile Money number to which the money must be sent."},"provider":{"type":"string","description":"The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)","example":"orange"}},"required":["type","country","msisdn","provider"]},"IrtBankTransferDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Transfer","example":"mobile_money","enum":["mobile_money","bank_transfer","airtime"]},"country":{"type":"string","description":"Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized. ","example":"CI"},"accountNumber":{"type":"string","description":"The Bank account number to which the money must be sent."},"accountOwner":{"type":"string","description":"The Bank account owner name to which the money must be sent."},"bankCode":{"type":"string","description":"The Bank code."},"bankName":{"type":"string","description":"The Bank name."},"beneficiaryPhone":{"type":"string","description":"The benificiary number"}},"required":["type","country","accountNumber","accountOwner","bankCode","bankName","beneficiaryPhone"]},"IdDocumentDto":{"type":"object","properties":{"expiryDate":{"format":"date-time","type":"string","description":"Expiry date of the ID document in ISO 8601 format","example":"2025-12-31"},"idNumber":{"type":"string","description":"The ID document number","example":"123456789"},"idType":{"type":"string","description":"Type of ID document","enum":["alienregistration","birthcertificate","drivinglicence","employer","healthcard","marriagecertificate","nationalidcard","nationalregistration","officialletter","othered","pancard","passport","seniorcitizenscard","socialsecurity","taxid","villageelderletter","votersid"],"example":"passport"},"issueDate":{"format":"date-time","type":"string","description":"Issue date of the ID document in ISO 8601 format","example":"2020-01-01"},"issuer":{"type":"string","description":"Issuing authority of the ID document","example":"Ministry of Interior"},"issuerCountry":{"type":"string","description":"Country that issued the ID document","enum":["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KR","KP","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"],"example":"CI"},"issuerPlace":{"type":"string","description":"Place where the ID document was issued","example":"Abidjan"},"otherIdDescription":{"type":"string","description":"Description for other types of ID documents","example":"Custom identification document"}},"required":["idNumber","idType"]},"SenderCustomerInformation":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the sender","example":"Aminata"},"lastName":{"type":"string","description":"Last name of the sender","example":"Traoré"},"contactPhone":{"type":"string","description":"Contact phone number of the sender","example":"+2250747123456"},"dateOfBirth":{"type":"string","description":"Date of birth of the sender in YYYY-MM-DD format","example":"1992-05-23"},"nationality":{"type":"string","description":"Nationality of the sender","example":"CI","enum":["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KR","KP","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"]},"idDocument":{"description":"ID document information of the sender","allOf":[{"$ref":"#/components/schemas/IdDocumentDto"}]}},"required":["firstName","lastName","contactPhone","dateOfBirth","nationality","idDocument"]},"RecipientCustomerInformation":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the recipient","example":"Moussa"},"lastName":{"type":"string","description":"Last name of the recipient","example":"Konaté"},"contactPhone":{"type":"string","description":"Contact phone number of the recipient","example":"+223657890123"}},"required":["firstName","lastName","contactPhone"]},"MakeTransferIrtDto":{"type":"object","properties":{"reference":{"type":"string","description":"A reference provided by the client during the creation of this Transfer","example":"REM-20240619-00123"},"srcCountry":{"type":"string","description":"Source country","example":"CI","enum":["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KR","KP","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"]},"srcZone":{"type":"string","description":"Zone of the source country. If the country does not belong to a zone, set it to 'other'","example":"UEMOA","enum":["uemoa","cemac","africa","world","eur"]},"srcCurrency":{"type":"string","description":"Currency of source country","example":"XOF","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWL"]},"srcAmount":{"type":"number","description":"Amount at the originating transaction","example":50000},"forexRate":{"type":"string","description":"Forex rate between corridors","example":"655.957"},"purpose":{"type":"string","description":"Purpose of the transfer","example":"Family support"},"srcOriginFunds":{"type":"string","description":"Origin of funds","example":"salary","enum":["salary","personal_savings","pension_releases","share_sales_and_dividends","property_sales","gambling_winnings","inheritances_and_gift","compensation_from_legal_rulings"]},"srcOperator":{"type":"string","description":"Source operator","example":"orange"},"destinationCurrency":{"type":"string","description":"Destination currency","example":"XOF","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWL"]},"destination":{"description":"Information about the recipient of this Transfer","oneOf":[{"$ref":"#/components/schemas/IrtMobileMoneyDto"},{"$ref":"#/components/schemas/IrtBankTransferDto"}],"discriminator":{"propertyName":"type","mapping":{"bank_transfer":"#/components/schemas/IrtBankTransferDto","mobile_money":"#/components/schemas/IrtMobileMoneyDto"}},"title":"Destination"},"senderKyc":{"description":"Sender KYC information","allOf":[{"$ref":"#/components/schemas/SenderCustomerInformation"}]},"recipientKyc":{"description":"Recipient KYC information","allOf":[{"$ref":"#/components/schemas/RecipientCustomerInformation"}]},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user."},"overrideBusinessName":{"type":"string","description":"This field is mandatory for aggregators and allows you to override the business name displayed to the end users.\n    This is useful if you don't want your clients to see \"Hub2\" as the target of their payment but your company name instead.","example":"MyBusiness"},"bankName":{"type":"string","description":"Bank name","example":"UBA Bank"},"transferInformation":{"description":"Optional merchant-defined payment metadata. Persisted and returned on the transfer.","example":{"recipient_name_hashmac":"hash_xyz_789","transaction_purpose":"SALARY"},"allOf":[{"$ref":"#/components/schemas/TransferInformationDto"}]}},"required":["reference","srcCountry","srcCurrency","srcAmount","purpose","srcOriginFunds","srcOperator","destinationCurrency","destination","senderKyc","recipientKyc"]},"InitiateVerifiedTransferIrtDto":{"type":"object","properties":{"reference":{"type":"string","description":"A reference provided by the client during the creation of this Transfer","example":"REM-20240619-00123"},"srcCountry":{"type":"string","description":"Source country","example":"CI","enum":["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KR","KP","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"]},"srcZone":{"type":"string","description":"Zone of the source country. If the country does not belong to a zone, set it to 'other'","example":"UEMOA","enum":["uemoa","cemac","africa","world","eur"]},"srcCurrency":{"type":"string","description":"Currency of source country","example":"XOF","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWL"]},"srcAmount":{"type":"number","description":"Amount at the originating transaction","example":50000},"forexRate":{"type":"string","description":"Forex rate between corridors","example":"655.957"},"purpose":{"type":"string","description":"Purpose of the transfer","example":"Family support"},"srcOriginFunds":{"type":"string","description":"Origin of funds","example":"salary","enum":["salary","personal_savings","pension_releases","share_sales_and_dividends","property_sales","gambling_winnings","inheritances_and_gift","compensation_from_legal_rulings"]},"srcOperator":{"type":"string","description":"Source operator","example":"orange"},"destinationCurrency":{"type":"string","description":"Destination currency","example":"XOF","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWL"]},"recipientId":{"type":"string","description":"Internal id of the recipient","example":"43ebaf25-27a5-4a33-b7c9-35f743d3f677"},"senderKyc":{"description":"Sender KYC information","allOf":[{"$ref":"#/components/schemas/SenderCustomerInformation"}]},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user."},"overrideBusinessName":{"type":"string","description":"This field is mandatory for aggregators and allows you to override the business name displayed to the end users.\n    This is useful if you don't want your clients to see \"Hub2\" as the target of their payment but your company name instead.","example":"MyBusiness"},"bankName":{"type":"string","description":"Bank name","example":"UBA Bank"}},"required":["reference","srcCountry","srcCurrency","srcAmount","purpose","srcOriginFunds","srcOperator","destinationCurrency","recipientId","senderKyc"]},"KybDto":{"type":"object","properties":{"merchantId":{"type":"string","description":"The id identifying the merchant","example":"156"},"name":{"type":"string","description":"Name of the declared sub-merchant","example":"Example merchant"},"businessType":{"type":"string","description":"Type of business of the sub-merchant","example":"Fintech"},"businessRegistrationId":{"type":"string","description":"Business registration id"},"taxNumber":{"type":"string","description":"Tax number"},"directorName":{"type":"string","description":"Director name"},"websiteUrl":{"type":"string","description":"Website url of the company"},"country":{"type":"string","description":"Country where the company is located","example":"CI"},"headquarterAddress":{"type":"string","description":"Address of the headquarter of the company"},"id":{"type":"number","description":"The id identifying the kyb","example":1},"createdAt":{"format":"date-time","type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"deletedAt":{"type":"object","description":"Datetime in UTC timezone at which this object was deleted.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601). Can be null.","example":null}},"required":["merchantId","name","businessType","businessRegistrationId","taxNumber","directorName","websiteUrl","country","headquarterAddress","id","createdAt","deletedAt"]},"CreateKybDto":{"type":"object","properties":{"merchantId":{"type":"string","description":"The id identifying the merchant","example":"156"},"name":{"type":"string","description":"Name of the declared sub-merchant","example":"Example merchant"},"businessType":{"type":"string","description":"Type of business of the sub-merchant","example":"Fintech"},"businessRegistrationId":{"type":"string","description":"Business registration id"},"taxNumber":{"type":"string","description":"Tax number"},"directorName":{"type":"string","description":"Director name"},"websiteUrl":{"type":"string","description":"Website url of the company"},"country":{"type":"string","description":"Country where the company is located","example":"CI"},"headquarterAddress":{"type":"string","description":"Address of the headquarter of the company"}},"required":["merchantId","name","businessType","businessRegistrationId","taxNumber","directorName","websiteUrl","country","headquarterAddress"]},"UpdateKybDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the declared sub-merchant","example":"Example merchant"},"businessType":{"type":"string","description":"Type of business of the sub-merchant","example":"Fintech"},"businessRegistrationId":{"type":"string","description":"Business registration id"},"taxNumber":{"type":"string","description":"Tax number"},"directorName":{"type":"string","description":"Director name"},"websiteUrl":{"type":"string","description":"Website url of the company"},"country":{"type":"string","description":"Country where the company is located","example":"CI"},"headquarterAddress":{"type":"string","description":"Address of the headquarter of the company"}}},"InitiateKybTransactionDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the aggregated merchant","example":"Example merchant"},"reference":{"type":"string","description":"Reference of the transaction","example":"<REPLACE_BY_YOUR_REFERENCE>"},"amount":{"type":"number","description":"Amount of the transaction","example":100},"currency":{"type":"string","description":"Currency in which the transaction has been done","example":"XOF"},"iban":{"type":"string","description":"International Bank Account Number (IBAN)","example":"FR7630006000011234567890189"}},"required":["name","reference","amount","currency","iban"]},"KybTransactionDto":{"type":"object","properties":{"id":{"type":"number","description":"The id identifying the transaction","example":1},"kyb":{"description":"The kyb related to the transaction","allOf":[{"$ref":"#/components/schemas/KybDto"}]},"reference":{"type":"string","description":"Reference of the transaction. Should be unique for a given merchantId","example":"<REPLACE_BY_YOUR_REFERENCE>"},"amount":{"type":"number","description":"Amount of the transaction","example":100},"currency":{"type":"string","description":"Currency in which the transaction has been done","example":"XOF"},"createdAt":{"format":"date-time","type":"string","description":"Datetime in UTC timezone at which this object was created.\n     Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).","example":"2020-10-15T12:09:49.355Z"},"status":{"type":"string","description":"Enum indicating the status of the kyb transaction","example":"created","enum":["created","pending","rejected","validated"]},"rejectionReason":{"type":"string","description":"The reason why a kyb transaction has been rejected by Hub2 teams (i.e, the deposit hasn't been done)","example":"Your request is not compliant with our policies for the following reason: ..."},"iban":{"type":"string","description":"Iban of the bank account on which funds have been transferred","example":"CI93CI0080111301134291200589"}},"required":["id","kyb","reference","amount","currency","createdAt","status","iban"]},"KycInformation":{"type":"object","properties":{}},"ApiNotImplementedErrorAlias":{"type":"object","properties":{"status":{"type":"number","description":"status","enum":[501],"example":501},"error":{"type":"string","description":"Not implemented","example":"Method not implemented"}},"required":["status","error"]},"RecipientDto":{"type":"object","properties":{"lastname":{"type":"string","example":"Doe","description":"Last name of the recipient"},"firstname":{"type":"string","example":"John","description":"First name of the recipient"},"company":{"type":"string","example":"Acme Corp","description":"Company name of the recipient"},"country":{"type":"string","example":"USA","description":"Country of the recipient"},"type":{"type":"string","example":"bank","description":"Recipient type","enum":["mobile","bank"]},"msisdn":{"type":"string","example":"1234567890","description":"Recipient phone number (required if type is mobile)"},"provider":{"type":"string","example":"orange","description":"Provider used by the recipient (required if type is mobile)"},"bankName":{"type":"string","example":"Bank of America","description":"Name of the bank (required if type is bank)"},"bankCode":{"type":"string","example":"BOFAUS3N","description":"Bank code (required if type is bank)"},"id":{"type":"string","description":"Unique identifier of the recipient"},"createdAt":{"format":"date-time","type":"string","description":"Date of creation of the recipient"},"updatedAt":{"format":"date-time","type":"string","description":"Date of last update of the recipient"},"merchantId":{"type":"string","description":"MerchantId of the merchant who created the recipient"},"accountNumber":{"type":"string","description":"IBAN of the recipient"},"isActive":{"type":"boolean","example":true,"description":"Indicates if the recipient is active"},"metadata":{"type":"object","description":"Metadata of the recipient. Contains information like recipient kyc"},"isIrt":{"type":"boolean","example":true,"description":"Indicates if transfers are internationnal"}},"required":["lastname","firstname","company","country","type","id","createdAt","updatedAt","merchantId","accountNumber","isActive"]},"InitiateRecipientCreationDto":{"type":"object","properties":{"lastname":{"type":"string","example":"Doe","description":"Last name of the recipient"},"firstname":{"type":"string","example":"John","description":"First name of the recipient"},"company":{"type":"string","example":"Acme Corp","description":"Company name of the recipient"},"country":{"type":"string","example":"USA","description":"Country of the recipient"},"type":{"type":"string","example":"bank","description":"Recipient type","enum":["mobile","bank"]},"msisdn":{"type":"string","example":"1234567890","description":"Recipient phone number (required if type is mobile)"},"provider":{"type":"string","example":"orange","description":"Provider used by the recipient (required if type is mobile)"},"bankName":{"type":"string","example":"Bank of America","description":"Name of the bank (required if type is bank)"},"bankCode":{"type":"string","example":"BOFAUS3N","description":"Bank code (required if type is bank)"},"iban":{"type":"string","example":"DE89370400440532013000","description":"International Bank Account Number (IBAN)"}},"required":["lastname","firstname","company","country","type"]},"DepositMethodDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Deposit","example":"bank_transfer","enum":["bank_transfer"]},"hub2Iban":{"type":"string","description":"The HUB2 IBAN to deposit funds to","example":"FR7630006000011234567890189"},"country":{"type":"string","description":"The country code derived from the IBAN","example":"FR"},"provider":{"type":"string","description":"The bank provider derived from the bank account","example":"ecobank"}},"required":["type","hub2Iban","country","provider"]},"DepositFee":{"type":"object","properties":{}},"DepositLegalDataDto":{"type":"object","properties":{"proofDocuments":{"description":"Proof documents","type":"array","items":{"type":"string"}}},"required":["proofDocuments"]},"DepositDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the deposit"},"merchantId":{"type":"string","description":"Merchant identifier"},"merchantName":{"type":"string","description":"Merchant display name"},"merchantAccountId":{"type":"string","description":"Merchant account identifier"},"matchingCode":{"type":"string","description":"Reference to use for the bank transfer"},"description":{"type":"string","description":"Description of the deposit","maxLength":300},"amount":{"type":"number","description":"Amount of the deposit"},"currency":{"type":"string","description":"Currency of the deposit (ISO 4217 format)"},"accountType":{"type":"string","enum":["collection","transfer","transfer-irt","delegated"],"description":"Type of merchant account"},"method":{"description":"Method used for the deposit","allOf":[{"$ref":"#/components/schemas/DepositMethodDto"}]},"status":{"type":"string","enum":["created","failed","pending","successful"],"description":"Status of the deposit"},"statusDetails":{"type":"string","enum":["waiting_provider","waiting_proof","unverified","verified","mismatch"],"description":"Status details of the deposit"},"mode":{"type":"string","enum":["live","sandbox"],"description":"Application mode (e.g., live or sandbox)"},"fees":{"description":"List of fees associated with the deposit","type":"array","items":{"$ref":"#/components/schemas/DepositFee"}},"createdAt":{"type":"string","description":"Date and time when the deposit was created"},"createdBy":{"type":"string","description":"User id or merchant id who created the deposit"},"updatedAt":{"type":"string","description":"Date and time when the deposit was last updated"},"failureCause":{"type":"object","description":"Optional failure cause details"},"nextAction":{"type":"object","description":"Next action required, if any"},"legalData":{"description":"Legal data of the deposit","allOf":[{"$ref":"#/components/schemas/DepositLegalDataDto"}]}},"required":["id","merchantId","merchantAccountId","matchingCode","amount","currency","accountType","method","status","statusDetails","mode","fees","createdAt","createdBy","updatedAt"]},"CreateDepositMethodDto":{"type":"object","properties":{"type":{"type":"string","description":"The method selected to make this Deposit","example":"bank_transfer","enum":["bank_transfer"]},"hub2Iban":{"type":"string","description":"The HUB2 IBAN to deposit funds to","example":"FR7630006000011234567890189"}},"required":["type","hub2Iban"]},"CreateDepositDto":{"type":"object","properties":{"amount":{"type":"number","description":"The amount to deposit","example":1000},"currency":{"type":"string","description":"The currency of the deposit","example":"XOF"},"description":{"type":"string","description":"Description of the deposit","maxLength":300},"accountType":{"type":"string","description":"The account type to deposit funds on. Only TRANSFER and TRANSFER_IRT are allowed for deposits.","enum":["transfer","transfer-irt"],"default":"transfer"},"method":{"description":"Informations about HUB2 account","allOf":[{"$ref":"#/components/schemas/CreateDepositMethodDto"}]}},"required":["amount","currency","accountType","method"]},"DepositProofDto":{"type":"object","properties":{"document":{"type":"string","description":"The base64 encoded proof document (screenshot of bank transfer). Maximum size: 1MB","example":"data:image/jpeg;base64,/9j/4AAQSkZJRg..."}},"required":["document"]},"CreatedDelegatedTransferDto":{"type":"object","properties":{"reference":{"type":"string","description":"A reference provided by the client during the creation of this Transfer","example":"ref_2020_11_10_001"},"amount":{"type":"number","description":"Amount intended to be sent to the recipient. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).","example":100},"currency":{"type":"string","description":"Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"XOF"},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user. "},"origin":{"description":"Information about the sender","allOf":[{"$ref":"#/components/schemas/OriginDto"}]},"destination":{"description":"Information about the recipient of this Transfer","oneOf":[{"$ref":"#/components/schemas/MTMobileMoneyDto"},{"$ref":"#/components/schemas/MTBankTransferDto"},{"$ref":"#/components/schemas/MTAirtimeDto"}],"discriminator":{"propertyName":"type","mapping":{"bank_transfer":"#/components/schemas/MTBankTransferDto","mobile_money":"#/components/schemas/MTMobileMoneyDto","airtime":"#/components/schemas/MTAirtimeDto"}},"title":"Destination"},"overrideBusinessName":{"type":"string","description":"This field is mandatory for aggregators and allows you to override the business name displayed to the end users.\n    This is useful if you don't want your clients to see \"Hub2\" as the target of their payment but your company name instead.","example":"MyBusiness"},"overrideBusinessId":{"type":"string","description":"This field is mandatory for merchants that have the corresponding setting enabled, It allows to send a custom name","example":"e9bb247c-6e3f-4a39-a539-78e3bf115994"},"transferInformation":{"description":"Optional merchant-defined payment metadata. Persisted and returned on the transfer.","example":{"recipient_name_hashmac":"hash_xyz_789","transaction_purpose":"SALARY"},"allOf":[{"$ref":"#/components/schemas/TransferInformationDto"}]},"aggregatedMerchantId":{"type":"string","description":"Aggregated merchant id","title":"aggregatedMerchantId"}},"required":["reference","amount","currency","description","destination","aggregatedMerchantId"]},"CreatedDelegatedTransferIrtDto":{"type":"object","properties":{"reference":{"type":"string","description":"A reference provided by the client during the creation of this Transfer","example":"REM-20240619-00123"},"srcCountry":{"type":"string","description":"Source country","example":"CI","enum":["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KR","KP","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"]},"srcZone":{"type":"string","description":"Zone of the source country. If the country does not belong to a zone, set it to 'other'","example":"UEMOA","enum":["uemoa","cemac","africa","world","eur"]},"srcCurrency":{"type":"string","description":"Currency of source country","example":"XOF","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWL"]},"srcAmount":{"type":"number","description":"Amount at the originating transaction","example":50000},"forexRate":{"type":"string","description":"Forex rate between corridors","example":"655.957"},"purpose":{"type":"string","description":"Purpose of the transfer","example":"Family support"},"srcOriginFunds":{"type":"string","description":"Origin of funds","example":"salary","enum":["salary","personal_savings","pension_releases","share_sales_and_dividends","property_sales","gambling_winnings","inheritances_and_gift","compensation_from_legal_rulings"]},"srcOperator":{"type":"string","description":"Source operator","example":"orange"},"destinationCurrency":{"type":"string","description":"Destination currency","example":"XOF","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWL"]},"destination":{"description":"Information about the recipient of this Transfer","oneOf":[{"$ref":"#/components/schemas/IrtMobileMoneyDto"},{"$ref":"#/components/schemas/IrtBankTransferDto"}],"discriminator":{"propertyName":"type","mapping":{"bank_transfer":"#/components/schemas/IrtBankTransferDto","mobile_money":"#/components/schemas/IrtMobileMoneyDto"}},"title":"Destination"},"senderKyc":{"description":"Sender KYC information","allOf":[{"$ref":"#/components/schemas/SenderCustomerInformation"}]},"recipientKyc":{"description":"Recipient KYC information","allOf":[{"$ref":"#/components/schemas/RecipientCustomerInformation"}]},"description":{"type":"string","description":"An arbitrary string attached to the Transfer. Mostly useful for displaying to user."},"overrideBusinessName":{"type":"string","description":"This field is mandatory for aggregators and allows you to override the business name displayed to the end users.\n    This is useful if you don't want your clients to see \"Hub2\" as the target of their payment but your company name instead.","example":"MyBusiness"},"bankName":{"type":"string","description":"Bank name","example":"UBA Bank"},"transferInformation":{"description":"Optional merchant-defined payment metadata. Persisted and returned on the transfer.","example":{"recipient_name_hashmac":"hash_xyz_789","transaction_purpose":"SALARY"},"allOf":[{"$ref":"#/components/schemas/TransferInformationDto"}]},"aggregatedMerchantId":{"type":"string","description":"Aggregated merchant id","title":"aggregatedMerchantId"}},"required":["reference","srcCountry","srcCurrency","srcAmount","purpose","srcOriginFunds","srcOperator","destinationCurrency","destination","senderKyc","recipientKyc","aggregatedMerchantId"]},"DelegatedPaymentDto":{"type":"object","properties":{}},"CreatePaymentLinkDto":{"type":"object","properties":{"amount":{"type":"number","description":"Amount intended to be charged in the smallest currency unit","example":1000,"minimum":1},"currency":{"type":"string","description":"Three-letter ISO 4217 currency code","example":"XOF"},"purchaseReference":{"type":"string","description":"Merchant reference for the payment (collection ID for multi_use links)","example":"ORDER-12345"},"type":{"type":"string","description":"Defaults to single_use when omitted. multi_use allows multiple successful payments until optional maximumPayments or expiration.","enum":["single_use","multi_use"],"example":"multi_use"},"maximumPayments":{"type":"number","description":"Maximum successful payments for multi_use links. Omit for unlimited. Ignored for single_use (always one success).","example":50,"minimum":1},"providers":{"description":"List of supported providers","example":["orange","mtn"],"type":"array","items":{"type":"string"}},"paymentMethods":{"type":"array","description":"Payment method","example":["mobile_money"],"items":{"type":"string","enum":["mobile_money","credit_card","bank_transfer"]}},"country":{"type":"string","description":"Two-letter ISO 3166-1 alpha-2 country code","example":"CI"},"expirationDate":{"type":"string","description":"Expiration date for the payment link (default: 15 minutes from creation)","example":"2025-10-15T14:30:00.000Z"},"successUrl":{"type":"string","description":"URL to redirect to after successful payment","example":"https://merchant.com/success"},"failureUrl":{"type":"string","description":"URL to redirect to after failed payment","example":"https://merchant.com/failure"},"customerPhoneNumber":{"type":"string","description":"Customer phone number for the payment (optional)","example":"12345678"},"description":{"type":"string","description":"Description for the payment (optional)","example":"Payment for order 1234567890"}},"required":["amount","currency","purchaseReference","providers","paymentMethods","country","successUrl","failureUrl"]},"PaymentLinkDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the payment link","example":"pl_z1urYtVFgEebtcj8fxp4v"},"url":{"type":"string","description":"URL for the payment link","example":"https://pay.hub2.com/pl_z1urYtVFgEebtcj8fxp4v"},"status":{"type":"string","description":"Current status of the payment link","enum":["active","expired","closed","completed"],"example":"active"},"purchaseReference":{"type":"string","description":"Merchant reference for the payment","example":"ORDER-12345"},"amount":{"type":"number","description":"Amount intended to be charged in the smallest currency unit","example":1000},"currency":{"type":"string","description":"Three-letter ISO 4217 currency code","example":"XOF"},"maximumPayments":{"type":"number","description":"Maximum successful payments allowed (omitted when unlimited multi_use)","example":50},"currentSuccessCount":{"type":"number","description":"Number of successful payments recorded for this link","example":0},"maximumAttempts":{"type":"number","description":"Maximum number of failed payments allowed per user","example":3},"createdAt":{"type":"string","description":"Creation date in ISO 8601 format","example":"2024-01-15T12:00:00.000Z"},"updatedAt":{"type":"string","description":"Last update date in ISO 8601 format","example":"2024-01-15T12:30:00.000Z"},"expirationDate":{"type":"string","description":"Expiration date in ISO 8601 format","example":"2024-01-15T14:30:00.000Z"},"customerPhoneNumber":{"type":"string","description":"Restricted MSISDN","example":"123456789"},"type":{"type":"string","description":"Type of the payment link","enum":["single_use","multi_use"],"example":"single_use"}},"required":["id","url","status","purchaseReference","amount","currency","currentSuccessCount","maximumAttempts","createdAt","updatedAt","expirationDate","customerPhoneNumber","type"]},"PaymentLinkWithAttemptsDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the payment link","example":"pl_z1urYtVFgEebtcj8fxp4v"},"url":{"type":"string","description":"URL for the payment link","example":"https://pay.hub2.com/pl_z1urYtVFgEebtcj8fxp4v"},"status":{"type":"string","description":"Current status of the payment link","enum":["active","expired","closed","completed"],"example":"active"},"purchaseReference":{"type":"string","description":"Merchant reference for the payment","example":"ORDER-12345"},"amount":{"type":"number","description":"Amount intended to be charged in the smallest currency unit","example":1000},"currency":{"type":"string","description":"Three-letter ISO 4217 currency code","example":"XOF"},"maximumPayments":{"type":"number","description":"Maximum successful payments allowed (omitted when unlimited multi_use)","example":50},"currentSuccessCount":{"type":"number","description":"Number of successful payments recorded for this link","example":0},"maximumAttempts":{"type":"number","description":"Maximum number of failed payments allowed per user","example":3},"createdAt":{"type":"string","description":"Creation date in ISO 8601 format","example":"2024-01-15T12:00:00.000Z"},"updatedAt":{"type":"string","description":"Last update date in ISO 8601 format","example":"2024-01-15T12:30:00.000Z"},"expirationDate":{"type":"string","description":"Expiration date in ISO 8601 format","example":"2024-01-15T14:30:00.000Z"},"customerPhoneNumber":{"type":"string","description":"Restricted MSISDN","example":"123456789"},"type":{"type":"string","description":"Type of the payment link","enum":["single_use","multi_use"],"example":"single_use"},"paymentAttempts":{"description":"List of payment attempts for this payment link","type":"array","items":{"$ref":"#/components/schemas/PaymentDto"}}},"required":["id","url","status","purchaseReference","amount","currency","currentSuccessCount","maximumAttempts","createdAt","updatedAt","expirationDate","customerPhoneNumber","type","paymentAttempts"]}}},"x-tagGroups":[{"name":"Core resources","tags":["Transfers","IRT","Payments","Webhooks","Balance","Delegation","Deposits"]},{"name":"Other products","tags":["Payment on Terminal","Provisioning","Receipt","Sms","Compliance"]},{"name":"Public","tags":["Data"]}]}