Skip to main content

Update a merchant profile

You can request an update to a merchant profile with the API, and merchants can also request their own update from your Web Banking interface. All updates must be reviewed by Swan.

Update process

Updating a merchant profile produces the following events:

  • The merchant profile status doesn't change (remains Enabled), and the merchant can continue to use their merchant profile with the existing information.
  • The update status is PendingReview, and Swan must review the new information to ensure it meets requirements.
  • After Swan reviews the request, the update status changes to Enabled and the updates are pushed live to the merchant profile.

Guide​

  1. To request an update with the API, call the requestMerchantProfileUpdate mutation. You don't need consent.
  2. Include all the original mandatory information, changing only the field you wish to update.
    • Required fields: merchantName, productType, expectedMonthlyPaymentVolume, expectedAverageBasket.
    • expectedAverageBasket is the expected average amount per transaction.
  3. Configure the success payload to display the updated information in case you need to verify it.
  4. Add relevant payload and rejection details to your mutation.

Mutation​

🔎 Open the mutation in API Explorer

In this example, the expectedAverageBasket, or expected average transaction, changed from €50 to €75 (line 8). Therefore, it requests the status and the updated basket in the success payload (lines 14-17).

mutation ProfileUpdate {
requestMerchantProfileUpdate(
input: {
merchantProfileId: "$YOUR_MERCHANT_PROFILE_ID"
merchantName: "MyBrand Paper Goods"
productType: Goods
expectedMonthlyPaymentVolume: { value: "3000", currency: "EUR" }
expectedAverageBasket: { value: "75", currency: "EUR" }
}
) {
... on RequestMerchantProfileUpdateSuccessPayload {
__typename
requestMerchantProfileUpdate {
status
expectedAverageBasket {
currency
value
}
}
}
... on InternalErrorRejection {
__typename
message
}
... on AccountNotFoundRejection {
id
message
}
... on ForbiddenRejection {
__typename
message
}
}
}

Payload​

The payload confirms your update request to an average basket of €75 with the status PendingReview.

{
"data": {
"requestMerchantProfileUpdate": {
"__typename": "RequestMerchantProfileUpdateSuccessPayload",
"requestMerchantProfileUpdate": {
"status": "PendingReview",
"expectedAverageBasket": {
"currency": "EUR",
"value": "75"
}
}
}
}
}