Base Classes

Base Classes

BaseMpesa

The BaseMpesa class is an abstract base class that implements the MpesaInterface. It provides common functionality for handling M-Pesa transactions, including authentication, logging, and HTTP client traits.

Methods

  • setLogger(MpesaLogger $logger): self - Sets the logger instance.
  • getAuth(): Authentication - Retrieves the authentication instance.
  • getLogger(): MpesaLogger - Retrieves the logger instance.
  • setPhoneNumber(string $phone): self - Sets the customer's phone number.
  • setAmount(float $amount): self - Sets the transaction amount.
  • setCallbackUrl(string $url): self - Sets the callback URL for transaction results.
  • setTransactionDesc(string $desc): self - Sets the description of the transaction.
  • setAccountReference(string $reference): self - Sets the reference for the transaction.
  • setInitiatorName(string $initiatorName): self - Sets the initiator name.
  • setSecurityCredential(string $securityCredential): self - Sets the security credential.
  • setCommandID(string $commandId): self - Sets the command ID for B2C transactions.
  • authenticate(): self - Authenticates the user.
  • getRawResponse(): array|null - Retrieves the raw response from the API request.
  • getErrorMessage(): string - Retrieves the error message if the transaction failed.
  • getMerchantRequestID(): string|null - Retrieves the merchant request ID.
  • getCheckoutRequestID(): string|null - Retrieves the checkout request ID.
  • validateRequiredFields(): void - Validates required fields for the transaction.
  • logApiRequest(string $endpoint, array $payload, array $headers = []): void - Logs the API request.
  • logApiResponse(string $endpoint, $response, int $statusCode): void - Logs the API response.
  • executeRequest(string $method, string $endpoint, array $payload): array|string - Executes the API request.
  • setAccountBalanceInitiator(string $initiator): self - Sets the account balance initiator.
  • setAccountBalancePartyA(string $partyA): self - Sets the account balance party A.
  • setAccountBalanceRemarks(string $remarks): self - Sets the account balance remarks.
  • setAccountBalanceIdentifierType(string $identifierType): self - Sets the account balance identifier type.
  • checkAccountBalance(): array - Checks the account balance.
  • setQueueTimeOutUrl(string $url): self - Sets the queue timeout URL.
  • setResultUrl(string $url): self - Sets the result URL.