# Payment Processors

Peach allows clients to bring their own/partner bank to process ACH payments.
If configured, the Peach system will create NACHA files and upload them to the provided destination (SFTP).
The Peach system will download NACHA return files from the same destination. Make sure you coordinate this setup with the Peach team.

NACHA requires bank accounts to be verified. If you are using Peach system to process ACH payments, borrowers have two options to verify their bank account:
1. Connect their online bank account via Plaid.
2. Trigger micro-deposits and verify amounts.

Please note the following logic of how Peach system selects payment processor for micro-deposits. A payment method is associated with a borrower
object instead of a specific loan because the same method can be used to pay multiple loans.
- If you have only one loan type and one payment processor with `default=true`, the system will use the `default=true` payment processor to initiate micro-deposits.
- If you have more than one loan type and one payment processor with `default=true`, the system will use the `default=true` payment processor to initiate micro-deposits.
- If you have have more than one loan type and more than one payment processor:
    - You can associate a specific payment processor with a loan type.
    - If a borrower has one or more loans in status [`pending`, `originated`, `active`, `frozen`, `accelerated`, `chargedOff`] of ONE loan type only,
      the system will use that loan type's ACH payment processor for micro-deposits. If the loan type doesn't have an ACH payment processor
      associated, the system will use the `default=true` processor to initiate micro-deposits.
    - If a borrower has one or more loans in status [`pending`, `originated`, `active`, `frozen`, `accelerated`, `chargedOff`] of more than one
      loan type, the system will use the `default=true` processor to initiate micro-deposits.


## Get payment processors

 - [GET /payment-processors](https://docs.peachfinance.com/api-docs/api-public/payment-processors/peach.payment_processors.handlers.get_payment_processors.md)

## Create payment processor

 - [POST /payment-processors](https://docs.peachfinance.com/api-docs/api-public/payment-processors/peach.payment_processors.handlers.create_payment_processor.md)

## Delete payment processor

 - [DELETE /payment-processors/{paymentProcessorId}](https://docs.peachfinance.com/api-docs/api-public/payment-processors/peach.payment_processors.handlers.delete_payment_processor.md)

## Get payment processor

 - [GET /payment-processors/{paymentProcessorId}](https://docs.peachfinance.com/api-docs/api-public/payment-processors/peach.payment_processors.handlers.get_one_payment_processor.md)

## Update payment processor

 - [PUT /payment-processors/{paymentProcessorId}](https://docs.peachfinance.com/api-docs/api-public/payment-processors/peach.payment_processors.handlers.update_payment_processor.md)

