Partner Merchants

Send a merchant to a setup page we host

For a platform that would rather not build sign-up, one-time codes and document upload itself.

Returns a single-use URL. Open it for the merchant in a new tab; every screen that touches a password or a one-time code stays on our pages, so the merchant's credentials never pass through your servers.

The page reads the merchant's own records each time rather than storing a step number, so somebody who stops halfway through uploading documents and comes back later lands on exactly the same screen.

Register a return address first. Without one this call fails with partner.no_redirect_uri — a journey that ends nowhere is not a finished journey. Ask our team to set it for your account.

When the merchant finishes we send them to that address with ?code=, the same one-time code described on POST /partner/connections/exchange, swapped the same way from your server.

Two ways the journey can end

A business created through this page is yours to connect: the merchant presses connect and comes back to you with ?code=.

A business the merchant already had goes to review instead. They come back with no ?code=, and a SwiftPayIQ admin decides. Build for both endings — the second one is the normal case for any merchant who was already trading with us.

post/partner/onboarding-sessions

Request

  • Base URL: https://api.swiftpayiq.com/api/v1
  • URL: https://api.swiftpayiq.com/api/v1/partner/onboarding-sessions
  • Auth: PartnerApiKey (a scheme the document does not define)

Request body

phonestring required

The merchant's own phone, E.164. The one-time code goes here, which is what stops you completing this on their behalf.

prefillobject

Anything you already know, to save them typing: trade name, governorate. Convenience only — they can change all of it and none of it is trusted.

Example request

{
  "phone": "+9647701234567",
  "prefill": {
    "commercialNameAr": "متجر الأمل",
    "governorate": "BAGHDAD"
  }
}

Response

Link created.

urlstring

Single use, and it expires. Mint a fresh one rather than storing it.

expiresAtstring date-time

Example response

{
  "url": "https://my.swiftpayiq.com/setup/DWmRNc4Fp_GwHR5eq75PLadRuPVCtdzG7uBvsxbTD-A"
}

Changes

No recorded changes to this operation across all 1 revision of this API.