Back to Collection Items
<?php
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Http')
$http = new COM("Chilkat.Http");
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "updates": [
// {
// "giftCommitmentId": "<SFDC_GIFT_COMMITMENT_ID>",
// "paymentInstrument": {
// "type": "credit card",
// "accountHolderName": "test donor 1",
// "expiryMonth": "10",
// "expiryYear": "2026",
// "last4": "4585",
// "cardBrand": "visa",
// "bankName": "chase",
// "digitalWalletProvider": "apple pay",
// "bankAccountHolderType": "primary",
// "bankAccountType": "checking",
// "bankAccountNumber": "123456",
// "bankCode": "HBUK",
// "gatewayName": "stripe",
// "processorName": "classy",
// "processorPaymentReference": "string",
// "gatewayReference": "string"
// }
// },
// {
// "giftCommitmentId": "<SFDC_GIFT_COMMITMENT_ID>",
// "paymentInstrument": {
// "type": "credit card",
// "accountHolderName": "test donor 2",
// "expiryMonth": "10",
// "expiryYear": "2026",
// "last4": "4585",
// "cardBrand": "visa",
// "bankName": "chase",
// "digitalWalletProvider": "apple pay",
// "bankAccountHolderType": "primary",
// "bankAccountType": "checking",
// "bankAccountNumber": "123456",
// "bankCode": "HBUK",
// "gatewayName": "stripe",
// "processorName": "test processor",
// "processorPaymentReference": "string",
// "gatewayReference": "string"
// }
// }
// ]
// }
// For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject')
$json = new COM("Chilkat.JsonObject");
$json->UpdateString('updates[0].giftCommitmentId','<SFDC_GIFT_COMMITMENT_ID>');
$json->UpdateString('updates[0].paymentInstrument.type','credit card');
$json->UpdateString('updates[0].paymentInstrument.accountHolderName','test donor 1');
$json->UpdateString('updates[0].paymentInstrument.expiryMonth','10');
$json->UpdateString('updates[0].paymentInstrument.expiryYear','2026');
$json->UpdateString('updates[0].paymentInstrument.last4','4585');
$json->UpdateString('updates[0].paymentInstrument.cardBrand','visa');
$json->UpdateString('updates[0].paymentInstrument.bankName','chase');
$json->UpdateString('updates[0].paymentInstrument.digitalWalletProvider','apple pay');
$json->UpdateString('updates[0].paymentInstrument.bankAccountHolderType','primary');
$json->UpdateString('updates[0].paymentInstrument.bankAccountType','checking');
$json->UpdateString('updates[0].paymentInstrument.bankAccountNumber','123456');
$json->UpdateString('updates[0].paymentInstrument.bankCode','HBUK');
$json->UpdateString('updates[0].paymentInstrument.gatewayName','stripe');
$json->UpdateString('updates[0].paymentInstrument.processorName','classy');
$json->UpdateString('updates[0].paymentInstrument.processorPaymentReference','string');
$json->UpdateString('updates[0].paymentInstrument.gatewayReference','string');
$json->UpdateString('updates[1].giftCommitmentId','<SFDC_GIFT_COMMITMENT_ID>');
$json->UpdateString('updates[1].paymentInstrument.type','credit card');
$json->UpdateString('updates[1].paymentInstrument.accountHolderName','test donor 2');
$json->UpdateString('updates[1].paymentInstrument.expiryMonth','10');
$json->UpdateString('updates[1].paymentInstrument.expiryYear','2026');
$json->UpdateString('updates[1].paymentInstrument.last4','4585');
$json->UpdateString('updates[1].paymentInstrument.cardBrand','visa');
$json->UpdateString('updates[1].paymentInstrument.bankName','chase');
$json->UpdateString('updates[1].paymentInstrument.digitalWalletProvider','apple pay');
$json->UpdateString('updates[1].paymentInstrument.bankAccountHolderType','primary');
$json->UpdateString('updates[1].paymentInstrument.bankAccountType','checking');
$json->UpdateString('updates[1].paymentInstrument.bankAccountNumber','123456');
$json->UpdateString('updates[1].paymentInstrument.bankCode','HBUK');
$json->UpdateString('updates[1].paymentInstrument.gatewayName','stripe');
$json->UpdateString('updates[1].paymentInstrument.processorName','test processor');
$json->UpdateString('updates[1].paymentInstrument.processorPaymentReference','string');
$json->UpdateString('updates[1].paymentInstrument.gatewayReference','string');
// Adds the "Authorization: Bearer <access_token>" header.
$http->AuthToken = '<access_token>';
// resp is a Chilkat.HttpResponse
$resp = $http->PostJson3('https://domain.com/services/data/v{{version}}/connect/fundraising/commitments/payment-updates','application/json',$json);
if ($http->LastMethodSuccess == 0) {
print $http->LastErrorText . "\n";
exit;
}
// For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringBuilder')
$sbResponseBody = new COM("Chilkat.StringBuilder");
$resp->GetBodySb($sbResponseBody);
// For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject')
$jResp = new COM("Chilkat.JsonObject");
$jResp->LoadSb($sbResponseBody);
$jResp->EmitCompact = 0;
print 'Response Body:' . "\n";
print $jResp->emit() . "\n";
$respStatusCode = $resp->StatusCode;
print 'Response Status Code = ' . $respStatusCode . "\n";
if ($respStatusCode >= 400) {
print 'Response Header:' . "\n";
print $resp->Header . "\n";
print 'Failed.' . "\n";
exit;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "successes": 2,
// "failures": 0,
// "notProcessed": 0,
// "details": [
// {
// "success": true,
// "links": {
// "giftcommitment": {
// "href": "/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>",
// "id": "<SFDC_GIFT_COMMITMENT_ID>"
// },
// "paymentinstrument": {
// "href": "/services/data/vXX.X/sobjects/sObject/<SFDC_PAYMENT_INSTRUMENT_ID>",
// "id": "<SFDC_PAYMENT_INSTRUMENT_ID>"
// }
// }
// },
// {
// "success": true,
// "links": {
// "giftcommitment": {
// "href": "/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>",
// "id": "<SFDC_GIFT_COMMITMENT_ID>"
// },
// "paymentinstrument": {
// "href": "/services/data/vXX.X/sobjects/sObject/<SFDC_PAYMENT_INSTRUMENT_ID>",
// "id": "<SFDC_PAYMENT_INSTRUMENT_ID>"
// }
// }
// }
// ]
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
$successes = $jResp->IntOf('successes');
$failures = $jResp->IntOf('failures');
$notProcessed = $jResp->IntOf('notProcessed');
$i = 0;
$count_i = $jResp->SizeOfArray('details');
while ($i < $count_i) {
$jResp->I = $i;
$success = $jResp->BoolOf('details[i].success');
$Href = $jResp->stringOf('details[i].links.giftcommitment.href');
$Id = $jResp->stringOf('details[i].links.giftcommitment.id');
$PaymentinstrumentHref = $jResp->stringOf('details[i].links.paymentinstrument.href');
$PaymentinstrumentId = $jResp->stringOf('details[i].links.paymentinstrument.id');
$i = $i + 1;
}
?>
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
-d '{
"updates": [
{
"giftCommitmentId": "<SFDC_GIFT_COMMITMENT_ID>",
"paymentInstrument": {
"type": "credit card",
"accountHolderName": "test donor 1",
"expiryMonth": "10",
"expiryYear": "2026",
"last4": "4585",
"cardBrand": "visa",
"bankName": "chase",
"digitalWalletProvider": "apple pay",
"bankAccountHolderType": "primary",
"bankAccountType": "checking",
"bankAccountNumber": "123456",
"bankCode": "HBUK",
"gatewayName": "stripe",
"processorName": "classy",
"processorPaymentReference": "string",
"gatewayReference": "string"
}
},
{
"giftCommitmentId": "<SFDC_GIFT_COMMITMENT_ID>",
"paymentInstrument": {
"type": "credit card",
"accountHolderName": "test donor 2",
"expiryMonth": "10",
"expiryYear": "2026",
"last4": "4585",
"cardBrand": "visa",
"bankName": "chase",
"digitalWalletProvider": "apple pay",
"bankAccountHolderType": "primary",
"bankAccountType": "checking",
"bankAccountNumber": "123456",
"bankCode": "HBUK",
"gatewayName": "stripe",
"processorName": "test processor",
"processorPaymentReference": "string",
"gatewayReference": "string"
}
}
]
}'
https://domain.com/services/data/v{{version}}/connect/fundraising/commitments/payment-updates
Postman Collection Item JSON
{
"name": "Update Commitment Payments",
"request": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"updates\": [\n {\n \"giftCommitmentId\": \"<SFDC_GIFT_COMMITMENT_ID>\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor 1\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"classy\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n },\n {\n \"giftCommitmentId\": \"<SFDC_GIFT_COMMITMENT_ID>\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor 2\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"test processor\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/payment-updates",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"connect",
"fundraising",
"commitments",
"payment-updates"
]
},
"description": "Update the future payment instrument metadata for active gift commitments.\n\n## Required Attributes:\n\n- giftCommitmentId\n \n- paymentInstrument.type"
},
"response": [
{
"name": "Status201-UpdateCommitmentSuccess",
"originalRequest": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"updates\": [\n {\n \"giftCommitmentId\": \"<SFDC_GIFT_COMMITMENT_ID>\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor 1\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"classy\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n },\n {\n \"giftCommitmentId\": \"<SFDC_GIFT_COMMITMENT_ID>\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor 2\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"test processor\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/payment-updates",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"connect",
"fundraising",
"commitments",
"payment-updates"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"description": ""
}
],
"cookie": [
],
"body": "{\n \"successes\": 2,\n \"failures\": 0,\n \"notProcessed\": 0,\n \"details\": [\n {\n \"success\": true,\n \"links\": {\n \"giftcommitment\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>\",\n \"id\": \"<SFDC_GIFT_COMMITMENT_ID>\"\n },\n \"paymentinstrument\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_PAYMENT_INSTRUMENT_ID>\",\n \"id\": \"<SFDC_PAYMENT_INSTRUMENT_ID>\"\n }\n }\n },\n {\n \"success\": true,\n \"links\": {\n \"giftcommitment\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>\",\n \"id\": \"<SFDC_GIFT_COMMITMENT_ID>\"\n },\n \"paymentinstrument\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_PAYMENT_INSTRUMENT_ID>\",\n \"id\": \"<SFDC_PAYMENT_INSTRUMENT_ID>\"\n }\n }\n }\n ]\n}"
},
{
"name": "Status200-UpdateCommitmentRequestValidationFailure",
"originalRequest": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"updates\": [\n {\n \"giftCommitmentId\": \"INVALID COMMITMENT ID\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor 1\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"classy\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n },\n {\n \"giftCommitmentId\": \"<SFDC_GIFT_COMMITMENT_ID>\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor 2\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"test processor\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/payment-updates",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"connect",
"fundraising",
"commitments",
"payment-updates"
]
}
},
"status": "Created",
"code": 201,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"description": ""
}
],
"cookie": [
],
"body": "{\n \"successes\": 1,\n \"failures\": 1,\n \"notProcessed\": 0,\n \"details\": [\n {\n \"success\": false,\n \"errors\": {\n \"field\": \"id\",\n \"message\": \"<invalid id message>\"\n }\n },\n {\n \"success\": true,\n \"links\": {\n \"giftcommitment\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>\",\n \"id\": \"<SFDC_GIFT_COMMITMENT_ID>\"\n },\n \"paymentinstrument\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_PAYMENT_INSTRUMENT_ID>\",\n \"id\": \"<SFDC_PAYMENT_INSTRUMENT_ID>\"\n }\n }\n }\n ]\n}"
},
{
"name": "Status200-UpdateCommitmentDatabaseFailure",
"originalRequest": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"updates\": [\n {\n \"giftCommitmentId\": \"<SFDC_GIFT_COMMITMENT_ID>\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"classy\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n },\n {\n \"giftCommitmentId\": \"<SFDC_GIFT_COMMITMENT_ID>\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"google pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"test processor\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/payment-updates",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"connect",
"fundraising",
"commitments",
"payment-updates"
]
}
},
"status": "Created",
"code": 201,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"description": ""
}
],
"cookie": [
],
"body": "// This is a scenario where there is a validation rule on the Payment Instrument object requiring that the digitalWalletProvider cannot be \"Apple Pay\". One database error occurs for the 10.50 cover amount, causing the other two to be rolled back with success of false and no record links.\n{\n \"successes\": 0,\n \"failures\": 1,\n \"notProcessed\": 1,\n \"details\": [\n {\n \"success\": false,\n \"errors\": {\n \"message\": \"<validation_rule_error_message>\"\n }\n },\n {\n \"success\": false\n }\n ]\n}"
},
{
"name": "Status201-UpdateCommitmentExternalIds",
"originalRequest": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"updates\": [\n {\n \"giftCommitment\": {\n \"externalId\": {\n \"fieldName\": \"<EXTERNAL_ID_FIELD_NAME>\",\n \"fieldValue\": \"<EXTERNAL_ID_FIELD_VALUE>\"\n }\n },\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"david chavez\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"classy\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n },\n {\n \"giftCommitment\": {\n \"externalId\": {\n \"fieldName\": \"<EXTERNAL_ID_FIELD_NAME>\",\n \"fieldValue\": \"<EXTERNAL_ID_FIELD_VALUE>\"\n }\n },\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"luke smith\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"test processor\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/payment-updates",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"connect",
"fundraising",
"commitments",
"payment-updates"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"description": ""
}
],
"cookie": [
],
"body": "{\n \"successes\": 2,\n \"failures\": 0,\n \"notProcessed\": 0,\n \"details\": [\n {\n \"success\": true,\n \"links\": {\n \"giftcommitment\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>\",\n \"id\": \"<SFDC_GIFT_COMMITMENT_ID>\"\n },\n \"paymentinstrument\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_PAYMENT_INSTRUMENT_ID>\",\n \"id\": \"<SFDC_PAYMENT_INSTRUMENT_ID>\"\n }\n }\n },\n {\n \"success\": true,\n \"links\": {\n \"giftcommitment\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>\",\n \"id\": \"<SFDC_GIFT_COMMITMENT_ID>\"\n },\n \"paymentinstrument\": {\n \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_PAYMENT_INSTRUMENT_ID>\",\n \"id\": \"<SFDC_PAYMENT_INSTRUMENT_ID>\"\n }\n }\n }\n ]\n}"
},
{
"name": "Status400-BadRequestError",
"originalRequest": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"updates\": [\n {\n \"giftCommitmentId\": \"<SFDC_GIFT_COMMITMENT_ID>\",\n \"paymentInstrument\": {\n \"type\": \"credit card\",\n \"accountHolderName\": \"test donor\",\n \"expiryMonth\": \"10\",\n \"expiryYear\": \"2026\",\n \"last4\": \"4585\",\n \"cardBrand\": \"visa\",\n \"bankName\": \"chase\",\n \"digitalWalletProvider\": \"apple pay\",\n \"bankAccountHolderType\": \"primary\",\n \"bankAccountType\": \"checking\",\n \"bankAccountNumber\": \"123456\",\n \"bankCode\": \"HBUK\",\n \"gatewayName\": \"stripe\",\n \"processorName\": \"test processor\",\n \"processorPaymentReference\": \"string\",\n \"gatewayReference\": \"string\"\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/payment-updates",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"connect",
"fundraising",
"commitments",
"payment-updates"
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"description": ""
}
],
"cookie": [
],
"body": " // Even if the JSON request is valid, this is an example of a 400 error code that will be returned if duplicate matching rules are not active. Any non 200 error code would have a similar response structure.\n {\n \"errorCode\": \"UNKNOWN_EXCEPTION\",\n \"message\": \"Provide active duplicate matching rules on Account and Person Account for donor matching. -- industries.fundraisingops.connect.impl.validator.ValidatorUtil.validateMatchingMethod(ValidatorUtil.java:103)\"\n }"
}
]
}