availability

If you're a new merchant looking for a marketplace solution, contact our Sales team.

To update a sub-merchant, you must specify the merchant_account_id along with the attributes to be changed. Any attributes not passed in the update call will remain unchanged.

Python
result = gateway.merchant_account.update(
    'blue_ladders_store',
    {
        'individual': {
            'first_name': 'Jane'
        }
    }
)

if result.is_success:
    print "Merchant account successfully updated"
else:
    print(result.errors)
This code snippet now uses gateway instance methods instead of class-level methods. Learn more.

If the merchant account can't be found, it will throw a NotFoundError exception.

You can update the sub-merchant details that fall under these 3 attributes:

  • individual
  • business
  • funding

Individual details

Every sub-merchant must have an individual tied to that account. To update or replace the individual information, pass in the details via a merchant account update call as follows:

Python
result = gateway.merchant_account.update(
    'blue_ladders_store',
    {
        'individual': {
            'first_name': "Jane",
            'last_name': "Doe",
            'email': "jane@14ladders.com",
            'phone': "5553334444",
            'date_of_birth': "1981-11-19",
            'ssn': "456-45-4567",
            'address': {
                'street_address': "111 Main St",
                'locality': "Chicago",
                'region': "IL",
                'postal_code': "60622"
            }
        }
    }
)

result.merchant_account.individual_details.first_name
# Jane
This code snippet now uses gateway instance methods instead of class-level methods. Learn more.

Only the last 4 digits of the SSN will be returned after a successful update since the field contains sensitive data.

Business details

If the sub-merchant is a registered business, you can update the DBA name, legal name, tax ID, and address fields.

Python
result = gateway.merchant_account.update(
    'blue_ladders_store',
    {
        'business': {
            'legal_name': "Jane's Ladders",
            'dba_name': "Jane's Ladders",
            'tax_id': "98-7654321",
            'address': {
                'street_address': "111 Main St",
                'locality': "Chicago",
                'region': "IL",
                'postal_code': "60622"
            }
        }
    }
)

result.merchant_account.business_details.legal_name
# Jane's Ladders
This code snippet now uses gateway instance methods instead of class-level methods. Learn more.

Note that the business details are optional and are in addition to the individual details that are always required. See Onboarding Sub-merchants for more information.

Funding details

The funding section controls where Braintree will disburse the settled funds. The fields can be updated as follows:

Python
result = gateway.merchant_account.update(
    'blue_ladders_store',
    {
        'funding': {
            'descriptor': "Blue Ladders",
            'destination': braintree.MerchantAccount.FundingDestination.Bank,
            'email': "funding@blueladders.com",
            'mobile_phone': "5555555555",
            'account_number': "1123581321",
            'routing_number': "071101307",
        }
    }
)

result.merchant_account.funding_details.routing_number
# 071101307
This code snippet now uses gateway instance methods instead of class-level methods. Learn more.

Only the last 4 digits of the account number will be returned after a successful update since the field contains sensitive data.

See also