> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dimepayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Charge a Bank Account



## OpenAPI

````yaml https://app.dimepayments.com/openapi.yaml post /api/transaction/charge-ach
openapi: 3.0.3
info:
  title: Dime Payments API Documentation
  description: >-
    A simple, basic API for managing Merchants through Dime Payments. JSON based
    REST API
  version: 1.0.0
servers:
  - url: https://app.dimepayments.com
security:
  - default: []
tags:
  - name: Merchant management
    description: ''
  - name: Transaction management
    description: >-

      APIs for managing transactions.  Depending on API KEY permissions, one
      should be able to

      charge credit cards, ACH, Google/Apple Pay wallets along with other
      functions.
  - name: Addresses
    description: |-

      APIs for managing customer addresses
  - name: Customer management
    description: >-

      APIs for managing customers.  Depending on API KEY permissions, one should
      be able to

      list, create, update, and delete customers along with several other
      customer specific requests.
  - name: Deposit management
    description: ''
  - name: Invoice management
    description: >-

      APIs for managing invoices. Depending on API KEY permissions, one should
      be

      able to list, create, update, delete, and send invoices, manage their line

      items, and manage recurring-invoice schedules. Every request is scoped to
      a

      single Merchant via the required `data.sid`.
  - name: Payment Method management
    description: >-

      APIs for managing payment methods associated with customers.  Depending on
      API KEY permissions, one should be able to

      list, show, create, update, and delete payment methods.
  - name: Recurring Payments management
    description: >-

      APIs for managing recurring payments.  Depending on API KEY permissions,
      one should be able to

      create, edit, pause, cancel along with other functions.
  - name: Zapier
    description: >-

      APIs for use through Zapier.  Depending on API KEY permissions, one should
      be able to

      see customers and transactions data.
