openapi: 3.0.1
info:
  title: Ratepay Merchant Registration API
  version: '2.0'
  description: >-
    The Ratepay Merchant Registration API allows a fast, easy and automatable
    registration process for new shops.<br />After a successful registration
    shops should be able to use all configured payment methods for used partner
    profile-id.
servers:
  - url: https://api.ratepay.com/merchant/registry
    description: Production environment
  - url: https://api-integration.ratepay.com/merchant/registry
    description: Test environment
security:
  - Bearer Authentication: []
paths:
  /v2/partners/{partner_profile_id}/shops:
    post:
      summary: Register shop
      operationId: registerShop
      description: >-
        Register a new shops into Ratepay system. It is mandatory to register
        the shop before submitting payment requests.
      parameters:
        - in: path
          name: partner_profile_id
          required: true
          schema:
            type: string
            example: DE_PARTNER_ID_PR
          description: >-
            ID of the partner profile under which the new shop is to be
            registered.
      requestBody:
        $ref: '#/components/requestBodies/CreateShopBody'
      responses:
        '200':
          description: Shop is created successfully and shop-id is returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  shop_id:
                    type: string
                    example: acbd18db4cc2f85cedef654fccc4a4d8
        '400':
          description: Required fields are missing
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Mandatory information missing.
                  errors:
                    type: object
                    properties:
                      field_name:
                        type: array
                        items:
                          type: string
                    example: The given data was invalid.
        '404':
          description: Invalid partner-profile-id is used
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Partner with profileId[PROFILE_ID] not found
        '409':
          description: Shop already exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: >-
                      Unable to create shop due to conflicts. Field shop_id
                      should be unique.
  /v2/partners/{partner_profile_id}/shops/{shop_id}:
    parameters:
      - in: path
        name: partner_profile_id
        required: true
        schema:
          type: string
          example: DE_PARTNER_ID_PR
        description: >-
          ID of the partner profile under which the existing shop has been
          registered.
      - in: path
        name: shop_id
        required: true
        schema:
          type: string
          example: acbd18db4cc2f85cedef654fccc4a4d8
        description: The unique identifier of a shop, provided by the partner.
    get:
      summary: Retrieve Shop
      operationId: retrieveShop
      description: This Endpoint will output the stored information for the shop_id
      responses:
        '200':
          description: Loaded shop details and configurations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveShop'
        '404':
          description: Partner-Profile ID unknown or no shop found with given ID.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Partner with profileId[PROFILE_ID] not found
    put:
      summary: Update Shop
      operationId: updateShop
      description: >-
        This API endpoint will replace the configuration stored for the shop by
        the new one passed here
      requestBody:
        $ref: '#/components/requestBodies/UpdateShopBody'
      responses:
        '200':
          description: Shop is created successfully and shop-id is returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  shop_id:
                    type: string
                    example: acbd18db4cc2f85cedef654fccc4a4d8
        '400':
          description: Required fields are missing
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Mandatory information missing.
                  errors:
                    type: object
                    properties:
                      field_name:
                        type: array
                        items:
                          type: string
                    example: The given data was invalid.
        '404':
          description: Invalid partner_profile_id is used
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Partner with profileId[PROFILE_ID] not found
  /v2/partners/{partner_profile_id}/shops/{shop_id}/logos:
    post:
      summary: Upload Shop Logo
      operationId: uploadShopLogo
      description: >-
        Use this endpoint for uploading a shop logo, which will we placed on the
        correspondences<br /><br />**Constraints for the logo file**<br
        />Requirements for the image file:<br />- The logo file should not
        exceed 150 KB.<br />- Recommended resolution > 300 dpi<br />- The logo
        file format should be png.<br/>- The background should be
        transparent.<br />- The logo should be in a horizontal design (width >=
        height).<br /><br />Visualization rules:<br />- proportion-rule: It will
        be always proportionally stretched.<br />- max-height rule: The
        max-height of visualization will be 100px.<br />- It will be visualized
        in a width between 250 and 500px, if the height and proportion rules
        allow it.<br />- It will be placed on the top of the correspondence.
      parameters:
        - in: path
          name: partner_profile_id
          required: true
          schema:
            type: string
            example: DE_PARTNER_ID_PR
          description: >-
            ID of the partner profile under which the existing shop has been
            registered.
        - in: path
          name: shop_id
          required: true
          schema:
            type: string
            example: acbd18db4cc2f85cedef654fccc4a4d8
          description: The unique identifier of a shop, provided by the partner.
      requestBody:
        $ref: '#/components/requestBodies/UploadLogoBody'
      responses:
        '201':
          description: Logo has been successfully uploaded.
          content:
            application/json:
              schema:
                type: object
                example: []
        '422':
          description: Logo file is missing or has a wrong format.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The given data was invalid.
                  errors:
                    type: object
                    properties:
                      logo:
                        type: array
                        example:
                          - 'The logo must be a file of type: png.'
        '500':
          description: Logo too large or partner not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Server Error
