# Test Cases To test the integration of any clients, it is recommended to use the Demonstration Bank or DemoBank and the following test cases. ## Successful Payment In this case, the DemoBank will simulate a successful transfer. For this, the following data must be used: | Field | Value | | --- | --- | | RUT | Any valid RUT, e.g., 11111111-1 | | Password | 1234 | | Source Account | Any of the displayed ones | | Coordinates | 11 22 33 | The result at the end of the process will be a JSON object with the following information: ```json { "operationId": "", "exitTitle": "Success, you transferred!", "exitMessage": "We will send the payment receipt to your email", "exitUrl": "https://khipu.com/payment/end/", "result": "OK", "events": [ { "name": "start", "type": "navigate", "timestamp": "2024-12-01T20:06:30Z" }, ... { "name": "succeeded", "type": "unknown", "timestamp": "2024-12-01T20:06:50Z" } ] } ``` ## Payment with Error In this case, the DemoBank will simulate a transfer that fails due to a bank error. For this, the following data must be used: | Field | Value | | --- | --- | | RUT | Any valid RUT, e.g., 11111111-1 | | Password | 1234 | | Source Account | Any of the displayed ones | | Coordinates | 99 99 99 | The result at the end of the process will be a JSON object with the following information: ```json { "operationId": "", "exitTitle": "The transfer could not be completed", "exitMessage": "DemoBank reports:\n\nError executing transfer", "exitUrl": "", "result": "ERROR", "events": [ { "name": "start", "type": "navigate", "timestamp": "2024-12-01T20:09:06Z" }, ... { "name": "alert_error_ejecutando_transferencia", "type": "error", "timestamp": "2024-12-01T20:09:30Z" } ], "failureReason": "TASK_FINISHED" } ``` ## Payment with Uncertain Result In this case, the DemoBank will simulate a transfer where the bank does not provide a clear response about the success or failure. For this, the following data must be used: | Field | Value | | --- | --- | | RUT | Any valid RUT, e.g., 11111111-1 | | Password | 1234 | | Source Account | Any of the displayed ones | | Coordinates | 66 66 66 | The result at the end of the process will be a JSON object with the following information: ```json { "operationId": "", "exitTitle": "Your transfer is not yet credited", "exitMessage": "Your bank has not confirmed the transfer, but it might have been completed. Please check your statement before attempting the payment again", "exitUrl": "https://khipu.com/payment/end/", "result": "WARNING", "events": [ { "name": "start", "type": "navigate", "timestamp": "2024-12-01T20:11:50Z" }, ... { "name": "transfer_click_submit_coordinates", "type": "execute", "timestamp": "2024-12-01T20:12:11Z" } ], "failureReason": "TASK_DUMPED" } ``` ## Payment to Be Continued by Another Payer In this case, the DemoBank will simulate a transfer where the bank requests another signer to continue authorizing the payment. In this case, the `continueUrl` must be sent to the next signer to proceed. For this, the following data must be used: | Field | Value | | --- | --- | | RUT | Any valid RUT, e.g., 11111111-1 | | Password | 1234 | | Source Account | Any of the displayed ones | | Coordinates | 11 21 31 | The result at the end of the process will be a JSON object with the following information: ```json { "operationId": "", "exitTitle": "This payment requires third-party authorization", "exitMessage": "The payment requires approval", "exitUrl": "https://khipu.com/payment/end/", "continueUrl": "https://khipu.com/payment/info/", "result": "CONTINUE", "events": [ { "name": "start", "type": "navigate", "timestamp": "2024-12-01T20:15:00Z" }, ... { "name": "succeeded", "type": "unknown", "timestamp": "2024-12-01T20:15:18Z" } ] } ```