# BantuPay APIs

BantuPay APIs BantuPay API - alpha <https://api-alpha.dev.bantupay.org/>


# User


# Create New User

## Create a new user

<mark style="color:green;">`POST`</mark> `https://api-alpha.dev.bantupay.org/v2/user`

#### Headers

| Name                  | Type   | Description                                                               |
| --------------------- | ------ | ------------------------------------------------------------------------- |
| X-BANTUPAY-PUBLIC-KEY | string | Bantu Blockchain Public key here                                          |
| X-BANTUPAY-SIGNATURE  | string | The payload can be singed with <https://request-signer.dev.bantu.network> |

#### Request Body

| Name             | Type   | Description |
| ---------------- | ------ | ----------- |
| verificationCode | string |             |
| username         | string |             |
| email            | string |             |
| lastName         | string |             |
| firstName        | string |             |
| middleName       | string |             |
| gender           | string |             |
| mobile           | string |             |
| telegram         | string |             |
| twitter          | string |             |
| imageThumbnail   | string |             |

{% tabs %}
{% tab title="200 " %}

```bash
{ "publicKey": "string" }
```

{% endtab %}

{% tab title="404 " %}

```bash
{
  "error": "string",
  "data": "string",
  "message": "string"
}
```

{% endtab %}
{% endtabs %}


# Get User Information

## Get User Information

<mark style="color:blue;">`GET`</mark> `https://api-alpha.dev.bantupay.org/v2/user/{username}`

#### Path Parameters

| Name     | Type   | Description |
| -------- | ------ | ----------- |
| username | string |             |

#### Headers

| Name                  | Type   | Description                                                                      |
| --------------------- | ------ | -------------------------------------------------------------------------------- |
| X-BANTUPAY-PUBLIC-KEY | string | your Bantu blockchain public key                                                 |
| X-BANTUPAY-SIGNATURE  | string | <p>payload can be signed with <https://request-signer.dev.bantu.network><br></p> |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "username": "richard",
  "email": "richard@ric.com",
  "lastName": "RIC",
  "firstName": "RICHA",
  "middleName": "",
  "gender": "",
  "mobile": "",
  "telegram": "",
  "instagram": "",
  "twitter": "",
  "imageThumbnail": "",
  "balances": {
    "claimed": [
      {
        "assetIssuer": "GDRK25QFQZBU3BONU4TAAPKWQQEERZB2POIPI2EM4GRTKCHXCQK27PY2",
        "assetCode": "FEE",
        "amount": "200"
      },
      {
        "assetIssuer": "GDRK25QFQZBU3BONU4TAAPKWQQEERZB2POIPI2EM4GRTKCHXCQK27PY2",
        "assetCode": "PAY",
        "amount": "100.1"
      },
      {
        "assetIssuer": "",
        "assetCode": "",
        "amount": "48.2233367"
      }
    ],
    "unclaimed": null
  }
}
```

{% endtab %}

{% tab title="404 " %}

```javascript
{
  "error": "string",
  "data": "string",
  "message": "string"
}
```

{% endtab %}
{% endtabs %}


# Modify Existing User

## Modify Existing User

<mark style="color:orange;">`PUT`</mark> `https://api-alpha.dev.bantupay.org/v2/user/{username}`

#### Path Parameters

| Name     | Type   | Description |
| -------- | ------ | ----------- |
| username | string |             |

#### Headers

| Name                  | Type   | Description                                    |
| --------------------- | ------ | ---------------------------------------------- |
| X-BANTUPAY-PUBLIC-KEY | string | your Bantu Blockchain public key               |
| X-BANTUPAY-SIGNATURE  | string | <p>the payload can be signed with here<br></p> |

{% tabs %}
{% tab title="200 " %}

```javascript
```

{% endtab %}

{% tab title="404 " %}

```javascript
{
  "error": "string",
  "data": "string",
  "message": "string"
}
```

{% endtab %}
{% endtabs %}


# Payments


# Payment History

