{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Reefpay Docs","description":"Reefpay is the groundbreaking payment gateway that lets you integrate with the future of payments."},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"how-accounts-work","__idx":0},"children":["How accounts work"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This section is for platforms and resellers — anyone boarding merchants rather"," ","than taking their own payments. If you are integrating a single merchant account"," ","that already exists, you can skip it and start at"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/payments/accept-a-card-payment"},"children":["Accept a card payment"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"clients","__idx":1},"children":["Clients"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["client"]}," is an account that can process payments. Every transaction belongs"," ","to exactly one, and there are two kinds."]},{"$$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":"type"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What it is"},"children":["What it is"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchant"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Processes payments. Has no children"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reseller"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Resells to merchants. Owns the clients beneath it"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Both values are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lowercase"]},", exactly as written. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MERCHANT"]}," is rejected."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-hierarchy","__idx":2},"children":["The hierarchy"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Clients form a tree. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parent_id"]}," on a client names the reseller or ISO above it,"," ","and that relationship is set once, when the client is created."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"reseller  CLIENT-…A\n├── merchant  CLIENT-…B     parent_id: CLIENT-…A\n├── merchant  CLIENT-…C     parent_id: CLIENT-…A\n└── reseller  CLIENT-…D     parent_id: CLIENT-…A\n    └── merchant  CLIENT-…E parent_id: CLIENT-…D\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A reseller sees its own subtree. A merchant sees only itself."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"each-client-has-its-own-credentials","__idx":3},"children":["Each client has its own credentials"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Creating a client issues an API key for it. That key and the client's ID are what"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/get-started/authentication"},"children":["authenticate"]}," its requests."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The key is returned once"]},", on the create response, and no later call returns"," ","it again. Store it then or reissue the client."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"a-parent-can-act-for-a-child","__idx":4},"children":["A parent can act for a child"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A reseller does not need its merchants' keys. It authenticates as itself and"," ","names the merchant in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Acting-As-Client-Id"]}," header."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["That is how a platform runs a transaction, reads a report, or boards an"," ","integration on a merchant's behalf. See"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/platforms/act-on-behalf-of-a-client"},"children":["Act on behalf of a client"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"integrations-attach-to-a-client","__idx":5},"children":["Integrations attach to a client"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A client cannot process anything until it has an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["integration"]}," — the processor"," ","credentials that connect it to TSYS for cards or VeriCheck for ACH."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["One client can hold both. The payment method in a transaction decides which one"," ","handles it. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/platforms/connect-a-processor"},"children":["Connect a processor"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-the-api-does-not-model","__idx":6},"children":["What the API does not model"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Worth knowing before you design around them:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No users."]}," There is no public user, role, or permission resource. A client"," ","is the unit of access, and its API key is the credential."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No delete."]}," Clients and integrations cannot be removed through the API."," ","Deactivate an integration with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_active: false"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No customers."]}," The gateway stores no customer records. Your application owns"," ","the relationship between a person and a"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/payments/save-and-reuse-a-payment-method"},"children":["saved payment method"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":7},"children":["Next steps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/platforms/create-and-update-a-client"},"children":["Create and update a client"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/platforms/connect-a-processor"},"children":["Connect a processor"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/platforms/act-on-behalf-of-a-client"},"children":["Act on behalf of a client"]}]}]}]},"headings":[{"value":"How accounts work","id":"how-accounts-work","depth":1},{"value":"Clients","id":"clients","depth":2},{"value":"The hierarchy","id":"the-hierarchy","depth":2},{"value":"Each client has its own credentials","id":"each-client-has-its-own-credentials","depth":2},{"value":"A parent can act for a child","id":"a-parent-can-act-for-a-child","depth":2},{"value":"Integrations attach to a client","id":"integrations-attach-to-a-client","depth":2},{"value":"What the API does not model","id":"what-the-api-does-not-model","depth":2},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"title":"How accounts work","shortTitle":"How accounts work","intro":"Every transaction belongs to a client. Resellers own merchants, each client gets its own credentials, and one header lets a parent act for a child.","type":"overview","seo":{"title":""}},"lastModified":"2026-09-17T12:38:32.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/platforms/how-accounts-work","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}