Chilkat Online Tools

VB.NET / 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.

Dim http As New Chilkat.Http
Dim success As Boolean

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

Dim json As New 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>"

Dim resp As Chilkat.HttpResponse = http.PostJson3("https://domain.com/services/data/v{{version}}/connect/fundraising/commitments/payment-updates","application/json",json)
If (http.LastMethodSuccess = False) Then
    Debug.WriteLine(http.LastErrorText)
    Exit Sub
End If


Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)

Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())

Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
    Debug.WriteLine("Response Header:")
    Debug.WriteLine(resp.Header)
    Debug.WriteLine("Failed.")

    Exit Sub
End If



' 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



Dim success As Boolean
Dim Href As String
Dim Id As String
Dim PaymentinstrumentHref As String
Dim PaymentinstrumentId As String

Dim successes As Integer = jResp.IntOf("successes")
Dim failures As Integer = jResp.IntOf("failures")
Dim notProcessed As Integer = jResp.IntOf("notProcessed")
Dim i As Integer = 0
Dim count_i As Integer = 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
End While

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