## Payment History

<mark style="color:blue;">`GET`</mark> `https://api-alpha.dev.bantupay.org/v2/users/{username}/payments`

#### Path Parameters

| Name     | Type   | Description |
| -------- | ------ | ----------- |
| username | string |             |

#### Query Parameters

| Name | Type    | Description                                |
| ---- | ------- | ------------------------------------------ |
| temp | boolean | Returns payment history of payment account |

#### Headers

| Name                  | Type   | Description                                                                      |
| --------------------- | ------ | -------------------------------------------------------------------------------- |
| X-BANTUPAY-PUBLIC-KEY | string | your bantu blockchain public key                                                 |
|                       | string | <p>payload can be signed with <https://request-signer.dev.bantu.network><br></p> |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "pageCursor": "8129621472055297",
  "payments": [
    {
      "destinationUsername": "richard",
      "destinationFirstName": "RICHA",
      "destinationLastName": "RIC",
      "destinationThumbnail": "",
      "senderUsername": "richard",
      "senderFirstName": "RICHA",
      "senderLastName": "RIC",
      "senderThumbnail": "",
      "amount": "200.0000000",
      "assetCode": "FEE",
      "assetIssuer": "GDRK25QFQZBU3BONU4TAAPKWQQEERZB2POIPI2EM4GRTKCHXCQK27PY2",
      "sourceAssetCode": "",
      "sourceAssetIssuer": "",
      "transactionID": "f8fdd49eaa392e7979b62b7416dd59ca8a339a3650e998c22b11e9a62a5a2774",
      "transactionMemo": "claim-asset",
      "transactionTime": "2021-02-06T19:10:58Z"
    }
  ]
}
```

{% endtab %}

{% tab title="404 " %}

```javascript
{
  "error": "string",
  "data": "string",
  "message": "string"
}
```

{% endtab %}
{% endtabs %}


# Make Payment

## Make Payment

<mark style="color:green;">`POST`</mark> `https://api-alpha.dev.bantupay.org/v2/users/{username}/payments`

Sending a payment is a two-step process:\
&#x20; 1\. Send the required fields in the JSON payload without transaction signature, a base64 encoded transaction would be returned form the bantupay-sdk to sign.\
&#x20; 2\. Resend the same payload but now included the signed transaction code

#### Path Parameters

| Name     | Type   | Description |
| -------- | ------ | ----------- |
| username | string |             |

#### Headers

