Update a Mandate

Updating a mandate enables you to change the customer information in a pre-existing mandate. All possible variables of a customer's information that can be updated are listed in the optional fields list. See Optional Fields for Updating a Mandate.
If you receive a new IBAN for a direct debit transaction that already has a mandate, you can update the mandate instead of creating a new one.
To update a mandate, include the new IBAN in the
fundTransfer_iban
field.
After the update mandate status becomes active, you can submit a direct debit with the same mandate ID as the original mandate.

Electronic Signature

You can also allow your customers to sign the updated mandate with an electronic signature, which requires additional fields and values. For more information, see Electronic Signature Fields.

Endpoints

Set the
apUpdateMandateService_run
field to
true
, and send the request to one of these endpoints:
Production:
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
Test:
https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor

Response Statuses

The update mandate service responds with one of these statuses in the
apUpdateMandateReply_status
field:
  • Active
    : the update mandate request is accepted and processed.
  • Failed
    : the update mandate request is not accepted.
The update mandate service also responds with a reason code in the
apUpdateMandateReply_reasonCode
field. For more information about reason codes, see the Reason Codes for SEPA Direct Debits for the Simple Order API.

Required Fields for Updating a Mandate

These are the minimum required fields to update a mandate. To update specific variables of a customer's information, use one or more fields from the optional fields list. See Optional Fields for Updating a Mandate.

Electronic Signature Fields

Include these fields in addition to the required fields if the customer is signing the updated mandate with an electronic signature.
Set to the URL to which the customer is redirected after the customer cancels the mandate update.
Set to
Y
.
Set to the URL to which the customer is redirected after the mandate update fails.
Set to the URL to which the customer is redirected after the customer completes the mandate update.

Optional Fields for Updating a Mandate

Set to
N
if the customer is not submitting an electronic signature.
Set to
true
if the customer is submitting an electronic signature.
billTo_company
billTo_county
billTo_language
billTo_middleName
billTo_title
fundTransfer_iban

Test Triggers for Updating a Mandate

In the
Cybersource
test environment, you can simulate specific response messages that you receive from transaction requests by including certain values in your transaction requests. The simulated environment enables you to become familiar with the response messages and develop methods for error handling.
Your account must be configured for testing trigger values. Contact your
Cybersource
account manager for more details.

Test Endpoint

For test transactions, send an API request to the test endpoint.
Test:
https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor

Trigger Values

To test for updating a mandate, send a mandate update request, and set the
merchantReferenceCode
field to a value listed in the Trigger Value column. The
Cybersource
response status is returned in the
apUpdateMandateReply_status
field.
Direct Debit Test Triggers for Updating a Mandate
Cybersource
Response Status
Trigger Value
Active
TC85000-34
Pending
No trigger.

Simple Order Example: Updating a Mandate

Light Dark
Request
This example request includes optional fields to update the customer's first name, last name, and country.
12345678910111213
<="urn:schemas-cybersource-com:transaction-data-1.214"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <paymentScheme>sepa</paymentScheme> <mandateID>12345678912345</mandateID> <billTo> <firstName>John</firstName> <lastName>Smith</lastName> <country>FR</country> </billTo> <apPaymentType>STS</apPaymentType> <apUpdateMandateService run="true"/> </>
Response to a Successful Request
1234567891011121314
<:c="urn:schemas-cybersource-com:transaction-data-1.214"> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <requestID>5235439239636004301064</requestID> <decision>PENDING</decision> <reasonCode>100</reasonCode> <apUpdateMandateReply> <reasonCode>100</reasonCode> <mandateID>mandate-3829202</mandateID> <status>ACTIVE</status> <responseCode>00001</responseCode> <processorTransactionID>26025864-9558-487a-bf83-da960b1bacfb </processorTransactionID> </apUpdateMandateReply> </>