paths:
  /api/transaction/charge-ach:
    post:
      tags:
        - Transaction management
      summary: Charge a Bank Account
      operationId: chargeABankAccount
      parameters: []
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  description: ''
                  example: []
                  properties:
                    sid:
                      type: number
                      description: The ID of merchant account processing the charge.
                      example: 1234567
                    routing_number:
                      type: string
                      description: 'The bank account routing number. Max: 9.'
                      example: '123456789'
                    account_number:
                      type: string
                      description: 'The bank account number. Max: 50.'
                      example: '91828382'
                    account_type:
                      type: string
                      description: Must be Checking or Savings.
                      example: Checking
                    account_name:
                      type: string
                      description: 'The name on the bank account. Max: 50.'
                      example: Acme Inc.
                    amount:
                      type: number
                      description: The transaction amount.
                      example: 99.19
                    phone:
                      type: string
                      description: The phone number.
                      example: '7701234567'
                    customer_uuid:
                      type: string
                      description: optional The unique UUID of the merchant's customer.
                      example: 12312312-123123123-1231231231
                    email:
                      type: string
                      description: >-
                        Must be a valid email address. Must not be greater than
                        50 characters.
                      example: okon.justina@example.com
                      nullable: true
                    memo:
                      type: string
                      description: 'optional The memo field. Max: 120.'
                      example: payment for something
                      nullable: true
                    billing_address:
                      type: object
                      description: ''
                      example: []
                      properties:
                        first_name:
                          type: string
                          description: 'The first name. Max: 50.'
                          example: Ryan
                          nullable: true
                        last_name:
                          type: string
                          description: 'The first name. Max: 50.'
                          example: Taylor
                          nullable: true
                        addr1:
                          type: string
                          description: 'optional The first address line. Max: 31.'
                          example: 123 A Street
                          nullable: true
                        addr2:
                          type: string
                          description: 'optional The second address line. Max: 31.'
                          example: Suite 123
                          nullable: true
                        city:
                          type: string
                          description: 'optional The city. Max: 52.'
                          example: Alpharetta
                          nullable: true
                        state:
                          type: string
                          description: 'optional The state. Max: 2.'
                          example: GA
                          nullable: true
                        zip:
                          type: integer
                          description: 'optional The zip code. Max: 5.'
                          example: 30009
                          nullable: true
                    shipping_address:
                      type: object
                      description: ''
                      example: []
                      properties:
                        addr1:
                          type: string
                          description: 'optional The first address line. Max: 50.'
                          example: 123 A Street
                          nullable: true
                        addr2:
                          type: string
                          description: 'optional The second address line. Max: 50.'
                          example: Suite 123
                          nullable: true
                        city:
                          type: string
                          description: 'optional The city. Max: 50.'
                          example: Alpharetta
                          nullable: true
                        state:
                          type: string
                          description: 'optional The state. Max: 2.'
                          example: GA
                          nullable: true
                        zip:
                          type: integer
                          description: 'optional The state. Max: 5.'
                          example: 12345
                          nullable: true
                  required:
                    - sid
                    - routing_number
                    - account_number
                    - account_type
                    - account_name
                    - amount
      responses:
        '200':
          description: Successful Transaction
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    transaction_type: ACH
                    transaction_status: Success
                    transaction_status_description: Success
                    transaction_number: '130'
                    transaction_date: '2021-01-01'
                    fund_date: '2021-01-01'
                    settle_date: '2021-01-01'
                    amount: '25'
                    description: ''
                    status_code: '00'
                    status_text: Success
                    email: test@test.com
                    phone: ''
                    customer_uuid: ''
                    multi_use_token: ''
                    pending: false
                    transaction_info_id: '1234567890'
                    parent_transaction_info_id: '1234567890'
                    billing_address:
                      first_name: First
                      last_name: Last
                      addr1: 12 Street Ave
                      addr2: Suite 123
                      city: Boulder
                      state: CO
                      zip: '80302'
                    shipping_address:
                      addr1: 12 Street Ave
                      addr2: Suite 123
                      city: Boulder
                      state: CO
                      zip: '80302'
                properties:
                  data:
                    type: object
                    properties:
                      transaction_type:
                        type: string
                        example: ACH
                        description: ACH or Credit Card.
                      transaction_status:
                        type: string
                        example: Success
                        description: The status of the transaction.
                      transaction_status_description:
                        type: string
                        example: Success
                        description: The description of the transaction status.
                      transaction_number:
                        type: string
                        example: '130'
                        description: >-
                          The unique transaction used for referencing in the
                          future.
                      transaction_date:
                        type: string
                        example: '2021-01-01'
                        description: The date of the transaction.
                      fund_date:
                        type: string
                        example: '2021-01-01'
                        description: The date funds were deposited.
                      settle_date:
                        type: string
                        example: '2021-01-01'
                        description: The date funds were settled.
                      amount:
                        type: string
                        example: '25'
                        description: The amount of the transaction in USD.
                      description:
                        type: string
                        example: ''
                        description: The original memo field.
                      status_code:
                        type: string
                        example: '00'
                        description: Response code from processor.
                      status_text:
                        type: string
                        example: Success
                        description: Response text from processor.
                      email:
                        type: string
                        example: test@test.com
                        description: The email address.
                      phone:
                        type: string
                        example: ''
                        description: The phone number.
                      customer_uuid:
                        type: string
                        example: ''
                        description: The customer's UUID.
                      multi_use_token:
                        type: string
                        example: ''
                        description: Not
                      pending:
                        type: boolean
                        example: false
                        description: Shows if pending status.
                      transaction_info_id:
                        type: string
                        example: '1234567890'
                        description: Not
                      parent_transaction_info_id:
                        type: string
                        example: '1234567890'
                        description: Not
                      billing_address:
                        type: object
                        properties:
                          first_name:
                            type: string
                            example: First
                            description: The first name field.
                          last_name:
                            type: string
                            example: Last
                            description: The last name field.
                          addr1:
                            type: string
                            example: 12 Street Ave
                            description: The first address line.
                          addr2:
                            type: string
                            example: Suite 123
                            description: The second address line.
                          city:
                            type: string
                            example: Boulder
                            description: The city field.
                          state:
                            type: string
                            example: CO
                            description: The state field.
                          zip:
                            type: string
                            example: '80302'
                            description: The zip field.
                      shipping_address:
                        type: object
                        properties:
                          addr1:
                            type: string
                            example: 12 Street Ave
                            description: The first address line.
                          addr2:
                            type: string
                            example: Suite 123
                            description: The second address line.
                          city:
                            type: string
                            example: Boulder
                            description: The city field.
                          state:
                            type: string
                            example: CO
                            description: The state field.
                          zip:
                            type: string
                            example: '80302'
                            description: The zip field.
        '400':
          description: Failed validation
          content:
            application/json:
              schema:
                type: object
                example:
                  errors:
                    data.amount:
                      - The data.amount field is required.
                    data.account_type:
                      - The selected data.account_type is invalid.
                properties:
                  errors:
                    type: object
                    properties:
                      data.amount:
                        type: array
                        example:
                          - The data.amount field is required.
                        items:
                          type: string
                      data.account_type:
                        type: array
                        example:
                          - The selected data.account_type is invalid.
                        items:
                          type: string
        '401':
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                  - description: Token unauthorized
                    type: object
                    example:
                      data:
                        message: Permission Denied.
                    properties:
                      data:
                        type: object
                        properties:
                          message:
                            type: string
                            example: Permission Denied.
                  - description: Invalid merchant or affiliate authorization
                    type: object
                    example:
                      data:
                        message: Unauthorized
                    properties:
                      data:
                        type: object
                        properties:
                          message:
                            type: string
                            example: Unauthorized
                  - description: Invalid merchant or affiliate association
                    type: object
                    example:
                      data:
                        message: Not associated with affiliate
                    properties:
                      data:
                        type: object
                        properties:
                          message:
                            type: string
                            example: Not associated with affiliate
        '404':
          description: Invalid sid
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    message: No such Merchant
                properties:
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: No such Merchant
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: >-
        You can retrieve your token by visiting your dashboard and clicking
        <b>Generate API token under your profile in top right</b>.

````