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
- Modifiable vendor account properties
- Updating vendor properties and changes to payout status
- How it works
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:
- Add additional information (e.g., add missing KYC information for vendor onboarding)
- 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.
## 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:
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.