Skip to main content
Version: v3.0

Create Disbursement

The Create Disbursement API allows merchants to initiate a disbursement request. This process involves generating a disbursement ID that can be used to query the disbursement. Upon validation of request body information, the create disbursement request will be confirmed.

Endpoint​

Request URL: https://apihit.net/api/disbursement/create

Request Headers​

Header NameValue
Content-Typeapplication/json
Acceptapplication/json
X-SignatureThe HMAC signature used for verification.

Request Parameters​

PropertyPresenceTypeDescription
midMandatoryStringProvided by creedo during onboarding.
disbursement_methodMandatoryStringThis parameter indicates the method of disbursement. For PEN_BANK_TRANSFER, the value of this parameter should be "PEN_BANK_TRANSFER".
merchant_disbursement_idMandatoryStringUnique invoice number used on the merchant side for this specific disbursement. Max length is 25 characters. Special characters "<", ">" and "&" are not allowed.
disbursement_amountMandatoryIntegerAmount of the disbursement to be made.
disbursement_currencyMandatoryStringCurrency of the mentioned amount. For PEN_BANK_TRANSFER, the value of this parameter should be "PEN".
account_detailsMandatory.ObjectContains beneficiary bank account details required for disbursement.
account_details.account_numberMandatoryStringBeneficiary bank account number where Creedo will send the disbursement amount.
account_details.bank_codeMandatoryStringBank code from the Supported Banks list (e.g., PEN002).
account_details.document_numberMandatoryStringIdentity document number of the account holder.
account_details.document_typeMandatoryStringDocument type from the Supported Document Types list (e.g., PEN_DNI).
ipn_urlMandatoryStringURL where creedo sends Instant Disbursement Notification. It must accept POST request from creedo.
customer_idMandatoryStringUnique user ID on the merchant's side.
customer_nameMandatoryStringFull name of the user on the merchant's side.
customer_phone_numberMandatoryStringRegistered phone number of the user on the merchant's side.
customer_emailMandatoryStringRegistered email address of the user on the merchant's side.
customer_ipMandatoryStringCurrent IP address of the user.
customer_typeOptionalStringType of the user. Possible values: Trusted, FTD, MTD, YTD, Others.
btagOptionalStringBtag identifier of the customer.
additional_info_1OptionalStringAdditional information.
additional_info_2OptionalStringAdditional information.

Success Response Parameters​

PropertyTypeDescription
gateway_statusString"accepted"
creedo_disbursement_idStringCreedo-generated disbursement ID for this disbursement creation request. This disbursement ID can be used later to track the disbursement and in other disbursement-related APIs.

Error Response Parameters​

PropertyTypeDescription
gateway_statusString"rejected"
messageStringError message here.

Signature Generation​

The signature (X-Signature) is generated using HMAC with SHA-256. It uses the secret_key and a secret_string as inputs. All inputs should be in string format:

secret_string = mid:merchant_disbursement_id:disbursement_method:disbursement_currency:disbursement_amount

Request Body​

POST /api/disbursement/create HTTP/1.1
Host: https://apihit.net
Content-Type: application/json
Accept: application/json
X-Signature: <hash_str>

{
"mid": "CREEDO12345",
"disbursement_method": "PEN_BANK_TRANSFER",
"merchant_disbursement_id": "INV123456789",
"disbursement_amount": 5000,
"disbursement_currency": "PEN",
"account_details": {
"account_number": "00219300123456789012",
"bank_code": "PEN002", //Bank code
"document_number": "45678912",
"document_type": "PEN_DNI"
},
"ipn_url": "https://example.com/ipn-handler",
"customer_id": "USER12345",
"customer_name": "John Doe",
"customer_phone_number": "+5198XXXXXXX",
"customer_email": "johndoe@example.com",
"customer_ip": "192.168.1.1",
"customer_type": "Trusted", // Optional
"btag": "BTAG001", // Optional
"additional_info_1": "Loyal customer", // Optional
"additional_info_2": "" // Optional
}

Success Response​

A successful response will return a JSON object containing:

{
"gateway_status": "accepted",
"creedo_disbursement_id": "3C8HL0MHX9"
}

Error Response​

In case of an error, the API will return a JSON object with error details:

{
"gateway_status": "rejected",
"message": "Unknown error occurred."
}

Notes​

  • The merchant_disbursement_id must be unique for each transaction to prevent duplication.
  • All four account_details fields are mandatory. A request missing one, or sending a document_type outside the Supported Document Types list, is rejected.
  • There is no "other bank" fallback code. A bank that is not in the Supported Banks list cannot receive a disbursement.

Supported Banks​

The value sent in account_details.bank_code must be one of the Bank Code values listed below.

Bank CodeBank Name
PEN001BBVA CONTINENTAL
PEN002BANCO DE CREDITO
PEN003INTERBANK
PEN004SCOTIABANK PERU
PEN005BANCO DE COMERCIO
PEN006BANCO INTERAMERICANO DE FINANZAS
PEN007CITIBANK
PEN008MI BANCO
PEN009BANCO GNB PERU
PEN010BANCO FALABELLA
PEN011BANCO RIPLEY
PEN012SANTANDER
PEN013BANCO DE LA NACION
PEN014CAJA AREQUIPA
PEN015CAJA MUNICIPAL DE AHORRO Y CREDITO CUZCO
PEN016CAJA HUANCAYO
PEN017CAJA METROPOLITANA DE LIMA
PEN018CMAC ICA
PEN019CAJA MUNICIPAL DE AHORRO Y CREDITO PIURA
PEN020CAJA MUNICIPAL DE AHORRO Y CREDITO SULLANA
PEN021CAJA TACNA
PEN022CAJA TRUJILLO
PEN023BANCO FINANCIERO
PEN024CREDISCOTIA FINANCIERA
PEN025ALFIN BANCO
PEN026COMPARTAMOS FINANCIERA
PEN027FINANCIERA OH
PEN028FINANCIERA EFECTIVA
PEN029FINANCIERA CONFIANZA
PEN030DALE
PEN031GLOBOKAS KASNET
PEN032PAGO EFECTIVO
PEN033WESTERN UNION
PEN034AGENTE NIUBIZ
PEN035RED DIGITAL
PEN036BCP CUOTATEALO
PEN037PAGOEFECTIVO QR
PEN038PAGOEFECTIVO QR DIR
PEN039BANCO PICHINCHA
PEN040BANCO AZTECA
PEN041BANCO CENCOSUD
PEN042ICBC PERU BANK
PEN043CAJA MAYNAS
PEN044YAPE
PEN045PLIN

Supported Document Types​

The value sent in account_details.document_type must be one of the Document Type values listed below.

Document TypeDescription
PEN_DNIDocumento Nacional de Identidad (DNI)
PEN_CECarnet de Extranjería (CE)
PEN_PASSPPasaporte (Passport)
PEN_RUCRegistro Único de Contribuyentes (RUC)