Flow of Batch File Submission and Transaction Processing {#batch-intro-basic-flow}
==================================================================================

This sequence summarizes the flow of offline transaction file submission. IMPORTANT

> This guide covers two methods for uploading batch files. In this task list, **Task 2** pertains to batch file uploads performed at the ` Cybersource ` ` Business Center `. **Task 3** followed by **Task 4** pertains to batch file uploads initiated using the ` Cybersource ` REST API .

1. **Create a CSV-formatted file of payment transaction requests.** For details, see these topics:
   * [Create a Batch File](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-files-managing/batch-files-managing-batch-create.md "")
   * [Example Batch Files](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-files-managing/batch-files-managing-batch-examples.md "")
2. **To upload the batched transaction requests at the `Cybersource` `Business Center`:**
   1. [Cybersource Business Center: Uploading a Batch File](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-ebc.md "").
   2. Go to **task 5** to check that the batch file validated successfully.
3. **To set up a secure REST API connection by implementing a two-way SSL method to securely encrypt and authenticate API requests:**
   1. Make sure that prerequisites are met as described in [Requirements for Setting Up a REST API Endpoint Connection](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-rest-connection-setup/batch-uploading-rest-connection-setup-requirements.md "").
   2. [Generate and Install a Private Key and Client Certificate on a Client Machine](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-rest-connection-setup/batch-uploading-rest-gen-inst-priv-key-and-c-cert.md "").
   3. [Exchange the Client and Server Public Certificates](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-rest-connection-setup/batch-uploading-rest-exch-c-and-s-certs.md "").
   4. [Install and Use a Server Certificate on a Client Machine](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-rest-connection-setup/batch-uploading-rest-inst-use-s-cert.md "").
4. **To encrypt the batch file and upload it to `Cybersource` using the REST API:**
   1. Make sure that prerequisites are met as described in [Requirements for Encrypting and Uploading a Batch File Using the REST API](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-rest-api/batch-uploading-rest-api-requirements.md "").
   2. [Download Java Sample Code and Create Your Java App](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-rest-api/batch-uploading-rest-api-get-java-sdk.md "").
   3. [Encrypt and Upload the Batch File](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-rest-api/batch-uploading-rest-api-task.md "").
   4. [Check the Validation and Processing Results](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-uploading-rest-api/batch-uploading-rest-api-results.md "").
   5. Go to **task 5** to check that the batch file validated successfully.
5. **Check whether your batch file was validated successfully** . Results are available through an optional email notification and in downloadable file validation results files.
   * [Email Notification for a Failed Batch Validation](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-results-email-notifs/batch-results-email-notifs-failed-batch.md "")
   * [Email Notification for a Successful Batch Validation](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-results-email-notifs/batch-results-email-notifs-successful-batch.md "")
   * [Viewing the Results of Batch File Validation](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-results-file-response.md "")
6. **If the batch file contains an error,** `Cybersource` does not submit any of the transaction requests for processing. Correct the error and submit the updated batch file.
7. **Check the transaction processing results.** Results are available through an optional email notification, in downloadable transaction processing results files, and in downloadable reports.
   * [Email Notification for Successful Transaction Processing](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-results-email-notifs/batch-results-email-notifs-successful-txns.md "")
   * [Viewing the Results of Transaction Processing](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-results-txns-response.md "")
   * [Viewing the Transaction Request Report](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-results-txns-rpt-request.md "")

* [Viewing the Batch Submission Detail Report](/docs/cybs/en-us/batch/user/all/rest/batch-upload/batch-results-txns-rpt-submission-details.md "")

