Chilkat Online Tools

autoit / Salesforce Platform APIs / Update Commitment Payments

Back to Collection Items

; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oHttp = ObjCreate("Chilkat.Http")
Local $bSuccess

; 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"
;       }
;     }
;   ]
; }

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("updates[0].giftCommitmentId","<SFDC_GIFT_COMMITMENT_ID>")
$oJson.UpdateString("updates[0].paymentInstrument.type","credit card")
$oJson.UpdateString("updates[0].paymentInstrument.accountHolderName","test donor 1")
$oJson.UpdateString("updates[0].paymentInstrument.expiryMonth","10")
$oJson.UpdateString("updates[0].paymentInstrument.expiryYear","2026")
$oJson.UpdateString("updates[0].paymentInstrument.last4","4585")
$oJson.UpdateString("updates[0].paymentInstrument.cardBrand","visa")
$oJson.UpdateString("updates[0].paymentInstrument.bankName","chase")
$oJson.UpdateString("updates[0].paymentInstrument.digitalWalletProvider","apple pay")
$oJson.UpdateString("updates[0].paymentInstrument.bankAccountHolderType","primary")
$oJson.UpdateString("updates[0].paymentInstrument.bankAccountType","checking")
$oJson.UpdateString("updates[0].paymentInstrument.bankAccountNumber","123456")
$oJson.UpdateString("updates[0].paymentInstrument.bankCode","HBUK")
$oJson.UpdateString("updates[0].paymentInstrument.gatewayName","stripe")
$oJson.UpdateString("updates[0].paymentInstrument.processorName","classy")
$oJson.UpdateString("updates[0].paymentInstrument.processorPaymentReference","string")
$oJson.UpdateString("updates[0].paymentInstrument.gatewayReference","string")
$oJson.UpdateString("updates[1].giftCommitmentId","<SFDC_GIFT_COMMITMENT_ID>")
$oJson.UpdateString("updates[1].paymentInstrument.type","credit card")
$oJson.UpdateString("updates[1].paymentInstrument.accountHolderName","test donor 2")
$oJson.UpdateString("updates[1].paymentInstrument.expiryMonth","10")
$oJson.UpdateString("updates[1].paymentInstrument.expiryYear","2026")
$oJson.UpdateString("updates[1].paymentInstrument.last4","4585")
$oJson.UpdateString("updates[1].paymentInstrument.cardBrand","visa")
$oJson.UpdateString("updates[1].paymentInstrument.bankName","chase")
$oJson.UpdateString("updates[1].paymentInstrument.digitalWalletProvider","apple pay")
$oJson.UpdateString("updates[1].paymentInstrument.bankAccountHolderType","primary")
$oJson.UpdateString("updates[1].paymentInstrument.bankAccountType","checking")
$oJson.UpdateString("updates[1].paymentInstrument.bankAccountNumber","123456")
$oJson.UpdateString("updates[1].paymentInstrument.bankCode","HBUK")
$oJson.UpdateString("updates[1].paymentInstrument.gatewayName","stripe")
$oJson.UpdateString("updates[1].paymentInstrument.processorName","test processor")
$oJson.UpdateString("updates[1].paymentInstrument.processorPaymentReference","string")
$oJson.UpdateString("updates[1].paymentInstrument.gatewayReference","string")

; Adds the "Authorization: Bearer <access_token>" header.
$oHttp.AuthToken = "<access_token>"

Local $oResp = $oHttp.PostJson3("https://domain.com/services/data/v{{version}}/connect/fundraising/commitments/payment-updates","application/json",$oJson)
If ($oHttp.LastMethodSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)

$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False

ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)

Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oResp.Header & @CRLF)
    ConsoleWrite("Failed." & @CRLF)

    Exit
EndIf

; 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

Local $bSuccess
Local $sHref
Local $sId
Local $sPaymentinstrumentHref
Local $sPaymentinstrumentId

Local $iSuccesses = $oJResp.IntOf("successes")
Local $iFailures = $oJResp.IntOf("failures")
Local $iNotProcessed = $oJResp.IntOf("notProcessed")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("details")
While $i < $iCount_i
    $oJResp.I = $i
    $bSuccess = $oJResp.BoolOf("details[i].success")
    $sHref = $oJResp.StringOf("details[i].links.giftcommitment.href")
    $sId = $oJResp.StringOf("details[i].links.giftcommitment.id")
    $sPaymentinstrumentHref = $oJResp.StringOf("details[i].links.paymentinstrument.href")
    $sPaymentinstrumentId = $oJResp.StringOf("details[i].links.paymentinstrument.id")
    $i = $i + 1
Wend

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    }"
    }
  ]
}