Search code examples
payment-gatewaypaymentmarketplacebluesnap

How can I give a marketplace vendor a higher commission one-off?


I'm working with the BlueSnap marketplace and I have vendors who sell for me. For each vendor I have a basic commission that I defined originally:

{
    "email": "[email protected]",
   "firstName": "Mike",
    "lastName": "Janis",
    "phone": "0775884993"
    "address": "3 Stafford St",
    "city": "Boston",
    "country": "US",
    "state":"MA",
    "zip": "02119",
    "vendorAgreement": {
        "commissionPercent": 30
   }
}

and I use that for all sales, sending in their vendor id with the purchase:

{
    "amount": 30,
    "vaultedShopperId": 4663722,
    "vendorInfo": {
        "vendorId": "514147"
    },
    "softDescriptor": "MySOFTDESC",
    "currency": "USD",
    "cardTransactionType": "AUTH_CAPTURE"
}

But I plan to do this gamification process where vendors who sell better get a bit more for every sale, to get them motivated.

I got the idea for it sketched out, and I thought of just updating their vendor record commission constantly. Now I'm not so sure this is the best idea, because it requires two calls to the WS - one to update the vendor commission and one for the purchase. I looked in the documentation here https://developers.bluesnap.com/v8976-Basics/docs/marketplace-overview and I'm not sure if I can do it all in one-step - just call the purchase WS and give the vendor a one-off commission just for that purchase. Is it possible?


Solution

  • thank you for asking;

    The BlueSnap marketplace vendors can have their payout commission changed on each individual transaction. You currently use the default configured commission, like so:

    {
        "amount": 30,
        "vaultedShopperId": 4663722,
        "vendorInfo": {
            "vendorId": "514147"
        },
        "softDescriptor": "MySOFTDESC",
        "currency": "USD",
        "cardTransactionType": "AUTH_CAPTURE"
    }
    

    And for that transaction BlueSnap will credit the vendor the commission in the vendor agreement. However, if you want to change it for a specific transaction, you don't need to go through all the trouble of updating the vendor agreement. Instead, use this request:

    {
        "amount": 30,
        "vaultedShopperId": 4663722,
        "vendorInfo": {
            "vendorId": "514147",
            "commissionPercent": 20
        },
        "softDescriptor": "MySOFTDESC",
        "currency": "USD",
        "cardTransactionType": "AUTH_CAPTURE"
    }
    

    And the vendor will be credited 20% of the transaction as a one-off change in the vendor commission. You don't have to include the vendor commission in each transaction – if you want to return to use the default value, simply omit this extra field from the next transaction request.

    I hope this information is useful !