Check a Mandate Status
After the customer signs a mandate, request the check mandate status service periodically
to know when the status of a pending mandate updates.
You should request a mandate check status under these circumstances:
- The customer is redirected to one of the merchant URLs that you included in the mandate service request.
- The customer has not returned to the merchant URL within 35 minutes of being redirected to the mandate creation page.
If you are managing your mandates using
a third-party mandate management system, you cannot use
Cybersource
to verify the status of a mandate. Endpoints
Set the
apMandateStatusService_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 check mandate status service responds with one of these statuses in the
apMandateStatusReply_status
field:- Active: The mandate is successfully created, updated, or imported. A direct debit can be sent for this mandate ID.
- Expired: The mandate deadline has passed.
- Failed: The customer was not authenticated.
- Pending: The mandate is not signed yet.
- Revoked: The mandate was cancelled.
The check mandate status service also responds with a reason code in the
apMandateStatusReply_reasonCode
field. If
Cybersource
cannot find a mandate ID in the partner
system, the system responds with a 150
error which indicates a
general system failure. The mandate ID might not exist or is still in the signature
flow process if it is a new mandate.For more information about reason codes, see the Reason Codes for Bacs Direct Debits for the Simple Order API.
Required Fields for Checking a Mandate Status
- Set totrue.
- Set to.STL
- mandateID
Simple Order Example: Checking Mandate Status
Request
12345678<="urn:schemas-cybersource-com:transaction-data-1.214"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <paymentScheme>bacs</paymentScheme> <mandateID>12345678912345</mandateID> <apPaymentType>STL</apPaymentType> <apMandateStatusService run="true"/> </>
Response to a Successful Request
123456789101112<:c="urn:schemas-cybersource-com:transaction-data-1.214"> <merchantReferenceCode>test-merchant</merchantReferenceCode> <requestID>5235436070716004201064</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <apMandateStatusReply> <reasonCode>100</reasonCode> <mandateID>mandate-3829202</mandateID> <status>ACTIVE</status> <responseCode>00015</responseCode> </apMandateStatusReply> </>