Business to Customer (B2C) payments.
Initiate disbursement from an M-PESA organization shortcode to a customer MSISDN.
Example
client = Daraja.Client.new()
Daraja.B2C.payment(client, %{
originator_conversation_id: "my-unique-id-001",
initiator_name: "testapi",
security_credential: "base64-credential",
command_id: "BusinessPayment",
amount: 10,
party_a: "600997",
party_b: "254705912645",
remarks: "Payment for promotion",
queue_timeout_url: "https://example.com/b2c/timeout",
result_url: "https://example.com/b2c/result",
occasion: "PromoPayout"
})
Summary
Functions
Sends a B2C payment request.
Types
@type result() :: {:ok, Daraja.B2C.Response.Success.t()} | {:error, :invalid_request, list()} | {:error, :auth_failed, Daraja.APIError.t()} | {:error, :http_error, Daraja.APIError.t() | term()} | {:error, :request_failed, Daraja.B2C.Response.Error.t() | Daraja.APIError.t()}
Functions
@spec payment(Daraja.Client.t(), map() | Daraja.B2C.PaymentRequest.t()) :: result()
Sends a B2C payment request.
Required params:
originator_conversation_idinitiator_namesecurity_credential— pre-encrypted Base64 string or{password, pem}tuple (auto-encrypted)command_idamountparty_aparty_bremarksqueue_timeout_urlresult_url
Optional params:
occasion