refacil-pay-mcp 1.1.3 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -194,7 +194,12 @@ kubectl get pods -l app=refacil-pay-mcp
194
194
 
195
195
  ### `auth_login`
196
196
 
197
- POST /auth/login
197
+ To make the request and obtain the login you must have very clear your username and password for each environment where you are going to perform the integration, this information should be requested to our support team ([soportetecnico@refacil.com](https://mailto:soportetecnico@refacil.co)).
198
+
199
+ Within the post you will see below are the fields to make your request
200
+
201
+ > Note that for the consumption of any of the API services it is necessary to send the authentication token that you get when consuming the **auth/login** service as an Authorization indicating the Type and Token.
202
+ The authentication token does not expire. However, if at any time it were to expire, it will be necessary to generate a new authentication token. This could occur due to internal security measures that lead to manual or mass expiration of the token.
198
203
 
199
204
  **Parámetros:**
200
205
 
@@ -205,7 +210,15 @@ POST /auth/login
205
210
 
206
211
  ### `trx_token_generate`
207
212
 
208
- Generates a transactional token for payment link service.
213
+ This service allows security validation for the execution of a transaction on the platform, generating a single-use token.
214
+
215
+ > The transactional token service is obtained in three ways, depending on the action to be performed. For this, the value sent in the _**service**_ parameter must be set according to what is required:
216
+ 1\. For Payment Link: **“/cash-in/generate/payment-link/token”**.
217
+ 2\. For Payment method: **“/cash-in/generate/payment-method/token”**.
218
+ 3\. For Withdraw: **“/cash-out/generate/withdraw-method/token”**.
219
+ 4\. For Merchant Key: \[ “/merchant-key/create”, “/merchant-key/cancel” \]
220
+
221
+ > The generated token is single-use for each transaction and cannot be consumed more than once. In addition, the transactional token will be valid for 60 seconds.
209
222
 
210
223
  **Parámetros:**
211
224
 
@@ -215,7 +228,15 @@ Generates a transactional token for payment link service.
215
228
 
216
229
  ### `transactional_token_method`
217
230
 
218
- Generates a transactional token for payment method service.
231
+ This service allows security validation for the execution of a transaction on the platform, generating a single-use token.
232
+
233
+ > The transactional token service is obtained in three ways, depending on the action to be performed. For this, the value sent in the _**service**_ parameter must be set according to what is required:
234
+ 1\. For Payment Link: **“/cash-in/generate/payment-link/token”**.
235
+ 2\. For Payment method: **“/cash-in/generate/payment-method/token”**.
236
+ 3\. For Withdraw: **“/cash-out/generate/withdraw-method/token”**.
237
+ 4\. For Merchant Key: \[ “/merchant-key/create”, “/merchant-key/cancel” \]
238
+
239
+ > The generated token is single-use for each transaction and cannot be consumed more than once. In addition, the transactional token will be valid for 60 seconds.
219
240
 
220
241
  **Parámetros:**
221
242
 
@@ -225,7 +246,15 @@ Generates a transactional token for payment method service.
225
246
 
226
247
  ### `transactional_token_withdraw`
227
248
 
228
- Generates a transactional token for withdraw service.
249
+ This service allows security validation for the execution of a transaction on the platform, generating a single-use token.
250
+
251
+ > The transactional token service is obtained in three ways, depending on the action to be performed. For this, the value sent in the _**service**_ parameter must be set according to what is required:
252
+ 1\. For Payment Link: **“/cash-in/generate/payment-link/token”**.
253
+ 2\. For Payment method: **“/cash-in/generate/payment-method/token”**.
254
+ 3\. For Withdraw: **“/cash-out/generate/withdraw-method/token”**.
255
+ 4\. For Merchant Key: \[ “/merchant-key/create”, “/merchant-key/cancel” \]
256
+
257
+ > The generated token is single-use for each transaction and cannot be consumed more than once. In addition, the transactional token will be valid for 60 seconds.
229
258
 
230
259
  **Parámetros:**
231
260
 
@@ -235,7 +264,15 @@ Generates a transactional token for withdraw service.
235
264
 
236
265
  ### `transactional_token_merchan_key_create`
237
266
 
238
- Generates a transactional token for creating merchant keys.
267
+ This service allows security validation for the execution of a transaction on the platform, generating a single-use token.
268
+
269
+ > The transactional token service is obtained in three ways, depending on the action to be performed. For this, the value sent in the _**service**_ parameter must be set according to what is required:
270
+ 1\. For Payment Link: **“/cash-in/generate/payment-link/token”**.
271
+ 2\. For Payment method: **“/cash-in/generate/payment-method/token”**.
272
+ 3\. For Withdraw: **“/cash-out/generate/withdraw-method/token”**.
273
+ 4\. For Merchant Key: \[ “/merchant-key/create”, “/merchant-key/cancel” \]
274
+
275
+ > The generated token is single-use for each transaction and cannot be consumed more than once. In addition, the transactional token will be valid for 60 seconds.
239
276
 
240
277
  **Parámetros:**
241
278
 
@@ -245,7 +282,15 @@ Generates a transactional token for creating merchant keys.
245
282
 
246
283
  ### `transactional_token_merchant_key_cancel`
247
284
 
248
- Generates a transactional token for canceling merchant keys.
285
+ This service allows security validation for the execution of a transaction on the platform, generating a single-use token.
286
+
287
+ > The transactional token service is obtained in three ways, depending on the action to be performed. For this, the value sent in the _**service**_ parameter must be set according to what is required:
288
+ 1\. For Payment Link: **“/cash-in/generate/payment-link/token”**.
289
+ 2\. For Payment method: **“/cash-in/generate/payment-method/token”**.
290
+ 3\. For Withdraw: **“/cash-out/generate/withdraw-method/token”**.
291
+ 4\. For Merchant Key: \[ “/merchant-key/create”, “/merchant-key/cancel” \]
292
+
293
+ > The generated token is single-use for each transaction and cannot be consumed more than once. In addition, the transactional token will be valid for 60 seconds.
249
294
 
250
295
  **Parámetros:**
251
296
 
@@ -255,7 +300,9 @@ Generates a transactional token for canceling merchant keys.
255
300
 
256
301
  ### `cash_in_generate_payment_link_token`
257
302
 
258
- ## 📥 Request Body Parameters
303
+ With the following request you can obtain a payment resource with a link that will redirect your customer to the payment gateway where he will see a list of the different payment methods available.
304
+
305
+ ## 📥 Request Body Parameters
259
306
 
260
307
  | **Field** | **Type** | **Required** | **Description** |
261
308
  | --- | --- | --- | --- |
@@ -310,9 +357,11 @@ The table below lists the available payment methods along with their correspondi
310
357
  | `155` | Cash-in via **Transfiya Recaudo** | 43,200 |
311
358
  | `163` | Cash-in via **TPaga** | 43,200 |
312
359
  | `248` | Cash-in via **QR Interoperable** | N/A |
360
+ | `250` | Cash-in via **Llaves Bre-B** | 300 |
361
+ | `273` | Cash-in via **Tarjetas** (Débito y Crédito) | 3,600 |
313
362
 
314
363
  > ⚠ **Important:**
315
- The value provided in the `expiresIn` field **must be greater than or equal** to the minimum expiration defined for the selected payment method.
364
+ The value provided in the expiresIn field **must be greater than or equal** to the minimum expiration defined for the selected payment method. **This does not apply to dynamic keys, which always expire 5 minutes after creation.**
316
365
 
317
366
 
318
367
  ---
@@ -569,27 +618,141 @@ This is **not** an error in our platform.
569
618
 
570
619
  ---
571
620
 
572
- ## 📥 Request Body Parameters
621
+ ### **Llaves** Dinámicas **Bre-B**
622
+
623
+ For this method, the following fields are **required**:
624
+
625
+ - `cellphone`
626
+
627
+ - `docNumber`
628
+
629
+ - `docType`
630
+
631
+ - `merchantId`
632
+
633
+
634
+ You may retrieve this data through the `enrollment-data` service in the [Merchant Enrollment](https://documenter.getpostman.com/view/35146358/2sA3QpDEFA#8c9f5a18-a19a-4b8f-baba-cd7501aa29a0) section.
635
+
636
+ > ⚠ **Prerequisite:**
637
+ The merchant must complete the **Merchant Enrollment** process before using this method.
638
+ See the _Merchant Enrollment_ section for setup details.
639
+
640
+ > 🔁 **Open Resource:**
641
+ The **Llaves Dinamicas Bre-B** operates as an _open resource_, meaning the generated KEY can be used multiple times by the same user.
642
+
643
+ > ⚙️ **Technical Note — Dynamic Key Behavior:**
644
+ Dynamic keys may receive multiple money transfers due to current limitations in the Redeban system.
645
+ This behavior does not represent an error or malfunction in our platform.
646
+ **Additionally, dynamic keys have a fixed validity period of 5 minutes, and this duration cannot be modified.**
647
+
648
+
649
+ #### Behavior Details
650
+
651
+ - Redeban does not automatically invalidate a dynamic KEY after its first send.
652
+
653
+ - As a result, the same KEY may generate multiple transaction records.
654
+
655
+
656
+ #### Recommendations
657
+
658
+ - Implement **application-level validation** to detect multiple payments from the same KEY.
659
+
660
+ - Monitor dynamic KEY transactions and confirm status before marking payments as completed.
661
+
662
+ - Inform end-users to verify the success of a transaction before rescanning.
663
+
664
+
665
+ #### Future Considerations
666
+
667
+ - Stay updated with interoperability provider announcements to adjust integrations accordingly.
668
+
669
+
670
+ ``` json
671
+ "paymentMethod": {
672
+ "id": 250,
673
+ "cellphone": "string",
674
+ "docType": "string",
675
+ "docNumber": "string",
676
+ "merchantId": "string"
677
+ }
678
+
679
+ ```
680
+
681
+ ---
682
+
683
+ ### **Card Payments**
684
+
685
+ This payment method allows processing payments with debit and credit cards (Mastercard and Visa).
686
+
687
+ For this method, the following fields are **required**:
688
+
689
+ - `id`: 273
690
+
691
+ - `description`: Description of the payment detail that will be displayed in the payment link
692
+
693
+ - `external`: Defines the type of link generated
694
+
695
+
696
+ #### PaymentMethod Parameters
573
697
 
574
698
  | **Field** | **Type** | **Required** | **Description** |
575
699
  | --- | --- | --- | --- |
576
- | `amount` | number | ✅ | Value of the payment. |
577
- | `brandId` | number | | ID of the customer's white label; if one is not available, the default ID 79 is sent. |
578
- | `expiresIn` | number | | Time in seconds for the expiration of the resource or payment link. |
579
- | `paymentMethod` | object | ✅ | Object specifying the payment method and its details. |
580
- | `paymentMethod.id` | number | ✅ | ID of the selected payment method (see available payment methods). |
581
- | `reference1` | string | ✅ | Customer identifier, must be between 1 and 30 characters. |
582
- | `reference2` | object | ❌ | Object for additional information. |
583
- | `reference2.Commerce` | object | ❌ | Object for information related to the store or commerce. |
584
- | `reference2.Data` | object | | Object for information related to the conciliation of the transaction. |
585
- | `reference2.Label` | object | | Object to send information to be displayed in the payment summary. |
586
- | `returnUrl` | string | ❌ | Link that the customer will see when clicking on the back to commerce button. |
587
- | `showSummary` | boolean | ❌ | Indicates whether the RefácilPay payment summary will be shown or not (false: do not show, true: show). Default: true. |
588
- | `userMetadata` | object | ✅ | Object containing key details about the user or merchant generating the payment resource. |
589
- | `userMetadata.identifier` | string | | Unique identifier of the user or merchant generating the payment resource (max 36 characters). |
590
- | `userMetadata.ip` | string | ✅ | IP address associated with the user's identifier. Must be a valid IP address. |
591
- | `userMetadata.urlCommerce` | string | ✅ | URL that identifies the commerce. Must follow valid URL structure with http:// or https:// protocol. Maximum length: 500 characters. |
592
- | `webhookUrl` | string | ✅ | URL of the client's webhook to receive real-time payment status updates. |
700
+ | `id` | number | ✅ | Payment method ID: 273 |
701
+ | `description` | string | | Description of the payment detail that will be displayed in the payment link |
702
+ | `external` | boolean | | Defines whether to generate a payment link to send directly to the client (`true`) or to embed in an iframe (`false`) |
703
+
704
+ #### Behavior based on the `external` parameter
705
+
706
+ | **Value** | **Description** |
707
+ | --- | --- |
708
+ | `true` | Generates a payment link to send directly to the client. The client can complete the payment from their browser or mobile application. |
709
+ | `false` | Generates a link to embed in an iframe within your own website. The payment is processed within your site. |
710
+
711
+ #### Iframe Implementation Example
712
+
713
+ When `external: false`, you can embed the payment link in an iframe as follows:
714
+
715
+ ``` html
716
+
717
+ <html>
718
+ <head>
719
+ <title>Add Payment Method</title>
720
+ </head>
721
+ <body>
722
+ </div><div> src="YOUR-URL-LINK-ID"
723
+ <br></div><div> width="100%"
724
+ <br></div><div> height="600"
725
+ <br></div><div> frameborder="0"
726
+ <br></div><div> style="max-width: 500px; margin: 0 auto; display: block;"
727
+ <br></div><div> &gt;&lt;/iframe&gt;
728
+ <br></div><div>&lt;/body&gt;
729
+ <br></div><div>&lt;/html&gt;
730
+ <br></div></code></pre><blockquote>⚠️ <strong >Important:</b>
731
+ <br>You must use the <strong >complete URL</b> from the <code >url</code> field in the service response as the <code >src</code> attribute value in the iframe. The <code >src</code> attribute must contain the entire URL returned in the <code >data.url</code> field of the API response. For example, if the response contains:</blockquote>
732
+ <br><pre class=json><code><div>"data": {
733
+ <br></div><div> "url": "https://checkout.akua.la/links/lnk-07595544-cfe6-4d40-8894-0ed7cf3c28b9?sandbox=true"
734
+ <br></div><div>}
735
+ <br></div></code></pre><p >Then the iframe <code >src</code> should be:</p><pre class=html><code><div>&lt;iframe src=&quot;https://checkout.akua.la/links/lnk-07595544-cfe6-4d40-8894-0ed7cf3c28b9?sandbox=true&quot; ...&gt;&lt;/iframe&gt;
736
+ <br></div></code></pre><pre class=json><code><div>"paymentMethod": {
737
+ <br></div><div> "id": 273,
738
+ <br></div><div> "description": "Payment description",
739
+ <br></div><div> "external": true
740
+ <br></div><div>}
741
+ <br></div></code></pre><h4 >Response Example</h4><pre class=json><code><div>{
742
+ <br></div><div> "statusCode": "00",
743
+ <br></div><div> "message": "Operación exitosa.",
744
+ <br></div><div> "data": {
745
+ <br></div><div> "url": "https://checkout.akua.la/links/lnk-07595544-cfe6-4d40-8894-0ed7cf3c28b9?sandbox=true",
746
+ <br></div><div> "reference": "db205760-d228-11f0-8923-0d9b7d755dab",
747
+ <br></div><div> "resourceId": "2762357",
748
+ <br></div><div> "expiresIn": "2025-12-06T22:22:16.000Z",
749
+ <br></div><div> "urlStatusPay": "https://mf-core.refacil.co/refacilpay/resumen/79/db205760-d228-11f0-8923-0d9b7d755dab",
750
+ <br></div><div> "resourceUrlId": "1762027",
751
+ <br></div><div> "status": 1
752
+ <br></div><div> }
753
+ <br></div><div>}
754
+ <br></div></code></pre><h4 >Response Fields</h4><div ><table><tbody><tr ><th ><strong >Field</b></th><th ><strong >Description</b></th></tr><tr ><td ><div ><code >url</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Payment link URL. Can be used for direct redirection or to embed in an iframe depending on the <code >external</code> value</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >reference</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Unique transaction reference</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >resourceId</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Generated payment resource ID</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >expiresIn</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Payment link expiration date and time</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >urlStatusPay</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >URL to check the payment status</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >resourceUrlId</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >URL resource ID</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >status</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Resource status (1 = Active)</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr></tbody></table></div><div ><hr contenteditable="false" /></div><h2 >📥 Request Body Parameters</h2><div ><table><tbody><tr ><th ><strong >Field</b></th><th ><strong >Type</b></th><th ><strong >Required</b></th><th ><strong >Description</b></th></tr><tr ><td ><div ><code >amount</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >number</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Value of the payment.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >brandId</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >number</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >❌</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >ID of the customer&#x27;s white label; if one is not available, the default ID 79 is sent.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >expiresIn</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >number</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >❌</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Time in seconds for the expiration of the resource or payment link.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >paymentMethod</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >object</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Object specifying the payment method and its details.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >paymentMethod.id</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >number</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >ID of the selected payment method (see available payment methods).</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >reference1</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >string</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Customer identifier, must be between 1 and 30 characters.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >reference2</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >object</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >❌</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Object for additional information.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >reference2.Commerce</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >object</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >❌</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Object for information related to the store or commerce.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >reference2.Data</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >object</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >❌</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Object for information related to the conciliation of the transaction.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >reference2.Label</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >object</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >❌</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Object to send information to be displayed in the payment summary.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >returnUrl</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >string</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >❌</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Link that the customer will see when clicking on the back to commerce button.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >showSummary</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >boolean</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >❌</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Indicates whether the RefácilPay payment summary will be shown or not (false: do not show, true: show). Default: true.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >userMetadata</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >object</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Object containing key details about the user or merchant generating the payment resource.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >userMetadata.identifier</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >string</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >Unique identifier of the user or merchant generating the payment resource (max 36 characters).</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >userMetadata.ip</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >string</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >IP address associated with the user&#x27;s identifier. Must be a valid IP address.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >userMetadata.urlCommerce</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >string</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >URL that identifies the commerce. Must follow valid URL structure with http:// or https:// protocol. Maximum length: 500 characters.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr><tr ><td ><div ><code >webhookUrl</code></div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >string</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >✅</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td><td ><div >URL of the client&#x27;s webhook to receive real-time payment status updates.</div><div contenteditable="false"><div ><div><div ></div></div></div><div ></div></div></td></tr></tbody></table></div><p ></p></x-turndown>
755
+ ```
593
756
 
594
757
  **Parámetros:**
595
758
 
@@ -609,7 +772,23 @@ This is **not** an error in our platform.
609
772
 
610
773
  ### `cash_out_generate_withdraw_method_token`
611
774
 
612
- This endpoint allows you to **generate withdrawal (cash-out) requests** through the available payout methods.
775
+ This service allows you to generate withdrawal requests through the enabled dispersion means.
776
+
777
+ > 🔐 Authentication
778
+
779
+
780
+ All requests must include the following headers:
781
+
782
+ | **Header** | **Description** | **Example** |
783
+ | --- | --- | --- |
784
+ | Authorization | Bearer token generated by the authentication service. | Bearer eyJhbGciOiJIUzI1NiIs... |
785
+ | x-transaction-token | Transactional token specific to the service. | 9b48edde-652d-11ed-984e-02c840fe**** |
786
+ | Content-Type | Content type of the request body. | application/json |
787
+
788
+ > Important fields within the requests:
789
+ Webhook: This is the url of the client's webhook to where our service sends the transaction status and transaction detail information.
790
+
791
+ This endpoint allows you to **generate withdrawal (cash-out) requests** through the available payout methods.
613
792
 
614
793
  ---
615
794
 
@@ -701,7 +880,23 @@ The `key` field must contain a valid Bre-B account alias in the format `@USERNAM
701
880
 
702
881
  ### `customer_getbalance`
703
882
 
704
- This service allows you to consult the balance exchange and the dispersion exchange associated with the client's identifier.
883
+ This service allows you to generate withdrawal requests through the enabled dispersion means.
884
+
885
+ > 🔐 Authentication
886
+
887
+
888
+ All requests must include the following headers:
889
+
890
+ | **Header** | **Description** | **Example** |
891
+ | --- | --- | --- |
892
+ | Authorization | Bearer token generated by the authentication service. | Bearer eyJhbGciOiJIUzI1NiIs... |
893
+ | x-transaction-token | Transactional token specific to the service. | 9b48edde-652d-11ed-984e-02c840fe**** |
894
+ | Content-Type | Content type of the request body. | application/json |
895
+
896
+ > Important fields within the requests:
897
+ Webhook: This is the url of the client's webhook to where our service sends the transaction status and transaction detail information.
898
+
899
+ This service allows you to consult the balance exchange and the dispersion exchange associated with the client's identifier.
705
900
 
706
901
  > To use the service, an authentication token is required, which must be sent as an Authorization header.
707
902
 
@@ -719,11 +914,27 @@ Body
719
914
 
720
915
  | Name | Type | Description |
721
916
  | --- | --- | --- |
722
- | userId | null | Campo del body: userId |
917
+ | userId | number | Campo del body: userId |
723
918
 
724
919
  ### `payment_transfiya_banks`
725
920
 
726
- This service allows you to consult the balance exchange and the dispersion exchange associated with the client's identifier.
921
+ This service allows you to generate withdrawal requests through the enabled dispersion means.
922
+
923
+ > 🔐 Authentication
924
+
925
+
926
+ All requests must include the following headers:
927
+
928
+ | **Header** | **Description** | **Example** |
929
+ | --- | --- | --- |
930
+ | Authorization | Bearer token generated by the authentication service. | Bearer eyJhbGciOiJIUzI1NiIs... |
931
+ | x-transaction-token | Transactional token specific to the service. | 9b48edde-652d-11ed-984e-02c840fe**** |
932
+ | Content-Type | Content type of the request body. | application/json |
933
+
934
+ > Important fields within the requests:
935
+ Webhook: This is the url of the client's webhook to where our service sends the transaction status and transaction detail information.
936
+
937
+ This service allows you to consult the balance exchange and the dispersion exchange associated with the client's identifier.
727
938
 
728
939
  > To use the service, an authentication token is required, which must be sent as an Authorization header.
729
940
 
@@ -745,7 +956,9 @@ Body
745
956
 
746
957
  ### `payment_status`
747
958
 
748
- This service allows you to check the status of a transaction made, for this you must have the _reference_ data that returned the response when generating any payment resource.
959
+ These services will allow us to validate the status of a transaction and consult the characteristics of a payment method.
960
+
961
+ This service allows you to check the status of a transaction made, for this you must have the _reference_ data that returned the response when generating any payment resource.
749
962
 
750
963
  In the response you will get the _status_ _id_ which will mean the following
751
964
 
@@ -778,7 +991,9 @@ Body
778
991
 
779
992
  ### `payment_customer_reference_status`
780
993
 
781
- ## 🔍 Check Transaction by Customer Reference
994
+ These services will allow us to validate the status of a transaction and consult the characteristics of a payment method.
995
+
996
+ ## 🔍 Check Transaction by Customer Reference
782
997
 
783
998
  This endpoint allows **API Pay** users to query the status of a transaction using only the `customerReference` value originally provided when generating a resource as `reference1` through any of the following endpoints:
784
999
 
@@ -829,7 +1044,9 @@ This endpoint **requires** a valid Bearer Token in the request headers. Requests
829
1044
 
830
1045
  ### `payment_features`
831
1046
 
832
- This service allows you to consult the necessary characteristics of a payment method to successfully generate a resource. For example, obtain the PSE banks
1047
+ These services will allow us to validate the status of a transaction and consult the characteristics of a payment method.
1048
+
1049
+ This service allows you to consult the necessary characteristics of a payment method to successfully generate a resource. For example, obtain the PSE banks
833
1050
 
834
1051
  Headers
835
1052
 
@@ -848,7 +1065,109 @@ Body
848
1065
 
849
1066
  ### `webhook_notify`
850
1067
 
851
- Body
1068
+ This component must be built by the merchant to receive the transaction notification data.
1069
+
1070
+ You must take into account the following steps:
1071
+
1072
+ **1.**You must create a Webhook without authentication.
1073
+
1074
+ **2\. The** Url created will be the one you send in all requests when generating the payment resource in the “_WebhookUrl_” field. It is important to keep in mind that if for some reason you change the webhook you must modify the urls that you send in each generated resource.
1075
+
1076
+ <img src="https://content.pstmn.io/10fdac74-e60a-41f2-b9ff-8b5777a7afc0/aW1hZ2UucG5n" width="322" height="117">
1077
+
1078
+ A signature must be generated to validate the integrity of the messages sent to the webhook and the fields must be concatenated in the following way:
1079
+
1080
+ _**HASH_KEY**_ _\=This data must be requested to the support area_.
1081
+
1082
+ _**let signature**_ _\= referenceId-resourceId-amount-updatedAt-HASH_KEY; signature = crypto.createHmac(“sha1”, HASH_KEY).update(signature).digest(“hex”);_
1083
+
1084
+ Example of a response that will reach your Webhook
1085
+
1086
+ **Response**
1087
+
1088
+ ``` json
1089
+ {
1090
+ "realAmount": 20000,
1091
+ "amount": 19405,
1092
+ "cost": "$595.00",
1093
+ "referenceId": "38**",
1094
+ "moduleId": 9,
1095
+ "productId": 117,
1096
+ "referenceKey": "3538d790-ae14-11ed-be2d-4d9b1bc987e6",
1097
+ "paymentMethod": "PSE",
1098
+ "userId": 189067,
1099
+ "resourceId": "10024**",
1100
+ "updatedAt": "2023-02-16 11:11:55",
1101
+ "providerId": 8,
1102
+ "providerReference": "3122330",
1103
+ "reference1": "435sdfsd**",
1104
+ "reference2": {
1105
+ "Label": {
1106
+ "Information": "Por seguridad algunos datos se encuentran cifrados",
1107
+ "Name": "L**A",
1108
+ "Email": "l**am@**",
1109
+ "CellPhone": "3**4",
1110
+ "DocumentType": "C",
1111
+ "DocumentNumber": "52019859",
1112
+ "Description": "Abono",
1113
+ "Commerce": "Skandia",
1114
+ "Reference1": null,
1115
+ "Reference2": null,
1116
+ "Reference3": null
1117
+ },
1118
+ "Data": {
1119
+ "ConciliationCode": "FCO",
1120
+ "ConciliationContract": "1277840",
1121
+ "DocType": "N",
1122
+ "DocNumber": "800194363"
1123
+ },
1124
+ "returnUrl": "https://www.google.com/"
1125
+ },
1126
+ "bankId": "1022",
1127
+ "bankName": "BANCO UNION COLOMBIANO",
1128
+ "status": 2,
1129
+ "transfiyaStatus": "PENDING",
1130
+ "sign": "aa2f472ad7e84524a02d1716b56fc16ec2a87***",
1131
+ "error": {
1132
+ "code": "20-07A",
1133
+ "message": "Error técnico en Lambda"
1134
+ }
1135
+ }
1136
+
1137
+ ```
1138
+
1139
+ - Within the webhook an **"error** ” object is sent that shows the error _**code**_ and _**message**_ associated with rejections received from the supplier/bank or cancellation of the transaction when the generation of the resource is not completed.
1140
+
1141
+ - The error codes are printed when the transaction is _**Rejected**_ by the bank or when it is _**Cancelled**_ because the resource generation could not be completed.
1142
+
1143
+
1144
+ **Notification for Withdraw**
1145
+
1146
+ For withdraws, a notification will be sent to the webhook provided in the application. This notification will follow the structure mentioned above and will additionally include the withdrawal data. An example is provided below:
1147
+
1148
+ ``` json
1149
+ {
1150
+ ..."webhook",
1151
+ "withdraw": {
1152
+ "id": "1403**",
1153
+ "transactionId": "5690**",
1154
+ "userId": 189067,
1155
+ "providerReference": "3122330",
1156
+ "accountNumber": "3051000002",
1157
+ "accountId": null,
1158
+ "createdAt": "2023-02-16 11:10:55",
1159
+ "updatedAt": "2023-02-16 11:12:55",
1160
+ "deletedAt": null,
1161
+ "infoReference": "435sdfsd**",
1162
+ "observation": null
1163
+ },
1164
+ }
1165
+
1166
+ ```
1167
+
1168
+ > _**The implementation of the webhook by the API user is mandatory. The reception and storage of the information for the reconciliation process by the API user with RefácilPay must be ensured.**__**This item will be evaluated during the certification process and will be mandatory for the transition to Production.**_
1169
+
1170
+ Body
852
1171
 
853
1172
 
854
1173
 
@@ -875,15 +1194,153 @@ Body
875
1194
 
876
1195
  ### `merchant_enrollment`
877
1196
 
878
- This endpoint initiates the merchant enrollment process required to use the QR interoperable payment method. Once the request is made, the enrollment process may take up to **7 minutes** to complete.
1197
+ This service allows merchants to enroll for the use of the QR interoperable payment method and key creation.
1198
+
1199
+ To use the service, an authentication token is required and must be sent as an `Authorization` header.
1200
+
1201
+ ---
1202
+
1203
+ ### **Enrollment Process**
1204
+
1205
+ 1. **Merchant Enrollment**
1206
+
1207
+ - Initiates the enrollment process. The enrollment can take up to **7 minutes** to complete.
1208
+
1209
+ 2. **Retrieve Enrollment Data**
1210
+
1211
+ - Retrieves the merchant’s enrollment information once the process is completed.
1212
+
1213
+
1214
+ ---
1215
+
1216
+ ### **Merchant Enrollment Statuses**
1217
+
1218
+ - **`approved`**
1219
+
1220
+ The merchant has been approved and is authorized to generate QR codes.
1221
+
1222
+ - **`enrolled_other`**
1223
+
1224
+ The merchant is already enrolled with another entity. To proceed:
1225
+
1226
+ - Contact the commercial representative and request unenrollment from the current entity.
1227
+
1228
+ - Submit a letter signed by the legal representative.
1229
+
1230
+ - Be aware that this process may take up to **5 business days**.
1231
+
1232
+ The commercial representative will provide guidance throughout the process.
1233
+
1234
+ - **`rejected`**
1235
+
1236
+ The merchant has been rejected. Please contact your commercial representative for further details.
1237
+
1238
+ - **`pending`**
1239
+
1240
+ The enrollment is in progress. The query may take a few minutes. If a final status is not received shortly, contact **RefacilPay support** to verify the situation.
1241
+
1242
+ - **`not_started`**
1243
+
1244
+ No enrollment process has been initiated for the requested merchant.
1245
+
1246
+
1247
+ ---
1248
+
1249
+ ### **Important Note on the "cellphone" Field in the Enrollment Process**
1250
+
1251
+ During the merchant creation flow for the QR Interoperable product, the API retrieves the merchant's registered information from the system. However, for the **"cellphone number"** field, the **Refacil** system automatically replaces the merchant’s actual phone number with a **generic alias number**.
1252
+
1253
+ This behavior follows technical and operational requirements from the provider, as the real phone number may already exist in the provider’s databases, potentially causing integration conflicts.
1254
+
1255
+ To avoid these issues, a randomly generated alias is used as a placeholder. This alias is **exclusive to this product** and does **not affect** the merchant’s operation in other services.
1256
+
1257
+ This endpoint initiates the merchant enrollment process required to use the QR interoperable payment method. Once the request is made, the enrollment process may take up to **7 minutes** to complete.
879
1258
 
880
1259
  ### `merchant_enrollment_data`
881
1260
 
882
- This endpoint retrieves the merchant's enrollment details after the enrollment process has been completed. It provides necessary information to use the QR interoperable payment method.
1261
+ This service allows merchants to enroll for the use of the QR interoperable payment method and key creation.
1262
+
1263
+ To use the service, an authentication token is required and must be sent as an `Authorization` header.
1264
+
1265
+ ---
1266
+
1267
+ ### **Enrollment Process**
1268
+
1269
+ 1. **Merchant Enrollment**
1270
+
1271
+ - Initiates the enrollment process. The enrollment can take up to **7 minutes** to complete.
1272
+
1273
+ 2. **Retrieve Enrollment Data**
1274
+
1275
+ - Retrieves the merchant’s enrollment information once the process is completed.
1276
+
1277
+
1278
+ ---
1279
+
1280
+ ### **Merchant Enrollment Statuses**
1281
+
1282
+ - **`approved`**
1283
+
1284
+ The merchant has been approved and is authorized to generate QR codes.
1285
+
1286
+ - **`enrolled_other`**
1287
+
1288
+ The merchant is already enrolled with another entity. To proceed:
1289
+
1290
+ - Contact the commercial representative and request unenrollment from the current entity.
1291
+
1292
+ - Submit a letter signed by the legal representative.
1293
+
1294
+ - Be aware that this process may take up to **5 business days**.
1295
+
1296
+ The commercial representative will provide guidance throughout the process.
1297
+
1298
+ - **`rejected`**
1299
+
1300
+ The merchant has been rejected. Please contact your commercial representative for further details.
1301
+
1302
+ - **`pending`**
1303
+
1304
+ The enrollment is in progress. The query may take a few minutes. If a final status is not received shortly, contact **RefacilPay support** to verify the situation.
1305
+
1306
+ - **`not_started`**
1307
+
1308
+ No enrollment process has been initiated for the requested merchant.
1309
+
1310
+
1311
+ ---
1312
+
1313
+ ### **Important Note on the "cellphone" Field in the Enrollment Process**
1314
+
1315
+ During the merchant creation flow for the QR Interoperable product, the API retrieves the merchant's registered information from the system. However, for the **"cellphone number"** field, the **Refacil** system automatically replaces the merchant’s actual phone number with a **generic alias number**.
1316
+
1317
+ This behavior follows technical and operational requirements from the provider, as the real phone number may already exist in the provider’s databases, potentially causing integration conflicts.
1318
+
1319
+ To avoid these issues, a randomly generated alias is used as a placeholder. This alias is **exclusive to this product** and does **not affect** the merchant’s operation in other services.
1320
+
1321
+ This endpoint retrieves the merchant's enrollment details after the enrollment process has been completed. It provides necessary information to use the QR interoperable payment method.
883
1322
 
884
1323
  ### `merchant_key_create`
885
1324
 
886
- This endpoint will allow you to create 4 types of keys: `alias`, `email`, `cellphone`, and `document`.
1325
+ These services allow merchants to create and manage their Bre-b keys.
1326
+
1327
+ To use these services, an authentication token is required, which must be sent as an authorization header.
1328
+
1329
+ ---
1330
+
1331
+ ⚠ **Important**: Before using this payment method, the merchant enrollment process must be completed. Detailed instructions can be found in the **Merchant Enrollment** section.
1332
+
1333
+ **🔄 Open resource:** The creation of a key functions as an open resource, which means that once the Bre-b key has been generated, the user can receive multiple transactions through it.
1334
+
1335
+ ---
1336
+
1337
+ ### Recommendations
1338
+
1339
+ - API users are strongly encouraged to **implement additional application-level validations** to detect, identify, and manage multiple payment records originating from a Bre-b key.
1340
+
1341
+ - **Actively monitor transactions** originating from generated keys and validate the status of operations before confirming payment to the end user.
1342
+
1343
+ This endpoint will allow you to create 4 types of keys: `alias`, `email`, `cellphone`, and `document`.
887
1344
 
888
1345
  ⚠ **Important**:
889
1346
 
@@ -922,7 +1379,25 @@ Body
922
1379
 
923
1380
  ### `merchant_key_cancel`
924
1381
 
925
- This endpoint allows you to cancel an existing key, which will then become inactive and unable to receive transactions.
1382
+ These services allow merchants to create and manage their Bre-b keys.
1383
+
1384
+ To use these services, an authentication token is required, which must be sent as an authorization header.
1385
+
1386
+ ---
1387
+
1388
+ ⚠ **Important**: Before using this payment method, the merchant enrollment process must be completed. Detailed instructions can be found in the **Merchant Enrollment** section.
1389
+
1390
+ **🔄 Open resource:** The creation of a key functions as an open resource, which means that once the Bre-b key has been generated, the user can receive multiple transactions through it.
1391
+
1392
+ ---
1393
+
1394
+ ### Recommendations
1395
+
1396
+ - API users are strongly encouraged to **implement additional application-level validations** to detect, identify, and manage multiple payment records originating from a Bre-b key.
1397
+
1398
+ - **Actively monitor transactions** originating from generated keys and validate the status of operations before confirming payment to the end user.
1399
+
1400
+ This endpoint allows you to cancel an existing key, which will then become inactive and unable to receive transactions.
926
1401
 
927
1402
  Headers
928
1403
 
@@ -944,7 +1419,25 @@ Body
944
1419
 
945
1420
  ### `merchant_key_generate_otp`
946
1421
 
947
- This endpoint will allow you to generate and send an OTP. It is only permitted and necessary for `email` and `cellphone` keys. This OTP will be sent to its corresponding destination.
1422
+ These services allow merchants to create and manage their Bre-b keys.
1423
+
1424
+ To use these services, an authentication token is required, which must be sent as an authorization header.
1425
+
1426
+ ---
1427
+
1428
+ ⚠ **Important**: Before using this payment method, the merchant enrollment process must be completed. Detailed instructions can be found in the **Merchant Enrollment** section.
1429
+
1430
+ **🔄 Open resource:** The creation of a key functions as an open resource, which means that once the Bre-b key has been generated, the user can receive multiple transactions through it.
1431
+
1432
+ ---
1433
+
1434
+ ### Recommendations
1435
+
1436
+ - API users are strongly encouraged to **implement additional application-level validations** to detect, identify, and manage multiple payment records originating from a Bre-b key.
1437
+
1438
+ - **Actively monitor transactions** originating from generated keys and validate the status of operations before confirming payment to the end user.
1439
+
1440
+ This endpoint will allow you to generate and send an OTP. It is only permitted and necessary for `email` and `cellphone` keys. This OTP will be sent to its corresponding destination.
948
1441
 
949
1442
  Headers
950
1443
 
@@ -964,7 +1457,25 @@ Body
964
1457
 
965
1458
  ### `merchant_key_get_keys`
966
1459
 
967
- This endpoint allows you to obtain all keys created and in active status that belong to the merchant.
1460
+ These services allow merchants to create and manage their Bre-b keys.
1461
+
1462
+ To use these services, an authentication token is required, which must be sent as an authorization header.
1463
+
1464
+ ---
1465
+
1466
+ ⚠ **Important**: Before using this payment method, the merchant enrollment process must be completed. Detailed instructions can be found in the **Merchant Enrollment** section.
1467
+
1468
+ **🔄 Open resource:** The creation of a key functions as an open resource, which means that once the Bre-b key has been generated, the user can receive multiple transactions through it.
1469
+
1470
+ ---
1471
+
1472
+ ### Recommendations
1473
+
1474
+ - API users are strongly encouraged to **implement additional application-level validations** to detect, identify, and manage multiple payment records originating from a Bre-b key.
1475
+
1476
+ - **Actively monitor transactions** originating from generated keys and validate the status of operations before confirming payment to the end user.
1477
+
1478
+ This endpoint allows you to obtain all keys created and in active status that belong to the merchant.
968
1479
 
969
1480
 
970
1481
  ## 📝 Logs