{"_id":"5b8ec56484303f0003a11456","category":{"_id":"5b8ec56484303f0003a1141f","version":"5b8ec56484303f0003a1145f","project":"57336fd5a6a9c40e00e13a0b","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-03-17T15:51:04.102Z","from_sync":false,"order":3,"slug":"marketplace","title":"Marketplace"},"parentDoc":null,"project":"57336fd5a6a9c40e00e13a0b","user":"560d5913af97231900938124","version":{"_id":"5b8ec56484303f0003a1145f","project":"57336fd5a6a9c40e00e13a0b","__v":0,"forked_from":"5b1972b45952df0003e8a725","createdAt":"2018-04-23T14:36:48.535Z","releaseDate":"2018-04-23T14:36:48.535Z","categories":["5b8ec56484303f0003a1141c","5b8ec56484303f0003a1141d","5b8ec56484303f0003a1141e","5b8ec56484303f0003a1141f","5b8ec56484303f0003a11420","5b8ec56484303f0003a11421","5b8ec56484303f0003a11422","5b8ec56484303f0003a11423"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"3.27 Release","version_clean":"8976.0.0-Basics","version":"8976-Basics"},"githubsync":"","__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-03-17T15:52:13.570Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"As the Marketplace Merchant, you'll send transactions for processing on behalf of your vendors. Remember that a vendor must have a [processing status](doc:vendor-onboarding#section-processing-status) of Active to have transactions processed. \n\nThis section will cover the following topics: \n* [Supported payment methods](#section-supported-payment-methods)\n* [One-time transactions](#section-one-time-transactions)\n* [Subscriptions](#section-subscriptions)\n* [Refunds & chargebacks](#section-refunds-chargebacks)\n\n## Supported payment methods \n* Cards\n* Wallets (Apple Pay, MasterPass, Visa Checkout)\n* ACH/eCheck\n* SEPA Direct Debit \n\n## One-time transactions\n### Processing one-time transactions overview\nFor each vendor involved in the one-time transaction, include their vendor ID in the request (shown below). The vendor ID will connect the transaction to you and your vendor, and it will be included as part of the payout calculation. Up to ten vendors can be linked to the same transaction.\n[block:html]\n{\n  \"html\": \"<ul class=\\\"nav nav-tabs\\\">\\n  <li class=\\\"active\\\"><a data-toggle=\\\"tab\\\" href=\\\"#jsonMenu\\\">JSON</a></li>\\n  <li><a data-toggle=\\\"tab\\\" href=\\\"#xmlMenu\\\">XML</a></li>\\n</ul>\\n\\n<div class=\\\"tab-content\\\">\\n  <div id=\\\"jsonMenu\\\" class=\\\"tab-pane fade in active\\\">\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"vendorsInfo\\\": {\\n    \\\"vendorInfo\\\": [\\n      {\\\"vendorId\\\": \\\"10398032\\\"}\\n    ]\\n  }\\n  ...\\n}\",\n      \"language\": \"json\",\n      \"name\": \"One vendor\"\n    },\n    {\n      \"code\": \"{\\n  \\\"vendorsInfo\\\": {\\n    \\\"vendorInfo\\\": [\\n      {\\\"vendorId\\\": \\\"10398032\\\"}, \\n      {\\\"vendorId\\\": \\\"10398030\\\"}\\n    ]\\n  }\\n  ...\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Multiple vendors\"\n    }\n  ]\n}\n[/block]\n\n[block:html]\n{\n  \"html\": \"\\t</div>\\n<div id=\\\"xmlMenu\\\" class=\\\"tab-pane fade\\\">\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"  <vendors-info>\\n    <vendor-info>\\n      <vendor-id>10398032</vendor-id>\\n    </vendor-info>\\n  </vendors-info>\\n  ... \",\n      \"language\": \"xml\",\n      \"name\": \"One vendor\"\n    },\n    {\n      \"code\": \"  <vendors-info>\\n    <vendor-info>\\n      <vendor-id>10398032</vendor-id>\\n    </vendor-info>\\n    <vendor-info>\\n      <vendor-id>10398030</vendor-id>\\n    </vendor-info>\\n  </vendors-info>\\n  ... \",\n      \"language\": \"xml\",\n      \"name\": \"Multiple vendors\"\n    }\n  ]\n}\n[/block]\n\n[block:html]\n{\n  \"html\": \"</div>\\n</div>\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Commission Split\",\n  \"body\": \"The commission split will occur when the shopper's funds are captured.\"\n}\n[/block]\n <a class=\"btn btn-primary\" href=\"#\" role=\"button\">Back to Top</a>\n\n##### Overriding commission rate in a transaction request\nYou can override the default commission rate (set in the Create or Update Vendor requests) of one or more vendors for a specific transaction. To override with either a percent or an amount (in the transaction currency), include `commissionPercent` or `commissionAmount` in the request, as shown below. \n[block:html]\n{\n  \"html\": \"<ul class=\\\"nav nav-tabs\\\">\\n  <li class=\\\"active\\\"><a data-toggle=\\\"tab\\\" href=\\\"#jsonMenu1\\\">JSON</a></li>\\n  <li><a data-toggle=\\\"tab\\\" href=\\\"#xmlMenu1\\\">XML</a></li>\\n</ul>\\n\\n<div class=\\\"tab-content\\\">\\n  <div id=\\\"jsonMenu1\\\" class=\\\"tab-pane fade in active\\\">\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"vendorsInfo\\\": {\\n    \\\"vendorInfo\\\": [\\n      {\\\"vendorId\\\": \\\"10398032\\\", \\n        \\\"commissionPercent\\\": 30}\\n    ]\\n  }\\n  ...\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Commission percent\"\n    },\n    {\n      \"code\": \"{\\n  \\\"vendorsInfo\\\": {\\n    \\\"vendorInfo\\\": [\\n      {\\\"vendorId\\\": \\\"10398032\\\", \\n        \\\"commissionAmount\\\": 40.75}\\n    ]\\n  }\\n  ...\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Commission amount\"\n    }\n  ]\n}\n[/block]\n\n[block:html]\n{\n  \"html\": \"\\t</div>\\n<div id=\\\"xmlMenu1\\\" class=\\\"tab-pane fade\\\">\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"  <vendors-info>\\n    <vendor-info>\\n      <vendor-id>10398032</vendor-id>\\n      <commission-percent>30</commission-percent>\\n    </vendor-info>\\n  </vendors-info>\\n  ... \",\n      \"language\": \"xml\",\n      \"name\": \"Commission percent\"\n    },\n    {\n      \"code\": \"  <vendors-info>\\n    <vendor-info>\\n      <vendor-id>10398032</vendor-id>\\n      <commission-amount>40.75</commission-amount>\\n    </vendor-info>\\n  </vendors-info>\\n  ... \",\n      \"language\": \"xml\",\n      \"name\": \"Commission amount \"\n    }\n  ]\n}\n[/block]\n\n[block:html]\n{\n  \"html\": \"</div>\\n</div>\"\n}\n[/block]\n<a class=\"btn btn-primary\" href=\"#\" role=\"button\">Back to Top</a>\n\n## Card & Wallet transactions\n###Auth and Capture \nTo do the authorization and capture in the same step, send an [Auth Capture](/v8976-JSON/docs/auth-capture) request. This payment flow is most notable for digital goods and physical goods that are in stock and are ready to be shipped immediately after the purchase. To link the transaction to one or more vendors, include `vendorsInfo` in the request body, as shown above in [Processing one-time transactions overview](#section-processing-one-time-transactions-overview). \n\n###Separate Auth and Capture\nTo separate the authorization and capture steps, send two separate requests: [Auth Only](/v8976-JSON/docs/auth-only) and then [Capture](/v8976-JSON/docs/capture). You can link one or more vendors to the transaction by including `vendorsInfo` in the body of either request, as shown above in [Processing one-time transactions overview](#section-processing-one-time-transactions-overview). This payment flow is most notable if the good/service will be delivered after the time of the purchase. \n\n**Linking vendors to transaction in Auth Only request**\nThis option is useful if you know who will deliver the good/service right away and you plan to submit a single capture for the full authorization amount. In the Auth Only request, include `vendorsInfo`. In the Capture request, you can omit `vendorsInfo`. \n\n:fa-arrow-circle-right: Check out these examples: [Auth Only - basic with vendors info](/v8976-JSON/docs/auth-only#section-request-examples) and [Capture - basic](/v8976-JSON/docs/capture#section-request-examples). \n\n**Linking vendors to transaction in Capture request**\nThis option is useful if you need time after the initial authorization to identify who will deliver the good/service. In the Auth Only request, omit `vendorsInfo`. In the Capture request, include `vendorsInfo`.\n\n:fa-arrow-circle-right: Check out these examples: [Auth Only - basic with fraud info](/v8976-JSON/docs/auth-only#section-request-examples) and [Capture - with vendors info](/v8976-JSON/docs/capture#section-request-examples). \n\n**Note:** If you include `vendorsInfo` in both the Auth Only and Capture requests, the vendor information sent in the Capture request will override.  \n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Partial captures\",\n  \"body\": \"To perform a partial capture with one or more vendors, include their information within `vendorsInfo` and include the amount to be captured within `amount` (see the example [Capture - with amount and vendors info](/v8976-JSON/docs/capture#section-request-examples)). If you don't pass vendor information in the Capture request, no vendors will be linked to that capture and a commission split will not occur (any vendor information passed in the prior Auth Only request will be ignored). \\n\\n**Note:** To have partial captures enabled, contact your Implementation Specialist or [Merchant Support](mailto:merchants:::at:::bluesnap.com).\"\n}\n[/block]\n## ACH transactions\nTo process an [ACH/ECP](doc:ach-ecp) transaction involving one or more vendors, include `vendorsInfo` in the [Create ECP Transaction](/v8976-JSON/docs/create-ecp-transaction) request, as shown above in [Processing one-time transactions overview](#section-processing-one-time-transactions-overview).\n\n## SEPA Direct Debit transactions\nTo process a [SEPA Direct Debit](doc:sepa-direct-debit) transaction involving one or more vendors, include `vendorsInfo` in the [Create SEPA DD Transaction](/v8976-JSON/docs/create-sepa-dd-transaction) request, as shown above in [Processing one-time transactions overview](#section-processing-one-time-transactions-overview).\n\n<a class=\"btn btn-primary\" href=\"#\" role=\"button\">Back to Top</a>\n\n<hr>\n\n##Subscriptions\nWith BlueSnap's [subscription engine](https://developers.bluesnap.com/v8976-JSON/docs/subscription-management#section-bluesnap-subscription-billing-engine), recurring transactions will run automatically based on the created plan schedule. Each time the transaction is processed, a commission split will be generated and added to your BlueSnap account. First create a [plan](/v8976-JSON/docs/create-plan), then create a [subscription](/v8976-JSON/docs/create-subscription) by including the vendor's ID within `vendorInfo` in the request (shown below). \n\n**Note:** Only one vendor per subscription is supported.  \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{ \\n  \\\"vendorInfo\\\": {\\n    \\\"vendorId\\\": \\\"10398032\\\"\\n  }\\n  ...\\n}\",\n      \"language\": \"json\"\n    },\n    {\n      \"code\": \"  <vendor-info>\\n    <vendor-id>10398032</vendor-id> \\n  </vendor-info>\\n  ... \",\n      \"language\": \"xml\"\n    }\n  ]\n}\n[/block]\nTo override your vendor's default commission rate with either a percent or an amount (in the transaction currency), include `commissionPercent` or `commissionAmount` within `vendorInfo`. \n\n<a class=\"btn btn-primary\" href=\"#\" role=\"button\">Back to Top</a>\n\n<hr>\n\n##Refunds & chargebacks\n###Refunds\nTo refund a marketplace transaction, send a [Refund](/v8976-JSON/docs/refund) request. You can override a vendor's portion of the refund by including `vendor.{vendor ID}.amount` in the query string (shown below). If not included, the refund will be based on the original commission split of vendors. \n\n**Example 1: Overriding amount for one vendor**\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"/services/2/transactions/38418858/refund?amount=100&vendor.10398032.amount=30\",\n      \"language\": \"text\",\n      \"name\": \"Sample endpoint \"\n    }\n  ]\n}\n[/block]\nSending a request to this endpoint would refund 100 of the transaction, with 30 from vendor 10398032. \n\n**Example 2: Overriding amount for multiple vendors**\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"/services/2/transactions/38418858/refund?amount=100&vendor.10398032.amount=30&vendor.10398030.amount=50\",\n      \"language\": \"text\",\n      \"name\": \"Sample endpoint\"\n    }\n  ]\n}\n[/block]\nSending a request to this endpoint would refund 100 of the transaction, with 30 from vendor 10398032 and 50 from vendor 10398030.\n\n###Chargebacks\nIf BlueSnap is notified of a chargeback, we will automatically issue a refund for the transaction amount. The refund will be split between the Marketplace Merchant and the associated vendors according to the original commission split. Any chargeback fees will be charged to the Marketplace Merchant. \n<br />\n\n<a class=\"btn btn-primary\" href=\"#\" role=\"button\">Back to Top</a>\n\n<hr>\n\n##Next: Reporting \nNow that you've learned about how to process transactions, move on to learn about our reporting capabilities. \n\n**[➔ Reporting](/docs/reporting)**","excerpt":"Learn how to process transactions on behalf of your vendors. \nIf you have questions after reading this guide, check out our answers to [frequently asked questions](https://support.bluesnap.com/docs/merchant-faqs#section--what-is-a-marketplace-).","slug":"processing-transactions","type":"basic","title":"Processing Transactions"}

Processing Transactions

Learn how to process transactions on behalf of your vendors. If you have questions after reading this guide, check out our answers to [frequently asked questions](https://support.bluesnap.com/docs/merchant-faqs#section--what-is-a-marketplace-).

As the Marketplace Merchant, you'll send transactions for processing on behalf of your vendors. Remember that a vendor must have a processing status of Active to have transactions processed.

This section will cover the following topics:

Supported payment methods

  • Cards
  • Wallets (Apple Pay, MasterPass, Visa Checkout)
  • ACH/eCheck
  • SEPA Direct Debit

One-time transactions

Processing one-time transactions overview

For each vendor involved in the one-time transaction, include their vendor ID in the request (shown below). The vendor ID will connect the transaction to you and your vendor, and it will be included as part of the payout calculation. Up to ten vendors can be linked to the same transaction.

{
  "vendorsInfo": {
    "vendorInfo": [
      {"vendorId": "10398032"}
    ]
  }
  ...
}
{
  "vendorsInfo": {
    "vendorInfo": [
      {"vendorId": "10398032"}, 
      {"vendorId": "10398030"}
    ]
  }
  ...
}
  <vendors-info>
    <vendor-info>
      <vendor-id>10398032</vendor-id>
    </vendor-info>
  </vendors-info>
  ... 
  <vendors-info>
    <vendor-info>
      <vendor-id>10398032</vendor-id>
    </vendor-info>
    <vendor-info>
      <vendor-id>10398030</vendor-id>
    </vendor-info>
  </vendors-info>
  ... 

Commission Split

The commission split will occur when the shopper's funds are captured.

Back to Top

Overriding commission rate in a transaction request

You can override the default commission rate (set in the Create or Update Vendor requests) of one or more vendors for a specific transaction. To override with either a percent or an amount (in the transaction currency), include commissionPercent or commissionAmount in the request, as shown below.

{
  "vendorsInfo": {
    "vendorInfo": [
      {"vendorId": "10398032", 
        "commissionPercent": 30}
    ]
  }
  ...
}
{
  "vendorsInfo": {
    "vendorInfo": [
      {"vendorId": "10398032", 
        "commissionAmount": 40.75}
    ]
  }
  ...
}
  <vendors-info>
    <vendor-info>
      <vendor-id>10398032</vendor-id>
      <commission-percent>30</commission-percent>
    </vendor-info>
  </vendors-info>
  ... 
  <vendors-info>
    <vendor-info>
      <vendor-id>10398032</vendor-id>
      <commission-amount>40.75</commission-amount>
    </vendor-info>
  </vendors-info>
  ... 

Back to Top

Card & Wallet transactions

Auth and Capture

To do the authorization and capture in the same step, send an Auth Capture request. This payment flow is most notable for digital goods and physical goods that are in stock and are ready to be shipped immediately after the purchase. To link the transaction to one or more vendors, include vendorsInfo in the request body, as shown above in Processing one-time transactions overview.

Separate Auth and Capture

To separate the authorization and capture steps, send two separate requests: Auth Only and then Capture. You can link one or more vendors to the transaction by including vendorsInfo in the body of either request, as shown above in Processing one-time transactions overview. This payment flow is most notable if the good/service will be delivered after the time of the purchase.

Linking vendors to transaction in Auth Only request
This option is useful if you know who will deliver the good/service right away and you plan to submit a single capture for the full authorization amount. In the Auth Only request, include vendorsInfo. In the Capture request, you can omit vendorsInfo.

Check out these examples: Auth Only - basic with vendors info and Capture - basic.

Linking vendors to transaction in Capture request
This option is useful if you need time after the initial authorization to identify who will deliver the good/service. In the Auth Only request, omit vendorsInfo. In the Capture request, include vendorsInfo.

Check out these examples: Auth Only - basic with fraud info and Capture - with vendors info.

Note: If you include vendorsInfo in both the Auth Only and Capture requests, the vendor information sent in the Capture request will override.

Partial captures

To perform a partial capture with one or more vendors, include their information within vendorsInfo and include the amount to be captured within amount (see the example Capture - with amount and vendors info). If you don't pass vendor information in the Capture request, no vendors will be linked to that capture and a commission split will not occur (any vendor information passed in the prior Auth Only request will be ignored).

Note: To have partial captures enabled, contact your Implementation Specialist or Merchant Support.

ACH transactions

To process an ACH/ECP transaction involving one or more vendors, include vendorsInfo in the Create ECP Transaction request, as shown above in Processing one-time transactions overview.

SEPA Direct Debit transactions

To process a SEPA Direct Debit transaction involving one or more vendors, include vendorsInfo in the Create SEPA DD Transaction request, as shown above in Processing one-time transactions overview.

Back to Top


Subscriptions

With BlueSnap's subscription engine, recurring transactions will run automatically based on the created plan schedule. Each time the transaction is processed, a commission split will be generated and added to your BlueSnap account. First create a plan, then create a subscription by including the vendor's ID within vendorInfo in the request (shown below).

Note: Only one vendor per subscription is supported.

{ 
  "vendorInfo": {
    "vendorId": "10398032"
  }
  ...
}
  <vendor-info>
    <vendor-id>10398032</vendor-id> 
  </vendor-info>
  ... 

To override your vendor's default commission rate with either a percent or an amount (in the transaction currency), include commissionPercent or commissionAmount within vendorInfo.

Back to Top


Refunds & chargebacks

Refunds

To refund a marketplace transaction, send a Refund request. You can override a vendor's portion of the refund by including vendor.{vendor ID}.amount in the query string (shown below). If not included, the refund will be based on the original commission split of vendors.

Example 1: Overriding amount for one vendor

/services/2/transactions/38418858/refund?amount=100&vendor.10398032.amount=30

Sending a request to this endpoint would refund 100 of the transaction, with 30 from vendor 10398032.

Example 2: Overriding amount for multiple vendors

/services/2/transactions/38418858/refund?amount=100&vendor.10398032.amount=30&vendor.10398030.amount=50

Sending a request to this endpoint would refund 100 of the transaction, with 30 from vendor 10398032 and 50 from vendor 10398030.

Chargebacks

If BlueSnap is notified of a chargeback, we will automatically issue a refund for the transaction amount. The refund will be split between the Marketplace Merchant and the associated vendors according to the original commission split. Any chargeback fees will be charged to the Marketplace Merchant.

Back to Top


Next: Reporting

Now that you've learned about how to process transactions, move on to learn about our reporting capabilities.

➔ Reporting