Skip to main content

Create a Payin

Collect funds from a third party (end-user) to be tokenized into stablecoin tokens.

info

The payment link is valid for 15 minutes after the Payin is created.

Request

Endpoint

POST /v1/payins
Scope

payins:create

Structure

NameTypeDescription
tokenstringThe stablecoin token to be used for the payin. Valid values are:
COPM for Colombian Pesos.
amountstringThe amount of funds to be collected and tokenized. For COPM the max amount is 5,000,000 per transaction.
paymentpaymentPayment object (method, details, etc.)
destination_wallet_iduuidThe ID of the Customer's wallet to send the stablecoin tokens to.
purposestringA description of why the payin is being made.
final_urlstringURL to redirect the end-user to, after the Payin's payment is completed. ID of the Payin will be appended as a query parameter to this URL as a ?payin_id=... parameter.
third_partythird_partyThe end-user or ultimate beneficiary who's completing the payment for the payin.
See below for more details.
warning

IMPORTANT:
• The final_url is not the URL that you need to redirect the end-user (third_party) to. That is your site's URL, where Minteo will redirect the end-user after the payment is completed.

• The token must be the same as the customer's wallet token.

The payment object

This object is filled depending on the payment method chosen by the Customer.

Required attributes for PSE
NameTypeDescription
methodstringPayment method for the Payin. Valid values are:
PSE (Pagos Seguros En línea)
bankPSE BanksThe bank to be used for the payin.

List of Available PSE Banks

The payment.bank property must be filled with one of the banks in the following list. Using any other bank will return an error.

warning

IMPORTANT: The list of available banks is different for production and sandbox environments. Please use one of the options listed below.

Click here to view the Available PSE Banks list
  • ALIANZA_FIDUCIARIA
  • BANCIEN
  • BANCAMIA
  • BANCO_AGRARIO
  • BANCO_AV_VILLAS
  • BANCO_BBVA
  • BANCO_CAJA_SOCIAL
  • BANCO_COOPERATIVO_COOPCENTRAL
  • BANCO_DAVIVIENDA
  • BANCO_DE_BOGOTA
  • BANCO_DE_OCCIDENTE
  • BANCO_FALABELLA
  • BANCO_FINANDINA
  • BANCO_GNB_SUDAMERIS
  • BANCO_ITAU
  • BANCO_J_P_MORGAN
  • BANCO_MUNDO_MUJER
  • BANCO_PICHINCHA
  • BANCO_POPULAR
  • BANCO_SANTANDER
  • BANCO_SERFINANZA
  • BANCO_UNION
  • BANCOLOMBIA
  • BANCOOMEVA
  • BOLD
  • CFA_COOPERATIVA_FINANCIERA
  • CITIBANK
  • COINK
  • COLTEFINANCIERA
  • CONFIAR_COOPERATIVA_FINANCIERA
  • COTRAFA
  • CREZCAMOS
  • DALE
  • DAVIPLATA
  • DING
  • FINANCIERA_JURISCOOP_SA_COMPANIA_DE_FINANCIAMIENTO
  • GLOBAL66
  • IRIS
  • JFK_COOPERATIVA_FINANCIERA
  • LULO_BANK
  • MOVII
  • NEQUI
  • NU
  • POWWI
  • RAPPIPAY
  • SCOTIABANK_COLPATRIA
  • UALA

The third_party object

NameTypeDescription
full_namestringThe full name of the third party.
legal_identifier_typestringThe type of legal ID of the third party. Valid values are:
CC for Colombian Cedula de Ciudadanía.
CE for Colombian Cedula de Extranjería.
NIT for Colombian NIT.
PP for Passport.
legal_identifierstringThe legal ID of the third party.
country_isostringThe ISO 3166-1 alpha-2 country code of the third party. Valid values are:
CO for Colombia.
emailstringThe email address of the third party.

Example JSON Request Body

{
"token": "COPM",
"amount": "127000",
"destination_wallet_id": "2af83836-43ea-407b-ab4e-9c64ee817b28", // Customer's Wallet
"purpose": "Top-up on behalf of John Doe",
"final_url": "https://yoursite.com/payin-completed", // callback url for customer / end user
"payment": {
"method": "PSE",
"bank": "BANCO_FALABELLA"
},
"third_party": {
"full_name": "John Doe",
"legal_identifier_type": "CC",
"legal_identifier": "1099075610",
"country_iso": "CO",
"email": "john@example.com"
}
}

Response

The important thing to note in the received response, is the action field, which states the next action to be taken by the end-user completing the Payin.

Currently, the only possible action is to redirect the end-user (third_party) to a URL where they will complete the payment for the Payin. For this, you will need to use the action.redirect_url field, so that the end-user is redirected to such URL.

Structure

NameTypeDescription
outputPayinThe Payin object.
codestringThe response status code text.

The action object

Below are the attributes of the action object when the action type is REDIRECT:

NameTypeDescription
typestringThe type of action to be taken. Currently, the only possible value is REDIRECT.
redirect_urlstringThis URL is the one that you need to redirect the end-user (third_party) to, in order for them to complete the payment.
info

Once the end-user (third_party) has completed the payment, they will be redirected to the final_url that you provided when creating the Payin. The ID of the Payin will be appended as a query parameter to this URL as a ?payin_id=... parameter.

Example Response

{
"output": {
"id": "ffb50d6c-09f1-4f08-9b91-cbce466bed52",
"action": {
"type": "REDIRECT",
"redirect_url": "https://api.minteo.finance/v1/payins/redirect/ffb50d6c-09f1-4f08-9b91-cbce466bed52"
},
"status": "PENDING",
// ^ Newly returned attributes -----
"destination_wallet_id": "2af83836-43ea-407b-ab4e-9c64ee817b28", // Customer's Wallet
"amount": "127000",
"token": "COPM",
"purpose": "Top-up on behalf of John Doe",
"final_url": "https://yoursite.com/payin-completed?payin_id=ffb50d6c-09f1-4f08-9b91-cbce466bed52", // callback url for customer / end user
"payment": {
"method": "PSE",
"bank": "BANCO_FALABELLA"
},
"third_party": {
"full_name": "John Doe",
"legal_identifier_type": "CC",
"legal_identifier": "1099075610",
"country_iso": "CO",
"email": "john@example.com"
}
},
"code": "CREATED"
}