> ## 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.

# Make Card Payment

> Initiate a card payment transaction effortlessly. Use this endpoint to process 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 'CTM' for customer-to-merchant payments (customer payments).
</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 for card payments. Use 'CRD' for card payments or 'CRD' for both card and mobile money.
</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 '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 Card 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": "CTM",
    "amount": 100.50,
    "nw": "CRD",
    "nickname": "My Store",
    "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": "2025-06-28 12:46"
  }'
```

## Example Response

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