Use HTTPRequestBatcher for Gov.UK Pay API calls#2366
Draft
Use HTTPRequestBatcher for Gov.UK Pay API calls#2366
Conversation
https://eaflood.atlassian.net/browse/IWTF-4598 Modify the recurring payments processor to route all Gov.UK Pay API interactions (payment creation and payment status checks) through an HTTPRequestBatcher instance. This introduces configurable batch size and inter-batch delay via environment variables (RCP_BATCHER_BATCH_SIZE, RCP_BATCHER_DELAY_MS), enabling rate-limit-aware batching with automatic 429 retry handling. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use an HTTPRequestBatcher instance for payment creation and payment status check requests so that all Gov.UK Pay interactions are batched and benefit from automatic 429 back-pressure handling. - Replace sendPayment/getPaymentStatus with two HTTPRequestBatcher instances (one per phase: creation, status-check). - Add govPayRecurringHeaders() helper and createBatcher() factory. - Batch size and inter-batch delay are configurable via env vars: RCP_BATCHER_BATCH_SIZE (default 50) and RCP_BATCHER_DELAY_MS (default 1000). - Correlate creation responses via body.reference; status responses via response.url path segment. - Rewrite tests to mock HTTPRequestBatcher; 100% code coverage. https://eaflood.atlassian.net/browse/IWTF-4598 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




https://eaflood.atlassian.net/browse/IWTF-4598
Modify the recurring payments processor to route all Gov.UK Pay
API interactions (payment creation and payment status checks)
through an HTTPRequestBatcher instance. This introduces
configurable batch size and inter-batch delay via environment
variables (RCP_BATCHER_BATCH_SIZE, RCP_BATCHER_DELAY_MS), enabling
rate-limit-aware batching with automatic 429 retry handling.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com