Skip to main content

Request a merchant profile

Before your merchant can use Swan to accept payments from customers, request a merchant profile with the API.

All new merchant profiles are reviewed by Swan. Swan might contact you for more information before accepting or rejecting the merchant profile.

Prerequisites
  • The merchant's account holder type is Company.
  • You have a project access token, or, if you're an account member, a user access token with CanManageAccountMembership membership permission.

Guide​

  1. Call the requestMerchantProfile mutation.
  2. Include all mandatory information: accountId, merchantName, productType, expectedMonthlyPaymentVolume, and expectedAverageBasket.
  3. Add relevant payload and rejection details to your mutation.
  4. (Optional) Use merchantLogo to include a logo for your merchant. The image must be converted to a base64 encoded string.
  5. The new merchant is created with the status PendingReview.
  6. Swan reviews the new merchant profile and updates the status.

Mutation​

🔎 Open the mutation in API Explorer

mutation MerchantProfile {
requestMerchantProfile(
input: {
accountId: "$YOUR_ACCOUNT_ID"
merchantName: "Merchant Company Name"
productType: Goods
expectedMonthlyPaymentVolume: {
value: "3000"
currency: "EUR"
}
expectedAverageBasket: {
value: "50"
currency: "EUR"
}
}
) {
... on RequestMerchantProfileSuccessPayload {
__typename
merchantProfile {
accountId
id
statusInfo {
status
... on EnabledMerchantProfileStatusInfo {
__typename
enabledAt
status
}
}
productType
}
}
... on ForbiddenRejection {
__typename
message
}
... on AccountNotFoundRejection {
id
message
}
... on InternalErrorRejection {
__typename
message
}
}
}

Payload​

The payload confirms your new merchant profile with the status PendingReview.

{
"data": {
"requestMerchantProfile": {
"__typename": "RequestMerchantProfileSuccessPayload",
"merchantProfile": {
"accountId": "$YOUR_ACCOUNT_ID",
"id": "$YOUR_MERCHANT_PROFILE_ID",
"statusInfo": {
"status": "PendingReview"
},
"productType": "Goods"
}
}
}
}