Skip to main content

Astra

Introduction#

Using Unit's partnership with Astra, Unit clients can move funds between two debit cards - a Unit issued debit card, and an external card.

Card to card payments are an instant, simple and safe way to send or receive funds.

info

Unit can help connect you with the Astra team. Contact your Customer Success Manager for more information.

Use Cases#

Money movement through Astra is always instant, whether for account funding or peer-to-peer payments. There are no cut off times and transfers will still be immediate even on weekends and holidays.

Account Funding Using Card#

Decrease your customer’s time-to-first-use and increase deposits by immediately funding their Unit account.

Account funding using card is a way to instantly fund the customer account by pulling funds from an external debit card they own. This is a fast alternative to ACH debits or depositing a check, and it carries none of the fraud risk these other methods inherently introduce.

Push To Card#

You can allow your end customers to move funds from their Unit deposit account to an external account in real-time by using card-to-card payments.

note

If the recipient of the funds (owner of the external debit card) is not your end customer, but a third party, they would need to register with Astra and undergo Astra's KYC process in order to be eligible to receive funds. Please contact Unit for more information about this use case.

Card payments are subject to the Daily Transaction Limit on your end customer's deposit product. Astra also imposes a per-transaction limit.

Partner Agreements#

You will contract with Astra directly, and take advantage of special, flat rates for Unit clients.

Implementation#

Typical Implementation Steps#

The following implementation step assume the owner of both the Unit debit card and the external debit card are the same person. If that is not the case, the implementation steps may differ - please contact Unit for assistance.

  1. Create a UserIntent on Astra's API. You will receive a user intent id back from Astra.

  2. Authenticate the user using Astra's SDK. You should use the user intent id you received in #1 to initialize the SDK, to save the customer from needing to provide their personal information. You will receive back an Astra authorization code.

  3. Use the authentication code returned by Astra to generate an access token.

  4. Collect the external card details using Astra's SDK. Astra will register the card and create a dedicated card id for it.

  5. Get the dedicated card id Astra generated for the external card in step #4, by calling Astra's List Cards endpoint. You will have to provide the access token generated in #3.

  6. Use Unit's dedicated endpoint to enable card-to-card payments. You will pass the Unit card id in the URL, and the access token received in #3 in the body. In the response, you will receive an Astra card ID for that card.

  7. Once both cards are registered, you’ll create a Routine to move funds between the cards.

    • The card ID of the card you want to send the funds from should be set as the source_id (for account funding, use the external debit card ID as the source_id)
    • The card ID of the card you want to send the funds to should be set as the destination_id (for account funding, use the Unit debit card ID as the destination_id)
    • payment_type should be debit
    • type should be one-time
info

In order to successfully test this integration in sandbox, please use a new Unit debit card for testing.

Enable Card To Card Payments Using Astra#

VerbPATCH
Urlhttps://api.s.api.unit.sh/cards
Required Scopecards-write
Timeout (Seconds)5

Attributes#

NameTypeDescription
tokenstringUser access token provided by Astra.
idempotencyKeystringOptional. See Idempotency.
curl --request PATCH 'https://api.s.unit.sh/cards/298242/enableCardToCardPayment' --header 'Content-Type: application/vnd.api+json' --header 'Authorization: Bearer $UnitToken' --data-raw '{    "data": {        "type": "astra",        "attributes": {            "token": "$AstraToken"        }    }}'

Response#

Response is a JSON:API document.

200 OK#

{    "data": {        "type": "astra",        "id": "298242",        "attributes": {            "astraCardId": "8ab2571a-bc35-4e1c-abfb-3fd01317a986"        }    }}

Dashboard#