Rapyd.Services.Partner (rapyd v1.0.0)

Copy Markdown View Source

Rapyd Partner / PayFac — KYB onboarding and sub-merchant management.

Covers: Organizations, KYB Applications, Settlement Bank Accounts, Application Templates, Industries, and Offerings.

Summary

Functions

Approve a KYB application (internal/partner-admin action).

Create a KYB application.

Create a partner organization (merchant).

Link a settlement bank account to a merchant wallet.

Delete a settlement bank account.

Retrieve a KYB application.

Get a KYB application by wallet ID.

Get an application template for a given country and application type.

Retrieve a specific product offering.

Retrieve an organization.

Retrieve a settlement bank account.

List supported KYB application templates.

List industries (MCC codes) available for partner merchants.

List partner product offerings.

Reject a KYB application.

Submit a KYB application for review.

Update a KYB application.

Upload a KYB document to an application.

Upload a bank verification file for a settlement account.

Returns a new client struct scoped to a specific merchant organisation ID.

Functions

approve_application(client, app_id)

@spec approve_application(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Approve a KYB application (internal/partner-admin action).

create_application(client, params)

@spec create_application(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a KYB application.

create_organization(client, params)

@spec create_organization(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a partner organization (merchant).

create_settlement_bank_account(client, params)

@spec create_settlement_bank_account(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Link a settlement bank account to a merchant wallet.

delete_settlement_bank_account(client, account_id)

@spec delete_settlement_bank_account(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a settlement bank account.

get_application(client, app_id)

@spec get_application(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a KYB application.

get_application_by_wallet(client, ewallet_id)

@spec get_application_by_wallet(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Get a KYB application by wallet ID.

get_application_template(client, country, app_type)

@spec get_application_template(Rapyd.Client.t(), String.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Get an application template for a given country and application type.

get_offering(client, offering_id)

@spec get_offering(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a specific product offering.

get_organization(client, org_id)

@spec get_organization(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve an organization.

get_settlement_bank_account(client, account_id)

@spec get_settlement_bank_account(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a settlement bank account.

list_application_templates(client, params \\ %{})

@spec list_application_templates(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List supported KYB application templates.

list_applications(client, filters \\ %{})

@spec list_applications(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List KYB applications.

list_industries(client)

@spec list_industries(Rapyd.Client.t()) :: {:ok, list()} | {:error, Rapyd.Error.t()}

List industries (MCC codes) available for partner merchants.

list_offerings(client)

@spec list_offerings(Rapyd.Client.t()) :: {:ok, list()} | {:error, Rapyd.Error.t()}

List partner product offerings.

list_organizations(client, filters \\ %{})

@spec list_organizations(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List organizations.

list_settlement_bank_accounts(client, filters \\ %{})

@spec list_settlement_bank_accounts(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List settlement bank accounts.

reject_application(client, app_id)

@spec reject_application(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Reject a KYB application.

submit_application(client, app_id)

@spec submit_application(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Submit a KYB application for review.

update_application(client, app_id, params)

@spec update_application(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a KYB application.

update_organization(client, org_id, params)

@spec update_organization(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update an organization.

update_settlement_bank_account(client, account_id, params)

@spec update_settlement_bank_account(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a settlement bank account.

upload_application_document(client, app_id, params)

@spec upload_application_document(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Upload a KYB document to an application.

upload_bank_verification_file(client, params)

@spec upload_bank_verification_file(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Upload a bank verification file for a settlement account.

with_merchant_account_id(client, org_id)

@spec with_merchant_account_id(Rapyd.Client.t(), String.t()) :: Rapyd.Client.t()

Returns a new client struct scoped to a specific merchant organisation ID.

The organisation ID is forwarded as the merchant_account_id query param on every request made with the returned client.

Example

partner_client = Partner.with_merchant_account_id(client, "org_abc123")
Partner.list_organizations(partner_client)