# SLL (new encryption)

### Summary

These APIs are used to initiate a SLL Momo payout

| Momo Network | Service Code |
| ------------ | ------------ |
| Orange       | ORANGE\_SLE  |

{% hint style="info" %}
Before you begin!

* Find your keys on the Klasha Dashboard → Settings → Generate API Keys ([here](https://dashboard.klasha.com/settings/keys))

<img src="https://257545343-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNw4nU37LIEg41plxXG5u%2Fuploads%2FvBXI8QATrncq17zlRm1P%2Fdashboad-klasha-settings.png?alt=media&#x26;token=1ebaf2b3-7e99-4490-9ede-a660c8d0035c" alt="" data-size="original">
{% endhint %}

### Integration steps

{% content-ref url="../../overview/token-generation" %}
[token-generation](https://developers.klasha.com/~/revisions/H5FGFkMO860BT4FVTiB5/overview/token-generation)
{% endcontent-ref %}

### [Encryption algorithm here](https://developers.klasha.com/~/revisions/H5FGFkMO860BT4FVTiB5/accepting-payments/payments-api#encryption-algorithm)

### **Merchant Payout request**

## Make a POST call to the Merchant payout request API

<mark style="color:green;">`POST`</mark> `{{env_url}}/`wallet/merchant/bank/transfer/request/v3?encryption=NEW

You would need to pass, as a header the <mark style="color:red;">x-auth-token</mark>. This can be obtained from your merchant **dashboard → Settings → Generate API keys → Merchant public key**.

#### Headers

| Key           | Value                    |
| ------------- | ------------------------ |
| Content-Type  | application/json         |
| x-auth-token  | Your merchant public key |
| Authorization | Bearer \<token here>     |

**Request body (encrypted):**

```json
{ 
  "message": "encrypted-request-body"
}
```

**Request body (plain)**

#### Request Body

<table><thead><tr><th width="264">Name</th><th width="160">Type</th><th>Description</th></tr></thead><tbody><tr><td>country<mark style="color:red;">*</mark></td><td></td><td>Country of payout - SL</td></tr><tr><td>serviceCode<mark style="color:red;">*</mark></td><td></td><td></td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td></td><td>Amount - 100</td></tr><tr><td>accountName<mark style="color:red;">*</mark></td><td></td><td>Receiver's Name - John Doe</td></tr><tr><td>requestId<mark style="color:red;">*</mark></td><td>String</td><td>Unique request's reference</td></tr><tr><td>description<mark style="color:red;">*</mark></td><td>String</td><td>Merchant's description - Payout</td></tr><tr><td>currency<mark style="color:red;">*</mark></td><td>String</td><td>Currency of payout - SLL</td></tr><tr><td>accountNumber<mark style="color:red;">*</mark></td><td>String</td><td>Receiver's phone number - 260973456789</td></tr><tr><td>type</td><td>String</td><td>Allowed value: mobile_money</td></tr><tr><td>walletId</td><td>Integer</td><td>Business wallet ID</td></tr><tr><td>payoutType</td><td>String</td><td>Allowed value: USD_MOMO</td></tr><tr><td>debitAmount</td><td>String</td><td></td></tr></tbody></table>

{% tabs %}
{% tab title="Plain Request" %}

```json
{
  "country": "SL",
  "amount": "100",
  "accountName": "test sample",
  "serviceCode": "ORANGE_SLE",
  "requestId": "tranf-36ac6398-fa2c-407d-84c5-c40c91091a98",
  "description": "none for now",
  "currency": "SLL",
  "accountNumber": "260973456789",
  "type": "mobile_money",
  "debitAmount": "10",
  "walletId": 12,
  "payoutType": "USD_MOMO"
}
```

{% endtab %}
{% endtabs %}

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

```json
{
    "id": 10,
    "amount": 100.00,
    "payoutStatus": "PENDING",
    "requestId": "tranf-36ac6398-fa2c-407d-84c5-c40c91091a98",
    "narration": "none for now",
    "country": "SL",
    "fee": 2.00,
    "bankCode": "ORANGE_SLE",
    "bankName": "ORANGE_SLE",
    "accountNumber": "260973456789",
    "accountName": "test sample"
}
```

{% endtab %}

{% tab title="400: Bad Request " %}

```javascript
{
    "status": "error",
    "message": "Unable process payout. Contact support"
}
```

{% endtab %}
{% endtabs %}

### **Query payout status**

Make a [call](https://developers.klasha.com/~/revisions/H5FGFkMO860BT4FVTiB5/payout#polling-transfer-statuses) to fetch status of initiated payouts.
