Create Commitment Request Input

Input representation of the request to create a recurring gift commitment. This request body accepts an array of commitment requests. However, for the API version 60.0, up to 100 commitments is supported per request.<

To include the standard fields for the donor account, use the Create Commitment Input request body to specify the standard fields.

JSON Example 

You can pass the campaign, donor, and designation IDs in an externalId object containing fieldName and fieldValue.

Note

1{
2  "commitments": [
3    {
4      "amount": 15,
5      "type": "pledge",
6      "currencyIsoCode": "USD",
7      "transactionInterval": 1,
8      "transactionDay": "1",
9      "startDate": "2023-11-01",
10      "endDate": "",
11      "outreachSourceCode": {
12        "sourceCode": "AnimalEmailCampaign2023"
13      },
14      "donor": {
15        "donorType": "individual",
16        "id": "0015500000WO1ZixxL",
17        "firstName": "Daniel",
18        "lastName": "Chavez",
19        "phone": "510-432-1234",
20        "email": "d.chavez@salesforce.com",
21        "address": [
22          {
23            "street": "123 Main Street",
24            "city": "Tardis",
25            "state": "NJ",
26            "postalCode": "08638",
27            "country": "US"
28          }
29        ],
30        "accountCustomFields": [
31          {
32            "fieldName": "string",
33            "fieldValue": "string"
34          }
35        ]
36      },
37      "paymentInstrument": {
38        "type": "Credit Card",
39        "accountHolderName": "Daniel Chavez",
40        "expiryMonth": "10",
41        "expiryYear": "2026",
42        "last4": "4321",
43        "cardBrand": "Diner's Club",
44        "bankName": "chase",
45        "digitalWalletProvider": "",
46        "bankAccountHolderType": "primary",
47        "bankAccountType": "checking",
48        "bankAccountNumber": "123456",
49        "bankCode": "HBUK",
50        "gatewayName": "Gateway",
51        "processorName": "Centpro",
52        "processorPaymentReference": "string",
53        "gatewayReference": "string"
54      },
55      "designations": [
56        {
57          "designationId": "0gd0030f0303xx4",
58          "percent": 0
59        }
60      ],
61      "firstTransaction": {
62        "amount": 15,
63        "receivedDate": "2023-11-02",
64        "donorCoverAmount": 0.25,
65        "transactionStatus": "Paid",
66        "gatewayTransactionFee": 0.75,
67        "processorTransactionFee": 0.045,
68        "processorReference": "cls-1247586928747",
69        "gatewayReference": "102656693ac3ca6e0cdafbfe89ab99",
70        "lastGatewayResponseCode": "",
71        "lastGatewayErrorMessage": "",
72        "lastGatewayProcessedDateTime": "2023-11-02T21:57:51Z"
73      }
74    }
75  ]
76}

Properties 

NameTypeDescriptionRequired or OptionalAvailable Version
accountCustomFieldsCustom Field Details Input[]Standard and custom fields for the donor account.Optional60.0
amountDoubleExpected amount of the gift transaction in the commitment schedule.Required60.0
campaignCampaign Details InputCampaign that’s associated with the commitment.Optional60.0
currency​IsoCodeStringCurrency ISO code for the commitment.Optional60.0
designationsDesignation Details Input[]Default gift designations that are associated with the commitment.Optional60.0
donorDonor Details InputPerson, household, or organization account that’s associated with the commitment.Required60.0
endDateStringDate when the total amount of the commitment is expected to be paid. The default format is YYYY-MM-DD.Required60.0
first​TransactionTransaction Details InputFirst transaction of the commitment. Note: When type is pledge, this property cannot be included.Optional60.0
giftCommitment​CustomFieldsCustom Field Details Input[]Standard and custom fields of the gift commitment.Optional60.0
giftCommitment​Schedule​CustomFieldsCustom Field Details Input[]Standard and custom fields of the gift commitment schedule.Optional60.0
giftTransaction​CustomFieldsCustom Field Details Input[]Custom fields for the gift transaction. The giftTransactionCustomFields property also accepts the standard fields for the gift transaction.Optional60.0
outreach​SourceCodeOutreach Source Code Details InputOutreach source code that’s associated with the campaign for the gift commitment schedule.Optional60.0
payment​InstrumentPayment Instrument Details InputPayment instrument that’s used to complete the transaction.Required60.0
payment​Processor​CommitmentIdStringReference number of the commitment that was assigned by the processor.Optional60.0
startDateStringDate from when the commitment is in effect. The default format is YYYY-MM-DD.Required60.0
transaction​DayStringDay of the month to create gift transaction in the future for a monthly transaction period. If you select the day as 29 or 30, the gift transaction is created on the last day for months that don’t have that many days.Optional60.0
transaction​IntervalIntegerTransaction interval that’s applicable to the incoming transaction in the commitment.Optional60.0
transaction​PeriodStringTransaction period that’s applicable to the incoming transaction in the commitment. When type is pledge, this property must be set to Custom. If transactionPeriod is not provided, the default is Custom.Required60.0
typeStringType of transaction. Possible values are: Pledge or Recurring. The default value is Recurring.Optional62.0