Traits Documentation
STKPushTrait
Methods
ussdPush
- Description: Initiates an STK Push request.
- Parameters: None
- Returns:
MpesaInterface- The interface for chaining further requests. - Example:
$mpesa->ussdPush(); - Notes: Use this method to initiate USSD Push requests.
processCallback
- Description: Processes the callback data received from the M-Pesa API.
- Parameters:
callbackData(array): The callback data to process.
- Returns:
MpesaInterface- The interface for chaining further requests. - Example:
$mpesa->processCallback($callbackData); - Notes: This method is used to handle responses from the M-Pesa API.
getResultCode
- Description: Retrieves the result code from the last operation.
- Parameters: None
- Returns:
?int- The result code, or null if not set. - Example:
$resultCode = $mpesa->getResultCode(); - Notes: This method is useful for checking the outcome of an operation.
getResultDesc
- Description: Retrieves the result description from the last operation.
- Parameters: None
- Returns:
?string- The result description, or null if not set. - Example:
$resultDesc = $mpesa->getResultDesc(); - Notes: This method provides a human-readable description of the operation result.
isCanceledByUser
- Description: Checks if the last operation was canceled by the user.
- Parameters: None
- Returns:
bool- True if the operation was canceled, false otherwise. - Example:
$isCanceled = $mpesa->isCanceledByUser(); - Notes: This method is useful for handling user cancellations.
getCallbackData
- Description: Retrieves the callback data from the last operation.
- Parameters: None
- Returns:
array- The callback data. - Example:
$callbackData = $mpesa->getCallbackData(); - Notes: This method is used to access the data received from the M-Pesa API.
setTestPassword
- Description: Sets a test password for the STK Push request.
- Parameters:
testPassword(string): The test password to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setTestPassword('test123'); - Notes: This method is used for testing purposes.
B2CTrait
Methods
setInitiatorName
- Description: Sets the name of the initiator for the B2C request.
- Parameters:
initiatorName(string): The name of the initiator.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setInitiatorName('John Doe'); - Notes: This method is required for B2C operations.
setSecurityCredential
- Description: Sets the security credential for the B2C request.
- Parameters:
securityCredential(string): The security credential to set.
- Returns:
\MesaSDK\PhpMpesa\Base\BaseMpesa- The base M-Pesa instance for method chaining. - Example:
$mpesa->setSecurityCredential('secure123'); - Notes: This method is required for B2C operations.
setCommandID
- Description: Sets the command ID for the B2C request.
- Parameters:
commandId(string): The command ID to set.
- Returns:
\MesaSDK\PhpMpesa\Base\BaseMpesa- The base M-Pesa instance for method chaining. - Example:
$mpesa->setCommandID('BusinessPayment'); - Notes: This method is required for B2C operations.
setAmount
- Description: Sets the amount for the B2C request.
- Parameters:
amount(float): The amount to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setAmount(100.00); - Notes: This method is required for B2C operations.
getAmount
- Description: Retrieves the amount set for the B2C request.
- Parameters: None
- Returns:
float- The amount set. - Example:
$amount = $mpesa->getAmount(); - Notes: This method is useful for verifying the amount before sending the request.
setPartyA
- Description: Sets the organization's shortcode for the B2C request.
- Parameters:
partyA(string): The organization's shortcode.
- Returns:
\MesaSDK\PhpMpesa\Base\BaseMpesa- The base M-Pesa instance for method chaining. - Example:
$mpesa->setPartyA('123456'); - Notes: This method is required for B2C operations.
setPartyB
- Description: Sets the customer's phone number for the B2C request.
- Parameters:
partyB(string): The customer's phone number.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setPartyB('251700404709'); - Notes: This method is required for B2C operations.
setRemarks
- Description: Sets additional information about the transaction.
- Parameters:
remarks(string): The remarks to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setRemarks('Payment for services'); - Notes: This method is optional but useful for providing context.
setOccasion
- Description: Sets the occasion for the B2C request.
- Parameters:
occasion(string): The occasion to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setOccasion('Monthly payment'); - Notes: This method is optional but useful for providing context.
setQueueTimeOutUrl
- Description: Sets the URL for timeout notifications.
- Parameters:
url(string): The URL to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setQueueTimeOutUrl('https://your-domain.com/timeout'); - Notes: This method is required for B2C operations.
setResultUrl
- Description: Sets the URL for result notifications.
- Parameters:
url(string): The URL to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setResultUrl('https://your-domain.com/result'); - Notes: This method is required for B2C operations.
getB2CData
- Description: Retrieves the B2C data set for the request.
- Parameters: None
- Returns:
array- The B2C data. - Example:
$b2cData = $mpesa->getB2CData(); - Notes: This method is useful for verifying the data before sending the request.
send
- Description: Sends the B2C payment request.
- Parameters: None
- Returns:
MpesaResponse- The response from the M-Pesa API. - Example:
$response = $mpesa->send(); - Notes: Ensure all required parameters are set before calling this method.
HasAccountBalance
Methods
setAccountBalanceInitiator
- Description: Sets the initiator for the account balance check.
- Parameters:
initiator(string): The initiator to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setAccountBalanceInitiator('John Doe'); - Notes: This method is required for account balance checks.
setAccountBalancePartyA
- Description: Sets the party A for the account balance check.
- Parameters:
partyA(string): The party A to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setAccountBalancePartyA('123456'); - Notes: This method is required for account balance checks.
setAccountBalanceIdentifierType
- Description: Sets the identifier type for the account balance check.
- Parameters:
identifierType(string): The identifier type to set.
- Returns:
\MesaSDK\PhpMpesa\Base\BaseMpesa- The base M-Pesa instance for method chaining. - Example:
$mpesa->setAccountBalanceIdentifierType('4'); - Notes: This method is required for account balance checks.
setAccountBalanceRemarks
- Description: Sets the remarks for the account balance check.
- Parameters:
remarks(string): The remarks to set.
- Returns:
\MesaSDK\PhpMpesa\Base\BaseMpesa- The base M-Pesa instance for method chaining. - Example:
$mpesa->setAccountBalanceRemarks('Monthly balance check'); - Notes: This method is optional but useful for providing context.
setAccountBalanceOriginatorId
- Description: Sets the originator ID for the account balance check.
- Parameters:
originatorId(string): The originator ID to set.
- Returns:
self- The current instance for method chaining. - Example:
$mpesa->setAccountBalanceOriginatorId('originator123'); - Notes: This method is required for account balance checks.
checkAccountBalance
- Description: Checks the account balance.
- Parameters: None
- Returns:
array- The response from the M-Pesa API. - Example:
$response = $mpesa->checkAccountBalance(); - Notes: Ensure all required parameters are set before calling this method.
parseBalanceResult
- Description: Parses the balance result from the M-Pesa API.
- Parameters:
result(array): The result to parse.
- Returns:
array- The parsed balance result. - Example:
$parsedResult = $mpesa->parseBalanceResult($result); - Notes: This method is useful for extracting relevant information from the API response.