Receive a Debit Pull

Receive a debit pull payment from a contact
Receive
Receive a Debit Pull
 last updated: 
October 27, 2022

To stay in PCI compliance, you need to tokenize the card while collecting the contact's full card information including card number, expiry and CVV. We have partnered with VGS to bring this functionality to you.

Note: As debit pull is only allowed as a me-to-me funding channel, we use an Address Verification System (AVS) to confirm that the address of the person doing the debit pull matches the address of the account holder at the external bank.

There are two steps involved in showing the full card information:
- Step 1: Create a Debit Card Token
- Step 2: Update the Contact (with debit card info) using the Token
- Step 3: Receive a Debit Pull Payment

Testing:
In the TEST environment, you can use one of the test cards from this document that is enabled for debit pull.

Step 1: Create a Debit Card Token

ENDPOINT

  1. POST /v1/contact/{{contactId}}/debitcard/token

RESPONSE

  1. {
  2.     "id": "con-cf2e03cc-7fd1-4262-a5de-29e12d207f7d",
  3.     "debitCardToken": "contact-debit-card-test-900241cd-b3a0-4614-9811-0cbc90a9811d"
  4. }

Step 2: Update the Contact (with debit card info) using the Token

To add the debit card info to the contact, you will need to implement the VGS collect sample code in your client. The sample code is available in our public repositories on GitHub:

- Web apps: vgs-collect-web

- iOS apps: vgs-collect-ios

- Android apps: vgs-collect-android

- VGS Collect React Native & Flutter: https://www.verygoodsecurity.com/docs/vgs-collect/cross-platform-development/

Note: Do not include the sd-api-key and sd-person-id in the header. Include sd-debitcard-token (it is the token that you receive in Step 1. Token is valid for 5 minutes and can be used only once.

Org and Vault IDs

The VGS org and vault ID's required for implementing the sample code are:

- Test & Live Org ID: ACci3u9aEmutHr7zpAeVY2Zc
- Test Vault ID: tntbevlgikb
- Live Vault ID: tntpsikpeyn

Step 3: Receive a Debit Pull payment

ENDPOINT

  1. POST /v1/receive/debitpull

REQUEST

  1. {
  2.   "accountId": "{{accountId}}",
  3.   "contactId": "{{contactId}}",
  4.   "amount": "10.00",
  5.   "description": "your description text"
  6. }

RESPONSE

  1. {
  2.     "id": "tra-f6d57276-7f99-40a2-b67e-138323506c18",
  3.     "accountId": "acc-9eb9d71e-1656-4f68-8ed9-06b78ba34566",
  4.     "contactId": "con-cf2e03cc-7fd1-4262-a5de-29e12d207f7d",
  5.     "name": "Bright Light LLC",
  6.     "accountNumber": "",
  7.     "routingNumber": "",
  8.     "address": {
  9.         "addressType": "",
  10.         "line1": "",
  11.         "line2": "",
  12.         "city": "",
  13.         "state": "",
  14.         "country": "",
  15.         "postalCode": ""
  16.     },
  17.     "amount": "2.00",
  18.     "status": "completed",
  19.     "description": "Receive DebitPull",
  20.     "txnType": "credit",
  21.     "transferType": "debitCard",
  22.     "transferSubType": "originated",
  23.     "createdAt": "2022-03-01T01:58:02Z",
  24.     "modifiedAt": "2022-03-01T01:58:02Z",
  25.     "transferredAt": "2022-03-01T01:58:02Z",
  26.     "accountType": "",
  27.     "iban": "",
  28.     "valid": "",
  29.     "parentTransferId": "",
  30.     "reviewCode": "",
  31.     "reviewMessage": "",
  32.     "type": "",
  33.     "metadata": null,
  34.     "title": ""
  35. }