You may want to create transactions with users before you verify their accounts. To do this, you can use the following endpoints with a verification_id instead of a user_id.

Get the User by a Verification ID

You can get information about a user by providing their verification ID.

Method

1. Call the get_by_verification_id endpoint

cURL
curl https://api.senddotssandbox.com/v2/users/get_by_verification_id/{verification_id} \
  -H "Authorization: Basic <TOKEN>"

response = {
  "success": true,
  "connected": true,
  "user": {
    "id": "5d8f8f8f-8f8f-8f8f-8f8f-8f8f8f8f8f8f", // note the ID will be null if the user is not verified
    "first_name": "Bob",
    "last_name": "John",
    "username": "bob_john",
    "email": "bob@example.com",
    "wallet": {
      "amount": 0,
      "withdrawable_amount": 0
    }
  }
}

Send Funds to an Unverified User

Funds can be sent to an unverified user. To retrieve funds from an unverified user, you will need to first verify them.

Method

1. Call the create_unverified endpoint

cURL
curl https://api.senddotssandbox.com/v2/transactions/create_unverified \
  -X POST \
  -H "Authorization: Basic <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
        "verification_id": "5bcbf7ac-c998-46ce-aa6e-a0c1a3f1f5bd",
        "amount": 1150,
        "receipt": {
          "items": [
          {
            "name": "Toy",
            "unit_amount": 1110,
            "quantity": 1,
            "description": "A tpy"
          }
          ],
          "breakdown": {
            "items_total": 1110
            "tax": 10,
            "shipping": 30
          }
        },
        "notes": {},
        "idempotency_key": "0cd90e5a-2c03-4ab6-81a8-d48818026e58"
      }'

response = {
  "success": true,
  "message": "string",
  "transaction": {
    "id": 234253546,
    "date": "string",
    "source_username": "Dots App",
    "destination_username": "bob_john",
    "amount": 1150,
    "type": "wallet",
    "completed": true,
    "notes": {},
    "receipt": {
      "items": [
        {
          "name": "Toy",
          "unit_amount": 1110,
          "quantity": 1,
          "description": "A tpy"
        }
      ],
      "breakdown": {
        "items_total": 1110,
        "tax": 10,
        "shipping": 30
      }
    },
    "credit_transaction_id": "string"
  }
}

Payout to an Unverified User

To payout to an unverified user, you can generate a payout link for them. They will first be verified and then can widthdraw funds.

Method

1. Call the /users/wallet/payout endpoint

cURL
curl https://pls.senddotssandbox.com/v2/users/wallet/payout \
  -X POST \
  -H "Authorization: Basic <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
        "verification_id": "8732b0e5-8d47-4be7-839f-5cdecbe2df99"
      }'

response = {
    "success": true,
    "link": "https://senddotssandbox.com/payout/Bug3toxuH6QCv9au820z5iZPfmQvZohAvMaNrpIASGXzk9asgkldjla"
  }