Initiate a Payment
Overview
This endpoint allows you to initiate a Bre-B payment within the Passport API. A successful request processes the payment and returns the transaction details, including status and recipient information.
Endpoint Details
| Definition | Description |
|---|---|
| Endpoint | https://api.paas.sandbox.co.passportfintech.com/v1/payments/breb |
| Method | POST |
| Headers | Content-Type: application/json, Authorization |
| Authentication | Access Token (Bearer Token) |
Request Body
| Parameter | Type | Constraints | Required | Description |
|---|---|---|---|---|
| account_id | String | Yes | The unique identifier of the account from which the payment will be made. | |
| resolution_id | String | Yes | The unique identifier from the resolution of the Bre-B recipient for sending the Payment. | |
| amount | Object | Yes | Defines the value and currency of the transaction. | |
| value | String | Yes | The amount to be transferred. | |
| currency | String | ENUM: COP | Yes | The currency of the transaction. |
For notation amount.value, it stats the object.field name.
Example Request
11
11
curl --location --request POST'https://api.paas-sandbox.co.passportfintech.com/v1/payments/breb' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \--data '{ "account_id": "a9a0e0f7-0263-44ee-911e-d66910f9f5c7", "resolution_id": "1bc138e3-74fc-4b47-a07c-34c197ee53ff", "amount": { "value": "100000", "currency": "COP" }}'Response Body
- HTTP Status Code: 200 OK.
- Returns the newly created payment and its associated metadata.
Example of Response
48
48
{ "receiver": { "account": { "account_number": "88509775041", "account_type": "ORDINARY" }, "key": { "key_type": "PHONE", "key_value": "3975999158" }, "participant": { "identification_number": "123456789" }, "owner": { "identification_number": "862886878", "identification_type": "NIT", "type": "BUSINESS", "name": "Merchant CWSPZ" } }, "direction": "OUTBOUND", "qr_code_reference": "", "sender": { "account": { "account_number": "88509775041", "account_type": "ORDINARY" }, "participant": { "identification_number": "123456789" }, "owner": { "identification_number": "862886878", "identification_type": "NIT", "type": "BUSINESS", "name": "Merchant CWSPZ" } }, "amount": { "value": "100000", "currency": "COP" }, "account_id": "a9a0e0f7-0263-44ee-911e-d66910f9f5c7", "created_at": "2025-10-10T08:52:05.171Z", "resolution_id": "9e5cd615-d2da-43eb-866e-c0026b177c01", "updated_at": "2025-10-10T08:52:05.171Z", "status": "PROCESSING", "id": "0d9f17a1-af37-4e4d-831d-3520b5797aa1"}The payment status will first be PENDING. Once the payment is processed, it will change to SETTLED. You can use the Webhooks to check the payment statuses.
Common Errors and Handling
| HTTP Status Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid Data | Required fields are missing or contain incorrect values. |
| 401 Unauthorized | Expired Token | The access token is invalid or has expired. |
| 403 Forbidden | Access Denied | The request is not authorized to create a payment. |
| 500 Internal Server Error | Server Error | An unexpected error occurred while processing the payment. |
Best Practices
- Ensure the
account_idandrecipient_idare correct before making the request. - Monitor the payment status (
PENDING,SETTLED, etc.) to track progress. - Implement error handling to manage failed or delayed payments.