| Name                  | Type   | Description                                                                      |
| --------------------- | ------ | -------------------------------------------------------------------------------- |
| X-BANTUPAY-PUBLIC-KEY | string | your Bantu Blockchain public key                                                 |
| X-BANTUPAY-SIGNATURE  | string | <p>payload can be signed with <https://request-signer.dev.bantu.network><br></p> |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "destination": "richard",
  "memo": "Me AgAin",
  "assetIssuer": "GDRK25QFQZBU3BONU4TAAPKWQQEERZB2POIPI2EM4GRTKCHXCQK27PY2",
  "assetCode": "FEE",
  "amount": "200",
  "transaction": "AAAAAgAAAADirXYFhkNNhc2nJgA9VoQISOQ6e5D0aIzhozUI9xQVrwAAASwAHJgYAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAhNZSBBZ0FpbgAAAAMAAAABAAAAAOKtdgWGQ02FzacmAD1WhAhI5Dp7kPRojOGjNQj3FBWvAAAAAQAAAACs4VcUu0JrkI1NEGdJCyrlSH4LimG0RDLQPZQZv0/hkwAAAAAAAAAAATEtAAAAAAEAAAAArOFXFLtCa5CNTRBnSQsq5Uh+C4phtEQy0D2UGb9P4ZMAAAAGAAAAAUZFRQAAAAAA4q12BYZDTYXNpyYAPVaECEjkOnuQ9GiM4aM1CPcUFa985mxQ4oQAAAAAAAEAAAAA4q12BYZDTYXNpyYAPVaECEjkOnuQ9GiM4aM1CPcUFa8AAAABAAAAAKzhVxS7QmuQjU0QZ0kLKuVIfguKYbREMtA9lBm/T+GTAAAAAUZFRQAAAAAA4q12BYZDTYXNpyYAPVaECEjkOnuQ9GiM4aM1CPcUFa8AAAAAdzWUAAAAAAAAAAABv0/hkwAAAEBS1R8fpwHrPalKiau8KGVcHbTKblfEwjbTd1oJMWOBDsylgLavZ/m1zs6jiw/9NZYubSfGGAibQ9tPH2lSy9QK",
  "transactionSignature": "clbayn3wEp5j09lipxX1CAU/QS1tliBw33uEr1kS5Z8ntP0HD0VAeR/oUkSe/jLQMFPzcvpF4b4tHTtZHgjFAg==",
  "transactionId": "756d0d44f9bce9d3bd3bc723d3b8d618c913e047f6c610c3e3cabb6197ac93e8",
  "networkPassPhrase": "Bantu Testnet",
  "destinationFirstName": "RICHA",
  "destinationLastName": "RIC",
  "destinationThumbnail": ""
}
```

{% endtab %}

{% tab title="404 " %}

```javascript
{
  "error": "string",
  "data": "string",
  "message": "string"
}
```

{% endtab %}
{% endtabs %}


# Asset


# Claim Asset

## Claim Asset

<mark style="color:orange;">`PUT`</mark> `https://api-alpha.dev.bantupay.org/v2/users/{identifier}/actions/claim-asset`

#### Path Parameters

| Name       | Type   | Description    |
| ---------- | ------ | -------------- |
| identifier | string | username/email |

#### Headers

| Name                  | Type   | Description                                                                      |
| --------------------- | ------ | -------------------------------------------------------------------------------- |
| X-BANTUPAY-SIGNATURE  | string |                                                                                  |
| X-BANTUPAY-PUBLIC-KEY | string | <p>payload can be signed with <https://request-signer.dev.bantu.network><br></p> |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "assetCode": "FEE",
  "assetIssuer": "GDRK25QFQZBU3BONU4TAAPKWQQEERZB2POIPI2EM4GRTKCHXCQK27PY2",
  "transaction": "AAAAAgAAAACs4VcUu0JrkI1NEGdJCyrlSH4LimG0RDLQPZQZv0/hkwAAASwAHOHZAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAtjbGFpbS1hc3NldAAAAAADAAAAAQAAAACs4VcUu0JrkI1NEGdJCyrlSH4LimG0RDLQPZQZv0/hkwAAAAEAAAAAJrA5e3iddXGFrd9ocmR64OuLHeJSai+paUwo0Q1BnLIAAAAAAAAAAACYlVQAAAABAAAAACawOXt4nXVxha3faHJkeuDrix3iUmovqWlMKNENQZyyAAAABgAAAAFGRUUAAAAAAOKtdgWGQ02FzacmAD1WhAhI5Dp7kPRojOGjNQj3FBWvfOZsUOKEAAAAAAABAAAAAKzhVxS7QmuQjU0QZ0kLKuVIfguKYbREMtA9lBm/T+GTAAAAAQAAAAAmsDl7eJ11cYWt32hyZHrg64sd4lJqL6lpTCjRDUGcsgAAAAFGRUUAAAAAAOKtdgWGQ02FzacmAD1WhAhI5Dp7kPRojOGjNQj3FBWvAAAAAHc1lAAAAAAAAAAAAA==",
  "transactionSignature": "SAaxTlnytGswIWViRQVUhB2jE2ds8QbhPXpyyI2jfoHhvE+LCXNoQ/5+8NhiAmVZsTF7VeaggAc8vmNFdJG6Bg=="
}
```

{% endtab %}

{% tab title="404 " %}

```
{
  "error": "string",
  "data": "string",
  "message": "string"
}
```

{% endtab %}
{% endtabs %}


