A new way for developers to monetize on Square’s platform

A new way for developers to monetize on Square’s platform

Following our announcement in September that we’re working with Eventbrite to expand our offering for marketplaces, we’re excited to share…

Following our announcement in September that we’re working with Eventbrite to expand our offering for marketplaces, we’re excited to share that now marketplaces and platforms using our eCommerce API or Square Checkout can pay out their merchants and get paid themselves.

In the last few months we’ve worked closely with several developers and partners including Weebly and Schedulicity to test, refine, and provide feedback about the product. Using Square Multi-Party transactions, Weebly was able to expand Square’s offering to all of its plans:

“Owning a small business is a big achievement, but expanding and building out eCommerce can be a financial challenge. Weebly wants to make entrepreneurs lives easier and to keep them satisfied with our product and integrations. By making Square available on all of Weebly’s priced plans, we’re opening up the market for entrepreneurs to get started with the best financial service in the tech industry with both ease of use and at an affordable cost.” — Nick Dellis, VP of Business Development at Weebly

On the other hand, Schedulicity uses the product to solve complex payments problems:

“Square Multi-Party transactions allows businesses to use Schedulicity’s Fill My Book feature so that they can get paid and service fees are collected automatically. It is a seamless, elegant solution to a complex payment problem.” — Michael Wilson, Senior Vice President of Marketing & Business Development

Similarly, developers building solutions on these APIs now have a way to monetize by taking a portion of the transactions they process. Square supports a few methods for developers to do this:

Flat fee: A product or service costs $100, plus a $10 fee. In this case the platform will charge the buyer $110 while using the additional recipient object to direct $10 to themselves:

curl -X POST \
    [https://connect.squareup.com/v2/locations/location_id/transactions](https://connect.squareup.com/v2/locations/location_id/transactions) \
    -H 'authorization: Bearer REPLACE ME' \
    -H 'content-type: application/json' \
    -H 'origin: [https://connect.squareup.com'](https://connect.squareup.com') \
    -d '{
          "idempotency_key": "SOME_ID",
          "amount_money": {
            "amount": 11000,
            "currency": "USD"
          },
          "additional_recipients":[
            {
              "location_id":  "platform_location_id",
              "description":  "Platform - flat fee",
              "amount_money": { 
                  "amount": 1000,
                  "currency": "USD"
              }
            }
          ] 
          "card_nonce": "card_nonnce",
          "reference_id": "some optional reference id",
          "note": "some optional note",
          "delay_capture": false
        }'

Percent-based fee: A $100 product or service with a 10% fee. You must calculate the amount of the percent explicitly, and send it in the request. We do this to prevent any ambiguity around rounding if we calculated the % for you. In this case the platform will charge the buyer $111.11 while using the additional recipient object to direct $11.11 (10%) to themselves:

curl -X POST \
    [https://connect.squareup.com/v2/locations/location_id/transactions](https://connect.squareup.com/v2/locations/location_id/transactions) \
    -H 'authorization: Bearer REPLACE ME' \
    -H 'content-type: application/json' \
    -H 'origin: [https://connect.squareup.com'](https://connect.squareup.com') \
    -d '{
          "idempotency_key": "SOME_ID",
          "amount_money": {
            "amount": 11111,
            "currency": "USD"
          },
          "additional_recipients":[
            {
              "location_id":  "platform_location_id",
              "description":  Platform - percent-based fee",
              "amount_money": { 
                  "amount": 1111,
                  "currency": "USD"
              }
            }
          ] 
          "card_nonce": "card_nonnce",
          "reference_id": "some optional reference id",
          "note": "some optional note",
          "delay_capture": false
        }'

Transaction-based fee: A $100 product or service with a 10% fee. In this case the platform will charge the buyer $100 while using the additional recipient object to direct $10 to themselves:

curl -X POST \
    [https://connect.squareup.com/v2/locations/location_id/transactions](https://connect.squareup.com/v2/locations/location_id/transactions) \
    -H 'authorization: Bearer REPLACE ME' \
    -H 'content-type: application/json' \
    -H 'origin: [https://connect.squareup.com'](https://connect.squareup.com') \
    -d '{
          "idempotency_key": "SOME_ID",
          "amount_money": {
            "amount": 10000,
            "currency": "USD"
          },
          "additional_recipients":[
            {
              "location_id":  "platform_location_id",
              "description":  Platform - transaction-based fee",
              "amount_money": { 
                  "amount": 1000,
                  "currency": "USD"
              }
            }
          ] 
          "card_nonce": "card_nonnce",
          "reference_id": "some optional reference id",
          "note": "some optional note",
          "delay_capture": false
        }'

In all of these cases Square will continue to take its standard processing fees (Square’s fees vary according to geographic locations) before the payment is split between parties.

At Square, we’re always working to empower more sellers and developers with access to the economy and financial tools they need. We’re excited to take steps to help developers succeed financially on our platform.

This feature is available for developers building solutions for merchants based in Canada, the United Kingdom, and the United States.

Platform Reporting

We are also introducing a set of endpoints to enable platforms to report on the funds they received. These endpoints are:

  • ListAdditionalRecipientReceivables — see additional receivables funds received across all of the seller locations on your platform.

  • ListAdditionalRecipientReceivableRefunds — see additional receivables funds that were refunded across all of the seller locations on your platform.

Merchant Reporting

Square was founded on simple and transparent pricing. We clearly present the additional recipient funds taken from a given merchant on the Square seller dashboard.

As you can see the transaction window will include a new “Platform — transaction-based fee” line item indicating the funds the additional recipient took (10% in this case). As a developer you can customize the message a merchant will see on dashboard by using the description field in the additional recipient object.

To get started, go the Square’s Developer Portal to create an account (if you don’t already have one) and get your API credentials, ask your sellers to approve an additional oAuth permission PAYMENTS_WRITE_ADDITIONAL_RECIPIENTS, choose which above scenario is most relevant for you, and add the additional recipient object to your Charge request.

This is one step to better support our developer community with the means to monetize the solutions they build on top of the Square’s ecosystem.

Additional reading

Table Of Contents
View More Articles ›