MRDC - Mobile Remote Deposit Capture is a process that allows users to deposit checks into their accounts without having to go to a branch or ATM.

Customers can submit deposits by taking an image of the check and submitting it online using the Synctera platform.
Synctera API provides mobile deposit endpoints. As a FinTech you'll have to
implement a feature that allows a customer to take a photo of a check to be deposited.

Steps to submit a deposit

The curl examples assume you have set up baseurl and apikey environment variables.
See Base URL and Authentication for instructions.
Some examples depend on identifiers generated by previous steps. These are indicated like {PERSON_ID}.

  1. Prompt a customer to take images of the check on their mobile phone
  2. Upload the captured images to Synctera
  3. Select an account, select images and confirmed amount to submit the deposit

1. Prompt customers to take the front and back image of the check on their mobile phone

As a FinTech you'll have to add a feature on your application that allows users to take the front and back images of a deposit to be submitted.
After the user takes the front and back images of the check proceed to step 2

2. Upload images to Synctera

  1. Upload front image and save the ID returned. Refer to Create Document
curl -X POST \
  $baseurl/v0/documents \
  -H 'Authorization: Bearer $apikey' \
  --form 'name="test"' \
  --form 'type="CHECK_IMAGE"' \
  --form 'file=@"/path_to_image/front.jpeg"'

Synctera will return the following response:

{
  "creation_time": "2022-05-17T17:45:51.552888Z",
  "description": "",
  "file_name": "{FILE_NAME}",
  "id": "{ID}",
  "last_updated_time": "2022-05-17T17:45:51.552888Z",
  "name": "back.jpeg",
  "type": "CHECK_IMAGE"
}
  1. Upload the rear image and save the returned id. Refer to Create Document
curl -X POST \
  $baseurl/v0/documents \
  -H 'Authorization: Bearer $apikey' \
  --form 'name="{FILE_NAME}"' \
  --form 'type="CHECK_IMAGE"' \
  --form 'file=@"{PATH_TO_FILE}"' 
  

Synctera will return the following response:

{
  "creation_time": "2022-05-17T17:45:51.552888Z",
  "description": "",
  "file": "{FILE}",
  "id": "{ID}",
  "last_updated_time": "2022-05-17T17:45:51.552888Z",
  "name": "{NAME}",
  "type": "CHECK_IMAGE"
}

3. Submit Deposit

Refer to Submit Deposit

curl -X POST \
  $baseurl/rdc/deposits \
  -H 'Authorization: Bearer $apikey' \
  -H 'Content-Type: application/json' \
  -d '
 {
  "account_id": "{ACCOUNT_ID}",
  "front_image_id": "{FRONT_IMAGE_ID}",
  "back_image_id": "{BACK_IMAGE_ID}",
  "person_id": "{PERSON_ID}",
  "check_amount": 235,
  "deposit_currency": "USD"
}'

Response

{
  "account_id": "{ACCOUNT_ID}",
  "back_image_id": "{BACK_IMAGE_ID}",
  "check_amount": 235,
  "creation_time": "2022-05-17T17:49:51.978751Z",
  "date_captured": "2022-05-17T17:49:01.057994Z",
  "date_processed": "2022-05-17T04:00:00Z",
  "deposit_amount": 235,
  "deposit_currency": "USD",
  "front_image_id": "{FRONT_IMAGE_ID}",
  "id": "{ID}",
  "last_updated_time": "2022-05-17T17:49:51.978751Z",
  "person_id": "{PERSON_ID}",
  "status": "SUBMITTED",
  "transaction_id": "{TRANSACTION_ID}",
  "vendor_info": {
    "content_type": "application/json",
    "json": {
      "amountDiscrepancyDetected": false,
      "endorsementDetected": true,
      "errors": [],
      "frontImage": "{front_image_data}",
      "ocrAccountNumber": "968788737",
      "ocrAmount": "2.35",
      "ocrAmountConfidence": "1000",
      "ocrAmountStatus": "true",
      "ocrCheckNumber": "0188",
      "ocrCheckTranCode": "",
      "ocrRoutingNumber": "021202337",
      "ocrmicr": "d021202337d968782327c0188",
      "ocrmicrConfidence": "910",
      "ocrmicrStatus": "True",
      "processDate": "2022-05-17T00:00:00-04:00",
      "rearImage":  "{rear_image_data}",
      "referenceNumber": 202205,
      "riskRating": null,
      "riskRatingDescription": null,
      "status": "40",
      "statusDescription": "Pending",
      "success": true
    },
    "vendor": "checkalt"
  }
}

The deposit can be in any of the following states

  • SUBMITTED the deposit has been successfully scanned by the OCR and submitted for processing
  • PENDING The OCR engine detected issues such as amount discrepancy, duplicate deposit and fraud while scanning the image,
    a case will be created for manual review, please review the case to approve or reject the deposit request
  • FAILED The OCR engine detected issues with the submitted deposit. Please retake the images and resubmit
  • REJECTED The deposit has been rejected by the bank

Funds availability rules

When the fintech and bank sign up for MRDC they can configure funds availability rule that allows portion of the amount to be available immediately and create a temporary hold with an effective release date

Compliance for MRDC

To meet bank regulations, the fintech will be asked to share their image capture process with their partner bank. This may include providing a list of the libraries being used for the process and evidence that the check images are not being cached. In general, bank partners would like to ensure that images of checks are not stored for an extended period of time, if at all, and that any requests made with these images are done so securely.