Learn how to update a vendor account using BlueSnap's Payment API.
If you have questions after reading this guide, check out our FAQs page.

This section covers the following topics:

Updating vendor accounts overview

Once you've created your vendor's account, you can update it at any time.
With the Update Vendor request, you can:

  1. Add additional information (e.g., add missing KYC information for vendor onboarding)
  2. Update existing information (e.g., email, payout information, commission rate, etc.)

👍

Make sure your vendor is eligible for payout

  • To be eligible for payout, make sure all necessary vendor information has been submitted to BlueSnap and the vendor has been included with at least one transaction. To see code samples with all information needed for payout, click here.
  • Make sure all the documentation you receive from your vendor and send to us is clear, legible, valid, and current.

Back to Top


## Modifiable vendor account properties Any of the following properties may be updated:
  • Vendor address
  • Vendor company name
  • Vendor email
  • Vendor first and last name
  • Vendor business name
  • Vendor phone
  • Vendor frequency and delay
  • Vendor principal
  • Vendor agreement
  • Vendor payout

## Updating vendor properties and changes to payout status Once your vendor’s payout status has been approved, updating certain properties (listed below) results in their payout status changing to **Pending** or **Incomplete**, as this information requires BlueSnap's review. *Note*: Your vendor’s payout is suspended until their payout status is approved.

vendor
firstName, lastName, name

vendorPrincipal
country, driverLicenseNumber, firstName, lastName, passportNumber, personalIdentificationNumber

vendorAgreement
accountStatus when value is changed from inactive to active

payoutInfo
bankAccountClass, bankAccountId, bankAccountType, bankId, bankName, city, country, iban, nameOnAccount, state, swiftBic


How it works

Include the vendor ID within the API endpoint of the request as such:
https://sandbox.bluesnap.com/services/2/vendors/19575974

In the body of the request, add additional vendor account properties or update existing ones.

In this example, suppose we wish to update a vendor with a vendor ID of 514147. We change the Commission Percent property to 45, meaning that this vendor now receives 45 percent of the funds for a sale.

curl -v -X PUT https://sandbox.bluesnap.com/services/2/vendors/514147 \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d '
{
  "email": "[email protected]",
  "firstName": "Joe",
  "lastName": "Smith",
  "phone": "1-123-456-7890",
  "address": "123 Main Street",
  "city": "Boston",
  "country": "US",
  "state": "MA",
  "zip": "123456",
  "defaultPayoutCurrency": "USD",
  "ipnUrl": "https://merchant-domain.com/ipn",
  "vendorPrincipal": {
    "firstName": "Joe",
    "lastName": "Smith",
    "address": "123 Main Street",
    "city": "Boston",
    "country": "US",
    "zip": "123456",
    "dob": "28-09-9999",
    "personalIdentificationNumber": "1234",
    "driverLicenseNumber": "7676234872122",
    "email": "[email protected]"
  },
  "vendorAgreement": {
    "commissionPercent": "45",
    "accountStatus": "ACTIVE"
  },
  "payoutInfo": [
    {
      "payoutType": "ACH",
      "baseCurrency": "USD",
      "nameOnAccount": "vendor",
      "bankAccountType": "CHECKING",
      "bankAccountClass": "PERSONAL",
      "bankName": "Leumi",
      "bankId": "123456789",
      "country": "US",
      "state": "MA",
      "city": "Juneau",
      "address": "1 bank address",
      "zip": "12345",
      "bankAccountId": "36628822",
      "minimalPayoutAmount": 25,
      "paymentReference": "Payment for vendor 1234",
      "refundReserve": 200
    }
  ]
}'
curl -v -X PUT https://sandbox.bluesnap.com/services/2/vendors/514147 \
-H 'Content-Type: application/xml' \
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d '
<vendor xmlns="http://ws.plimus.com">
  <email>[email protected]</email>
  <first-name>Joe</first-name>
  <last-name>Smith</last-name>
  <phone>1-123-456-7890</phone>
  <address>123 Main Street</address>
  <city>Boston</city>
  <country>US</country>
  <state>MA</state>
  <zip>123456</zip>
  <default-payout-currency>USD</default-payout-currency>
  <ipn-url>https://merchant-domain.com/ipn</ipn-url>
  <vendor-principal>
    <first-name>Joe</first-name>
    <last-name>Smith</last-name>
    <address>123 Main Street</address>
    <city>Boston</city>
    <country>US</country>
    <zip>123456</zip>
    <dob>28-09-9999</dob>
    <personal-identification-number>1234</personal-identification-number>
    <driver-license-number>7676234872</driver-license-number>
    <email>[email protected]</email>
  </vendor-principal>
  <vendor-agreement>
    <commission-percent>45</commission-percent>
    <account-status>ACTIVE</account-status>
  </vendor-agreement>
  <payout-info>
    <payout-type>ACH</payout-type>
    <base-currency>USD</base-currency>
    <name-on-account>vendor</name-on-account>
    <bank-account-type>CHECKING</bank-account-type>
    <bank-account-class>PERSONAL</bank-account-class>
    <bank-name>Leumi</bank-name>
    <bank-id>123456789</bank-id>
    <country>US</country>
    <state>MA</state>
    <city>Juneau</city>
    <address>1 bank address</address>
    <zip>12345</zip>
    <bank-account-id>36628822</bank-account-id>
    <minimal-payout-amount>25</minimal-payout-amount>
    <payment-reference>Payment for vendor 1234</payment-reference>
    <refund-reserve>200</refund-reserve>
  </payout-info>
</vendor>'

👍

Retrieving the vendor account

Use the Retrieve Vendor request to get the vendor's account information, which you can use to build up the Update Vendor request body.

For more information:

Visit our API Reference for Update Vendor examples and a complete list of request properties:

Back to Top


Next: Processing Transactions

Now that you've learned how to update your vendor's account, you're ready to starting processing transactions on your vendor's behalf.

➔ Processing Transactions