> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thebridgesolutions.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fund Transfer Wallet

> Initiate a payment transaction to fund your transfer wallet. Use this endpoint to process payments via bank transfer, mobile money, or card payments. You will need to provide essential details like the service ID, transaction type, amount, and a callback URL for real-time status updates.

## Authorization

<ParamField body="Authorization" type="string" required>
  Basic authentication header of the form Basic `<encoded-value>`, where `<encoded-value>` is the base64-encoded string `username:password`.
</ParamField>

## Request Body

<ParamField body="service_id" type="integer" required>
  Your unique service identifier. You'll receive this when you register your service with us.
</ParamField>

<ParamField body="reference" type="string" required>
  Your internal reference for this payment.
</ParamField>

<ParamField body="transaction_id" type="string" required>
  A unique identifier for this transaction. Ensure this is unique for each request to avoid duplicate transactions. Use this to track the transaction in your system.
</ParamField>

<ParamField body="trans_type" type="string" required>
  The type of transaction. Use 'DTTW' for Deposit to Transfer Wallet.
</ParamField>

<ParamField body="amount" type="number" required>
  The amount to be transacted. Use a decimal point for fractional amounts (e.g., 10.50).
</ParamField>

<ParamField body="nw" type="string" required>
  The network provider for mobile money transactions. Use 'MTN' for MTN Mobile Money, 'TEL' for Telecel Cash, 'AIR' for AirtelTigo Cash, or 'CRD' for card payments.
</ParamField>

<ParamField body="nickname" type="string" required>
  You can use your service name or the purpose of the transaction as the nickname as this will be shown on the payers phone when they receive the payment request.
</ParamField>

<ParamField body="payment_option" type="string" required>
  The payment method. Use 'MOM' for mobile money, 'CRD' for card payments, or 'CRM' for both card and mobile money.
</ParamField>

<ParamField body="currency_code" type="string" required>
  The currency code for the transaction. For example, use 'GHS' for Ghanaian Cedi, 'USD' for US Dollars.
</ParamField>

<ParamField body="currency_val" type="string" required>
  The currency value. This is typically the amount in the currency specified in the currency\_code unless you're dealing with a specific exchange rate scenario.
</ParamField>

<ParamField body="callback_url" type="string" required>
  Your URL where we'll send transaction status updates. Ensure this endpoint is set up to receive POST requests.
</ParamField>

<ParamField body="landing_page" type="string" required>
  Your landing page after the transaction has been completed.
</ParamField>

<ParamField body="request_time" type="string" required>
  The timestamp of your request. Use the format YYYY-MM-DD HH:MM (e.g., '2024-06-28 12:46').
</ParamField>

## Response

<ResponseField name="response_message" type="string">
  A human-readable message describing the result of the payment initiation.
</ResponseField>

<ResponseField name="response_code" type="string">
  A code indicating the status of the payment initiation. Refer to our response code documentation for details.
</ResponseField>

<ResponseField name="redirect_url" type="string">
  The payment page to redirect your app or users to for the actual payment.
</ResponseField>

## Example Request

```bash theme={null}
curl -X POST https://api.thebridgesolutions.com/make_payment \
  -H "Authorization: Basic YOUR_ENCODED_CREDENTIALS" \
  -H "Content-Type: application/json" \
  -d '{
    "service_id": 12345,
    "reference": "REF123456",
    "transaction_id": "TXN987654",
    "trans_type": "DTTW",
    "amount": 100.50,
    "nw": "CRD",
    "nickname": "Wallet Funding",
    "payment_option": "CRD",
    "currency_code": "GHS",
    "currency_val": "100.50",
    "callback_url": "https://your-domain.com/callback",
    "landing_page": "https://your-domain.com/landing",
    "request_time": "2024-06-28 12:46"
  }'
```

## Example Response

```json theme={null}
// MOBILE MONEY
{
  "response_message": "Request successfully received for processing",
  "response_code": "202",
}
```

```json theme={null}
// CARD PAYMENT
{
  "response_message": "Successful",
  "response_code": "000",
  "redirect_url": "https://paymentpage.com/en/payment/123456789"
}
```
