Business to Business (B2B) payments.
Initiate transfers between organization shortcodes or till numbers.
Example
client = Daraja.Client.new()
Daraja.B2B.request(client, %{
initiator: "testapi",
security_credential: "base64-credential",
command_id: "BusinessPayBill",
sender_identifier_type: 4,
receiver_identifier_type: 4,
amount: 10500,
party_a: "600992",
party_b: "600000",
account_reference: "INV-001",
remarks: "B2B Payment",
queue_timeout_url: "https://example.com/b2b/timeout",
result_url: "https://example.com/b2b/result"
})
Summary
Functions
Sends a B2B payment request.
Types
@type result() :: {:ok, Daraja.B2B.Response.Success.t()} | {:error, :invalid_request, list()} | {:error, :auth_failed, Daraja.APIError.t()} | {:error, :http_error, Daraja.APIError.t() | term()} | {:error, :request_failed, Daraja.B2B.Response.Error.t() | Daraja.APIError.t()}
Functions
@spec request(Daraja.Client.t(), map() | Daraja.B2B.PaymentRequest.t()) :: result()
Sends a B2B payment request.
Required params:
initiatorsecurity_credential— pre-encrypted Base64 string or{password, pem}tuple (auto-encrypted)command_idsender_identifier_typereceiver_identifier_typeamountparty_aparty_bremarksqueue_timeout_urlresult_url
Optional params:
account_reference