{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml","api-docs-apis/openapi.yaml":"api-docs-apis/openapi.yaml"},"props":{"metadata":{"markdoc":{"tagList":["replay-openapi"]},"type":"markdown"},"seo":{"title":"Reefpay Docs","description":"Reefpay is the groundbreaking payment gateway that lets you integrate with the future of payments."},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"batches-and-settlement","__idx":0},"children":["Batches and settlement"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Approving a card does not move money. It reserves it. Funds move when the"," ","transaction settles, and settlement happens in batches — a day's transactions"," ","sent to the processor together."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["That is why ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_settled"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," on a transaction you just approved, and why"," ","your bank deposit does not match any single payment."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-a-batch-forms","__idx":1},"children":["How a batch forms"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A transaction joins a batch when its settlement request reaches the processor."," ","Until then ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["batch_id"]}," is null."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A batch has no identifier until it exists."]}," You cannot look up \"today's batch\""," ","before transactions have been added to it, and a fresh sale with a null"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["batch_id"]}," is normal rather than a fault."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Batches close on a schedule configured per merchant account. Once a batch closes,"," ","its transactions are submitted for funding and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_settled"]}," becomes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"closing-a-batch-yourself","__idx":2},"children":["Closing a batch yourself"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Most merchants never need this: the schedule handles it. Close a batch by hand"," ","when you need funds submitted before the next scheduled close, or when you are"," ","testing the settlement path."]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"api-docs-apis/openapi.yaml","operationId":"closeBatch","parameters":{},"options":{},"environments":{}},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Four fields are required:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Whose batch to close"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processor"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Tsys"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Vericheck"]}," — ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["case-sensitive"]},", see below"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["batch_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Credit"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Debit"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["created_at"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 timestamp of when the batch was created"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["batch_id"]}," is optional, and leaving it out is not a no-op."," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Omitting it closes every open batch"]}," for that client."," ","Send it when you mean one specific batch."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"processor-spelling-is-case-sensitive-here","__idx":3},"children":["Processor spelling is case-sensitive here"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This catches almost everyone."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Where"},"children":["Where"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Spelling"},"children":["Spelling"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processor"]}," in a request body"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Tsys"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Vericheck"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integration"]}," as a report filter"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TSYS"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VERICHECK"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integrations"]}," on a transaction response"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TSYS"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VERICHECK"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sending ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TSYS"]}," in the body of a batch close returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]},". It is the same"," ","processor spelled two ways depending on where the word appears, and the gateway"," ","does not normalize it."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"after-the-batch-closes","__idx":4},"children":["After the batch closes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Settlement is not instant. The processor funds the merchant account on its own"," ","schedule, typically one to two business days after a batch closes."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For ACH, closing a batch is also where ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["returns start to become possible."]}," A"," ","return can arrive days after settlement. See"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/payments/accept-an-ach-payment"},"children":["Accept an ACH payment"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":5},"children":["Next steps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/after-the-payment/batch-reports"},"children":["Batch reports"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/after-the-payment/transaction-lifecycle"},"children":["Transaction lifecycle"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/after-the-payment/cancel-void-and-refund"},"children":["Cancel, void, and refund"]}]}]}]},"headings":[{"value":"Batches and settlement","id":"batches-and-settlement","depth":1},{"value":"How a batch forms","id":"how-a-batch-forms","depth":2},{"value":"Closing a batch yourself","id":"closing-a-batch-yourself","depth":2},{"value":"Processor spelling is case-sensitive here","id":"processor-spelling-is-case-sensitive-here","depth":2},{"value":"After the batch closes","id":"after-the-batch-closes","depth":2},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"title":"Batches and settlement","shortTitle":"Batches","intro":"Transactions settle in batches, not one at a time. This is how a batch forms, when it closes, and how to close one yourself.","type":"how-to","seo":{"title":""}},"lastModified":"2026-09-17T09:08:13.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/after-the-payment/batches-and-settlement","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}