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

Name Type Description Required or Optional Available Version
accountCustomFields Custom Field Details Input[] Standard and custom fields for the donor account. Optional 60.0
amount Double Expected amount of the gift transaction in the commitment schedule. Required 60.0
campaign Campaign Details Input Campaign that's associated with the commitment. Optional 60.0
currency​IsoCode String Currency ISO code for the commitment. Optional 60.0
designations Designation Details Input[] Default gift designations that are associated with the commitment. Optional 60.0
donor Donor Details Input Person, household, or organization account that's associated with the commitment. Required 60.0
endDate String Date when the total amount of the commitment is expected to be paid. The default format is YYYY-MM-DD. Required 60.0
first​Transaction Transaction Details Input First transaction of the commitment. Note: When type is pledge, this property cannot be included. Optional 60.0
giftCommitment​CustomFields Custom Field Details Input[] Standard and custom fields of the gift commitment. Optional 60.0
giftCommitment​Schedule​CustomFields Custom Field Details Input[] Standard and custom fields of the gift commitment schedule. Optional 60.0
giftTransaction​CustomFields Custom Field Details Input[] Custom fields for the gift transaction. The giftTransactionCustomFields property also accepts the standard fields for the gift transaction. Optional 60.0
outreach​SourceCode Outreach Source Code Details Input Outreach source code that's associated with the campaign for the gift commitment schedule. Optional 60.0
payment​Instrument Payment Instrument Details Input Payment instrument that's used to complete the transaction. Required 60.0
payment​Processor​CommitmentId String Reference number of the commitment that was assigned by the processor. Optional 60.0
startDate String Date from when the commitment is in effect. The default format is YYYY-MM-DD. Required 60.0
transaction​Day String Day 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. Optional 60.0
transaction​Interval Integer Transaction interval that's applicable to the incoming transaction in the commitment. Optional 60.0
transaction​Period String Transaction 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. Required 60.0
type String Type of transaction. Possible values are: Pledge or Recurring. The default value is Recurring. Optional 62.0