POST /companies/{companyId}/campaignManagement

Creates a new donation campaign, to give shoppers the option to donate to a nonprofit organization when making a payment. A campaign can be for online payments, in-person payments, or both online and in-person payments.

To make this request, your API credential must have the following role:

Servers

Path parameters

Name Type Required Description
companyId String Yes

The unique identifier of the company account.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
online Object No

The settings for online donations collected as part of the campaign.

online.donationType String No

The type of donation to collect from the shopper. Possible values:

  • roundup: Round up the transaction amount.

  • fixedAmounts: Choose a fixed amount.

  • fixedAmountsRoundup: Round up, or choose a fixed amount.

Valid values:

  • "fixedAmountsRoundup"
  • "fixedAmounts"
  • "roundup"
online.defaultAmount Object No

The default amount for donations.

online.defaultAmount.currencyCode String Yes

The three-character ISO currency code.

online.defaultAmount.amounts[] Array Yes

The donation amounts in minor units. The list must contain at least one amount and no more than three amounts.

online.merchantAccounts[] Array No

The merchant accounts for this sales channel that are associated with the donation campaign.

online.storeIds[] Array No

The Adyen-generated unique identifiers of stores for this sales channel that are associated with the donation campaign.

name String Yes

The name of the donation campaign.

accountHolderIds[] Array No

The unique identifiers of the account holders associated with the donation campaign.

nonprofitCauseId String Yes

The unique identifier of the nonprofit cause that the campaign supports.

inPerson Object No

The settings for in-person donations collected as part of the campaign.

inPerson.donationType String No

The type of donation to collect from the shopper. Possible values:

  • roundup: Round up the transaction amount.

  • fixedAmounts: Choose a fixed amount.

  • fixedAmountsRoundup: Round up, or choose a fixed amount.

Valid values:

  • "fixedAmountsRoundup"
  • "fixedAmounts"
  • "roundup"
inPerson.defaultAmount Object No

The default amount for donations.

inPerson.defaultAmount.currencyCode String Yes

The three-character ISO currency code.

inPerson.defaultAmount.amounts[] Array Yes

The donation amounts in minor units. The list must contain at least one amount and no more than three amounts.

inPerson.displayTextField String Yes

The text shown on the payment terminal, either the name or the cause of the nonprofit organization.

Valid values:

  • "causeName"
  • "nonprofitName"
inPerson.presentCardTimeoutMs Integer No

Required if donationFlow is set to twoStep. The time, in milliseconds, that the terminal waits for the shopper to present their card. Defaults to 10000 (10 seconds). Range: 5000 to 15000.

inPerson.merchantAccounts[] Array No

The merchant accounts for this sales channel that are associated with the donation campaign.

inPerson.storeIds[] Array No

The Adyen-generated unique identifiers of stores for this sales channel that are associated with the donation campaign.

inPerson.promptTimeoutMs Integer No

The time, in milliseconds, that the terminal waits for the shopper to make a selection on the donation screen. Defaults to 10000 (10 seconds). Range: 5000 to 15000.

inPerson.donationFlow String Yes

The interaction flow for in-person donations. Possible values:

  • oneStep: The shopper presents their payment method for the payment and the donation in one go, after the donation.

  • twoStep: The shopper presents their payment method twice: after the payment and after the donation.

Valid values:

  • "oneStep"
  • "twoStep"

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.