components:
  securitySchemes:
    Bearer Authentication:
      bearerFormat: JWT
      description: >-
        For each request, a valid access token must be provided in the
        Authorization header. See [Authentication
        API](/docs/developer/authentication/authentication/) for obtaining a
        valid token.
      scheme: bearer
      type: http
  requestBodies:
    CreateShopBody:
      description: >
        The registration request for the shop needs to include a `shop_id`,
        which is generated by the partner/client. It serves as a unique
        identifier for the shop under the respective partner profile.<br>

        Additionally the request contains merchant legal information and
        correspondence settings needed for the buyer communication and for
        collection purposes.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Shop'
    UpdateShopBody:
      description: Payload for shop update
      required: true
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/UpdateShop'
    UploadLogoBody:
      content:
        multipart/form-data:
          schema:
            type: object
            properties:
              logo:
                type: string
                description: >-
                  Binary file to be uploaded. It expects following MIME-Types:
                  `*.png`
                format: binary
  schemas:
    Shop:
      description: >
        The shop object contains merchant legal information and correspondence
        settings needed for the buyer communication and for collection purposes.
      type: object
      properties:
        shop_id:
          type: string
          description: The unique identifier of a new shop, provided by the partner.
          example: acbd18db4cc2f85cedef654fccc4a4d8
        name:
          type: string
          description: Shop name. Required for the buyer communication.
          example: Animals GmbH
        website:
          type: string
          description: URL to the shop's website, used in the buyer communication.
          example: https://animals.com
        address:
          $ref: '#/components/schemas/Address'
        legal:
          $ref: '#/components/schemas/Legal'
        contacts:
          $ref: '#/components/schemas/Contacts'
        correspondence_settings:
          $ref: '#/components/schemas/CorrespondenceSettings'
      required:
        - shop_id
        - merchant_id
        - name
        - address
        - legal
        - shops
    RetrieveShop:
      description: >
        The shop object contains merchant legal information and correspondence
        settings needed for the buyer communication and for collection purposes.
      type: object
      properties:
        shop_id:
          type: string
          description: The unique identifier of a new shop, provided by the partner.
          example: acbd18db4cc2f85cedef654fccc4a4d8
        name:
          type: string
          description: Shop name. Required for the buyer communication.
          example: Animals GmbH
        website:
          type: string
          description: URL to the shop's website, used in the buyer communication.
          example: https://animals.com
        address:
          $ref: '#/components/schemas/RetrieveAddress'
        legal:
          $ref: '#/components/schemas/RetrieveLegal'
        contacts:
          $ref: '#/components/schemas/RetrieveContacts'
        correspondence_settings:
          $ref: '#/components/schemas/RetrieveCorrespondenceSettings'
      required:
        - shop_id
        - merchant_id
        - name
        - address
        - legal
        - shops
    UpdateShop:
      description: >
        The shop object contains merchant legal information and correspondence
        settings needed for the buyer communication and for collection purposes.
      type: object
      properties:
        name:
          type: string
          description: Shop name. Required for the buyer communication.
          example: Animals GmbH
        website:
          type: string
          description: URL to the shop's website, used in the buyer communication.
          example: https://animals.com
        address:
          $ref: '#/components/schemas/Address'
        legal:
          $ref: '#/components/schemas/Legal'
        contacts:
          $ref: '#/components/schemas/Contacts'
        correspondence_settings:
          $ref: '#/components/schemas/CorrespondenceSettings'
      required:
        - merchant_id
        - name
        - address
        - legal
        - shops
    Address:
      type: object
      description: Address details of merchant/shop.
      properties:
        street:
          type: string
          description: Street name.
          example: Ollenhauer Str.
        street_number:
          type: string
          description: House number.
          example: 17A
        street_additional:
          type: string
          description: Additional details to address line.
        city:
          type: string
          description: City name.
          example: Stuttgart
        postal_code:
          type: string
          description: Postal code.
          example: '70599'
        country_code:
          type: string
          description: Country code in ISO 3166-1 (alpha-2) format, e.g. DE, CH, NL, etc.
          example: DE
      required:
        - street
        - city
        - postal_code
        - country_code
    RetrieveAddress:
      type: object
      description: Address details of merchant/shop.
      properties:
        street:
          type: string
          description: Street name.
          example: Ollenhauer Str.
        house_number:
          type: string
          description: House number.
          example: 17A
        street_additional:
          type: string
          description: Additional details to address line.
        city:
          type: string
          description: City name.
          example: Stuttgart
        postal_code:
          type: string
          description: Postal code.
          example: '70599'
        country_code:
          type: string
          description: Country code in ISO 3166-1 (alpha-2) format, e.g. DE, CH, NL, etc.
          example: DE
      required:
        - street
        - city
        - postal_code
        - country_code
    Legal:
      type: object
      description: Legal details of merchant/shop.
      properties:
        name:
          type: string
          description: Official merchant company name.
          example: Animal House
        legal_form:
          type: string
          description: Legal form of the merchant or shop, e.g Ltd., GmbH, etc.
          example: GmbH
        commercial_register_number:
          type: string
          description: Merchant company's registration number, e.g. HRB 124156B
          example: 124156 B
        registration_office:
          type: string
          description: >-
            Registrar of merchant company, e.g. Amtsgericht Charlottenburg
            (Berlin)
          example: Amtsgericht Charlottenburg (Berlin)
        vat_id_number:
          type: string
          description: >-
            Merchant company's VAT number, e.g. DE 270 098 222. Either
            `vat_id_number` or `tax_number` is mandatory.
          example: DE817154243.B.01
        tax_number:
          type: string
          description: >-
            Merchant company's tax number. Either `vat_id_number` or
            `tax_number` is mandatory.
          example: '817154243'
        board_chairman:
          type: string
          description: Chairman of merchant's supervisory board.
          example: Katja Löwe
        managing_directors:
          type: string
          description: Merchant company's management board.
          example: Ingrid Fellnase, Jens Kater, Tom Mieze
        designation_of_management:
          type: string
          description: >-
            Type of the merchant's management board, e.g. Geschäftsführung.
            Mandatory if `managing_directors` are given.
          example: Geschäftsführung
      required:
        - name
        - legal_form
        - registration_office
        - commercial_register_number
        - vat_id_number
        - tax_number
    RetrieveLegal:
      type: object
      description: Legal details of merchant/shop.
      properties:
        legal_form:
          type: string
          description: Legal form of the merchant or shop, e.g Ltd., GmbH, etc.
          example: GmbH
        commercial_register_number:
          type: string
          description: Merchant company's registration number, e.g. HRB 124156B
          example: 124156 B
        registration_office:
          type: string
          description: >-
            Registrar of merchant company, e.g. Amtsgericht Charlottenburg
            (Berlin)
          example: Amtsgericht Charlottenburg (Berlin)
        vat_number:
          type: string
          description: >-
            Merchant company's VAT number, e.g. DE 270 098 222. Either
            `vat_id_number` or `tax_number` is mandatory.
          example: DE817154243.B.01
        board_chairman:
          type: string
          description: Chairman of merchant's supervisory board.
          example: Katja Löwe
        managing_directors:
          type: string
          description: Merchant company's management board.
          example: Ingrid Fellnase, Jens Kater, Tom Mieze
        designation_of_management:
          type: string
          description: >-
            Type of the merchant's management board, e.g. Geschäftsführung.
            Mandatory if `managing_directors` are given.
          example: Geschäftsführung
      required:
        - name
        - legal_form
        - registration_office
        - commercial_register_number
        - vat_id_number
        - tax_number
    Contacts:
      type: object
      description: >-
        Contact options used by Ratepay to contact the merchant, shop or
        partner.
      properties:
        customer_service:
          $ref: '#/components/schemas/CustomerService'
        fraud:
          $ref: '#/components/schemas/Fraud'
        incident:
          $ref: '#/components/schemas/Incident'
        data_protection:
          $ref: '#/components/schemas/DataProtection'
        invoice_copy:
          $ref: '#/components/schemas/InvoiceCopy'
      example:
        customer_service:
          email: support@cats.de
        fraud:
          email: fraud@cats.de
        incident:
          email: incident@cats.de
        data_protection:
          email: privacy@cats.de
        invoice_copy:
          email: support@cats.de
    RetrieveContacts:
      type: object
      description: >-
        Contact options used by Ratepay to contact the merchant, shop or
        partner.
      properties:
        customer_service:
          $ref: '#/components/schemas/CustomerService'
        fraud:
          $ref: '#/components/schemas/Fraud'
        incident:
          $ref: '#/components/schemas/Incident'
        data_protection:
          $ref: '#/components/schemas/DataProtection'
        invoice_copy:
          $ref: '#/components/schemas/RetrieveInvoiceCopy'
      example:
        customer_service:
          email: support@cats.de
        fraud:
          email: fraud@cats.de
        incident:
          email: incident@cats.de
        data_protection:
          email: privacy@cats.de
        invoice_copy: support@cats.de
    CustomerService:
      type: object
      description: Contact details of the shop's customer service.
      properties:
        email:
          type: string
          example: support@cats.de
        phone:
          type: string
          example: +49 (0)85 888 8138
        fax:
          type: string
          example: +49 (0)85 888 8199
      required:
        - email
    Fraud:
      type: object
      description: Contact details in case of fraud.
      properties:
        email:
          type: string
          example: support@cats.de
        phone:
          type: string
          example: +49 (0)85 888 8138
        fax:
          type: string
          example: +49 (0)85 888 8199
      required:
        - email
    Incident:
      type: object
      description: Contact details in case of technical incidents.
      properties:
        email:
          type: string
          example: support@cats.de
        phone:
          type: string
          example: +49 (0)85 888 8138
        fax:
          type: string
          example: +49 (0)85 888 8199
      required:
        - email
    DataProtection:
      type: object
      description: Contact details in case of privacy compliance.
      properties:
        email:
          type: string
          example: support@cats.de
        phone:
          type: string
          example: +49 (0)85 888 8138
        fax:
          type: string
          example: +49 (0)85 888 8199
      required:
        - email
    InvoiceCopy:
      type: object
      description: >-
        Blind copy (BCC) email address for invoice correspondences. Shops can
        provide it to receive copies of the invoices sent to their buyers. For
        this contact option only email is allowed.
      properties:
        email:
          type: string
          example: support@cats.de
      required:
        - email
    RetrieveInvoiceCopy:
      type: string
      description: >-
        Blind copy (BCC) email address for invoice correspondences. Shops can
        provide it to receive copies of the invoices sent to their buyers. For
        this contact option only email is allowed.
      example: support@cats.de
    ContactDetails:
      type: object
      description: Contact details.
      properties:
        email:
          type: string
          example: support@cats.de
        phone:
          type: string
          example: +49 (0)85 888 8138
        fax:
          type: string
          example: +49 (0)85 888 8199
      required:
        - email
    CorrespondenceSettings:
      type: object
      description: Configuration of correspondences for the buyer communication.
      properties:
        branding_settings:
          $ref: '#/components/schemas/BrandingSettings'
        slang:
          $ref: '#/components/schemas/Slang'
        payment_method_specific:
          type: array
          description: >-
            Within this array you can configure the settings for specific
            correspondences. You can choose the set of correspondences to be
            sent by Ratepay. Additionally you can specify their branding
            (Ratepay or shop branding). The correspondence specifications are
            grouped by payment method.<br /><br />All correspondences, except of
            invoices, are sent by Ratepay per default. All correspondences,
            except of `dunning_3` are sent in shop branding.
          items:
            $ref: '#/components/schemas/CorrespondenceSpecification'
          example:
            - payment_method:
                payment_option: OPEN_INVOICE
                transfer_type: BANK_TRANSFER
              invoice:
                skip_sending: false
                shop_branding: true
              deposit_confirmation:
                skip_sending: false
                shop_branding: true
              dunning_1:
                skip_sending: false
                shop_branding: true
              dunning_2:
                skip_sending: false
                shop_branding: true
              dunning_3:
                skip_sending: false
                shop_branding: true
            - payment_method:
                payment_option: INSTALMENT
                transfer_type: DIRECT_DEBIT
              invoice:
                skip_sending: true
                shop_branding: true
              deposit_confirmation:
                skip_sending: false
                shop_branding: true
              dunning_1:
                skip_sending: false
                shop_branding: true
              dunning_2:
                skip_sending: false
                shop_branding: true
              dunning_3:
                skip_sending: false
                shop_branding: true
    RetrieveCorrespondenceSettings:
      type: object
      description: Configuration of correspondences for the buyer communication.
      properties:
        branding_settings:
          $ref: '#/components/schemas/BrandingSettings'
        payment_method_specific:
          type: array
          description: >-
            Within this array you can configure the settings for specific
            correspondences. You can choose the set of correspondences to be
            sent by Ratepay. Additionally you can specify their branding
            (Ratepay or shop branding). The correspondence specifications are
            grouped by payment method.<br /><br />All correspondences, except of
            invoices, are sent by Ratepay per default. All correspondences,
            except of `dunning_3` are sent in shop branding.
          items:
            $ref: '#/components/schemas/CorrespondenceSpecification'
          example:
            - payment_method:
                payment_option: OPEN_INVOICE
                transfer_type: BANK_TRANSFER
              invoice:
                skip_sending: false
                shop_branding: true
              deposit_confirmation:
                skip_sending: false
                shop_branding: true
              dunning_1:
                skip_sending: false
                shop_branding: true
              dunning_2:
                skip_sending: false
                shop_branding: true
              dunning_3:
                skip_sending: false
                shop_branding: true
            - payment_method:
                payment_option: INSTALMENT
                transfer_type: DIRECT_DEBIT
              invoice:
                skip_sending: true
                shop_branding: true
              dunning_1:
                shop_branding: true
              dunning_2:
                shop_branding: true
              dunning_3:
                shop_branding: true
    BrandingSettings:
      type: object
      description: >-
        Appearance options for the buyer correspondences. e.g. shop logo
        position and highlight color.
      properties:
        logo_position:
          type: string
          description: Shop logo position in buyer correspondences.
          enum:
            - LEFT
            - CENTER
            - RIGHT
        highlight_color:
          type: string
          description: >-
            The color for the highlighted elements in buyer correspondences as
            HTML HEX color code, e.g `#BADB11`
          example: '#BADB01'
    Slang:
      type: object
      description: Slang definition for the buyer correspondences.
      properties:
        en:
          $ref: '#/components/schemas/SlangVariation'
        de:
          $ref: '#/components/schemas/SlangVariation'
        nl:
          $ref: '#/components/schemas/SlangVariation'
      example:
        de:
          salutation: Guten Tag
          order: BOOKING
          name_format: LAST_NAME
          formal_tone: FORMAL
          customer_service_contact:
            - 'Hotline: 0800 1234 1234 (29ct/min aus dt. Netz)'
            - 'Fax: +49 (30) 1234567-10'
        en:
          salutation: Hello
          order: ORDER
          name_format: FIRST_NAME
          formal_tone: INFORMAL
          customer_service_contact:
            - 'Office Hours: 10:00 - 18:00'
    SlangVariation:
      type: object
      properties:
        salutation:
          type: string
          description: >-
            Word for salutation in the buyer correspondences in this language,
            e.g. Hi, Hello, Hallo, Guten Tag, etc.
          example: Hello
        order:
          type: string
          description: The type of order.
          example: ORDER
          enum:
            - ORDER
            - BOOKING
        formal_tone:
          type: string
          description: Formality level for the buyer correspondences.
          example: INFORMAL
          enum:
            - FORMAL
            - INFORMAL
        name_format:
          type: string
          description: >-
            Specifies how to visualize the buyer's name after the salutation in
            the buyer correspondences.
          example: FIRST_NAME
          enum:
            - FIRST_NAME
            - LAST_NAME
            - FIRST_LAST_NAME
        customer_service_contact:
          type: array
          description: >-
            Additional lines in buyer correspondences referring to the  customer
            service contact details of the shop, merchant or partner.
          items:
            type: string
          example:
            - Hotline: 0800 1234 1234 (29ct/min Germany)
            - Office Hours: 10:00 - 18:00 mo-sa
            - Fax: +49 (30) 1234567-10
    CorrespondenceSpecification:
      type: object
      properties:
        payment_method:
          $ref: '#/components/schemas/PaymentMethod'
        invoice:
          $ref: '#/components/schemas/Invoice'
        payment_instruction:
          $ref: '#/components/schemas/PaymentInstruction'
        payment_receipt:
          $ref: '#/components/schemas/PaymentReceipt'
        dunning_1:
          $ref: '#/components/schemas/Dunning1'
        dunning_2:
          $ref: '#/components/schemas/Dunning2'
        dunning_3:
          $ref: '#/components/schemas/Dunning3'
        advance_notice:
          $ref: '#/components/schemas/AdvanceNotice'
        order_confirmation:
          $ref: '#/components/schemas/OrderConfirmation'
        initial_plan:
          $ref: '#/components/schemas/InitialPlan'
        updated_plan:
          $ref: '#/components/schemas/UpdatedPlan'
        advance_notice_sepa_update:
          $ref: '#/components/schemas/AdvanceNoticeSepaUpdate'
    PaymentMethod:
      type: object
      description: >-
        Ratepay payment methods consists of the parameters `payment_option` and
        `transfer_type`.
      properties:
        payment_option:
          type: string
          description: Payment option.
          enum:
            - OPEN_INVOICE
            - PREPAYMENT
            - INSTALMENT
          example: OPEN_INVOICE
        transfer_type:
          type: string
          description: Payment transfer type.
          enum:
            - BANK_TRANSFER
            - DIRECT_DEBIT
          example: BANK_TRANSFER
    Invoice:
      type: object
      description: >-
        Official invoice, sent with every delivery. The invoice is skipped by
        default.
      properties:
        skip_sending:
          type: boolean
          description: >-
            Whether the correspondence should be sent by Ratepay. If `true`, the
            correspondence won't be sent by Ratepay. The default value is
            `true`.
          example: false
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    PaymentInstruction:
      type: object
      description: >-
        Instructions with payment details, open amount, and due date, sent with
        every delivery.
      properties:
        skip_sending:
          type: boolean
          description: >-
            Whether the correspondence should be sent by Ratepay. If `true`, the
            correspondence won't be sent by Ratepay. The default value is
            `true`.
          example: false
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    PaymentReceipt:
      type: object
      description: Payment confirmation, sent after every payment.
      properties:
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    Dunning1:
      type: object
      description: Friendly payment reminder, sent after the original due date is exceeded.
      properties:
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    Dunning2:
      type: object
      description: >-
        First payment reminder with a dunning fee. In this correspondence,
        Ratepay comes to the fore, even though the design is shop branded by
        default.
      properties:
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    Dunning3:
      type: object
      description: >-
        Last payment reminder. The design is in Ratepay branding, regardless of
        the `shop_branding` setting.
      properties:
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    AdvanceNotice:
      type: object
      description: >-
        Notification for an upcoming direct debit withdrawal. Warning: There is
        a legal obligation to send such correspondence before the direct debit
        withdrawal. If you skip this correspondence, make sure to send a
        replacement for it.
      properties:
        skip_sending:
          type: boolean
          description: >-
            Whether the correspondence should be sent by Ratepay. If `true`, the
            correspondence won't be sent by Ratepay. The default value is
            `true`.
          example: false
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    OrderConfirmation:
      type: object
      description: >-
        An email with general information about a purchase with instalment
        option. It is sent  after the purchase.
      properties:
        skip_sending:
          type: boolean
          description: >-
            Whether the correspondence should be sent by Ratepay. If `true`, the
            correspondence won't be sent by Ratepay. The default value is
            `true`.
          example: false
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    InitialPlan:
      type: object
      description: >-
        Initial instalment plan. Contains, details of the deliveries, an
        overview of the instalment plan, and instructions for the monthly
        payments.
      properties:
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    UpdatedPlan:
      type: object
      description: >-
        Updated instalment plan. This email is sent, if there was additional
        delivery, unplanned payment, or change in the ordered items. It contains
        updated payment instructions for the monthly payments.
      properties:
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    AdvanceNoticeSepaUpdate:
      type: object
      description: >-
        Notification for an upcoming direct debit withdrawal. Unlike the
        `advance_notice`, this email is sent after a buyer changed their SEPA
        bank connection. Warning: There is a legal obligation to send such
        correspondence before the direct debit withdrawal. If you skip this
        correspondence, make sure to send a replacement for it.
      properties:
        skip_sending:
          type: boolean
          description: >-
            Whether the correspondence should be sent by Ratepay. If `true`, the
            correspondence won't be sent by Ratepay. The default value is
            `true`.
          example: false
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
    CorrespondenceSpecificationAttributes:
      type: object
      properties:
        skip_sending:
          type: boolean
          description: >-
            Whether the correspondence should be sent by Ratepay. If `true`, the
            correspondence won't be sent by Ratepay. The default value is
            `true`.
          example: false
        shop_branding:
          type: boolean
          description: >-
            Whether the correspondence should be branded with shop details e.g.
            logo, colors, etc. If `true`, the correspondence will be sent
            following the `branding_settings` for this merchant/shop. The
            default value is `true`.
          example: true
