Overview
Complete both scenarios in the test environment before moving to production: report payees and payments for a quarter, then correct one of them. See Testing for the test environment and the practices shared by every report.Test Scenarios
- Report Payments
- Correct Reported Payee
Create a submission for a quarter and country, push your payees, attach their payments, then submit.
Test Case 1: Create Submission
Test Case 1: Create Submission
Objective: Create a new submission for a reporting period and country.Request: Whitelist the sending IP addresses first. They are listed under Webhook. Test whichever route you plan to use in production.Expected Response:
POST /reports/cesop/v1/submissionsRequest Body:webhookUrl is optional. Include it and the connector calls it with the final verdict once the submission finishes processing:HTTP 201 CreatedStore the
submissionId. It scopes every call in Test Cases 2 to 5.Test Case 2: Push Payees
Test Case 2: Push Payees
Objective: Add the payees you report for the quarter. Call this as many times as you need.Request: Expected Response:
POST /reports/cesop/v1/submissions/{submissionId}/payeesRequest Body:clientPayeeId is your own key. It must be unique within the submission, and it is how you attach payments and update or delete the payee later. Send the optional Idempotency-Key header so a retry returns the original response instead of pushing the batch twice.HTTP 201 CreatedTest Case 3: Push Payments
Test Case 3: Push Payments
Objective: Attach payments to a payee you pushed.Request: Expected Response:
POST /reports/cesop/v1/submissions/{submissionId}/paymentsRequest Body:HTTP 201 CreatedThe second entry is a refund:
"refund": true with refundedTransactionId naming the transaction it reverses.Test Case 4: Submit
Test Case 4: Submit
Objective: Hand the submission off to be reported to the regulatory authority.Request:
POST /reports/cesop/v1/submissions/{submissionId}:submitNo request body.Expected Response: HTTP 200 OKTest Case 5: Track Progress
Test Case 5: Track Progress
Objective: Follow the submission until the regulatory authority accepts it.Request: Poll until
Use these calls instead of the webhook, or alongside it whenever you want to check a submission by hand.
GET /reports/cesop/v1/submissions/{submissionId}/statusExpected Response: HTTP 200 OKstatus becomes REPORTEDTo check whether any payees failed CESOP validation, call GET /reports/cesop/v1/submissions/{submissionId}/payees/errors.