mpesakit 2.0.1__tar.gz → 2.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. {mpesakit-2.0.1 → mpesakit-2.0.2}/PKG-INFO +1 -1
  2. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/account_balance/schemas.py +3 -3
  3. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2b_express_checkout/schemas.py +1 -1
  4. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2c/schemas.py +3 -3
  5. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2c_account_top_up/schemas.py +4 -4
  6. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/business_buy_goods/schemas.py +2 -2
  7. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/business_paybill/schemas.py +3 -3
  8. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/c2b/schemas.py +2 -2
  9. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/mpesa_express/schemas.py +4 -4
  10. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/reversal/schemas.py +2 -2
  11. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/tax_remittance/schemas.py +2 -2
  12. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/transaction_status/schemas.py +3 -3
  13. {mpesakit-2.0.1 → mpesakit-2.0.2}/.gitignore +0 -0
  14. {mpesakit-2.0.1 → mpesakit-2.0.2}/AUTHORS.md +0 -0
  15. {mpesakit-2.0.1 → mpesakit-2.0.2}/LICENSE +0 -0
  16. {mpesakit-2.0.1 → mpesakit-2.0.2}/README.md +0 -0
  17. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/__init__.py +0 -0
  18. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/account_balance/__init__.py +0 -0
  19. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/account_balance/account_balance.py +0 -0
  20. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/auth/__init__.py +0 -0
  21. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/auth/access_token.py +0 -0
  22. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/auth/token_manager.py +0 -0
  23. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2b_express_checkout/__init__.py +0 -0
  24. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2b_express_checkout/b2b_express_checkout.py +0 -0
  25. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2c/__init__.py +0 -0
  26. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2c/b2c.py +0 -0
  27. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2c_account_top_up/__init__.py +0 -0
  28. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/b2c_account_top_up/b2c_account_top_up.py +0 -0
  29. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/bill_manager/__init__.py +0 -0
  30. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/bill_manager/bill_manager.py +0 -0
  31. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/bill_manager/schemas.py +0 -0
  32. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/business_buy_goods/__init__.py +0 -0
  33. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/business_buy_goods/business_buy_goods.py +0 -0
  34. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/business_paybill/__init__.py +0 -0
  35. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/business_paybill/business_paybill.py +0 -0
  36. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/c2b/__init__.py +0 -0
  37. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/c2b/c2b.py +0 -0
  38. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/dynamic_qr_code/__init__.py +0 -0
  39. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/dynamic_qr_code/dynamic_qr_code.py +0 -0
  40. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/dynamic_qr_code/schemas.py +0 -0
  41. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/errors.py +0 -0
  42. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/http_client/__init__.py +0 -0
  43. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/http_client/http_client.py +0 -0
  44. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/http_client/mpesa_async_http_client.py +0 -0
  45. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/http_client/mpesa_http_client.py +0 -0
  46. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/mpesa_client.py +0 -0
  47. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/mpesa_express/__init__.py +0 -0
  48. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/mpesa_express/stk_push.py +0 -0
  49. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/mpesa_ratiba/__init__.py +0 -0
  50. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/mpesa_ratiba/mpesa_ratiba.py +0 -0
  51. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/mpesa_ratiba/schemas.py +0 -0
  52. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/reversal/__init__.py +0 -0
  53. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/reversal/reversal.py +0 -0
  54. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/security/__init__.py +0 -0
  55. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/security/certs/ProductionCertificate.cer +0 -0
  56. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/security/certs/SandboxCertificate.cer +0 -0
  57. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/security/get_credential.py +0 -0
  58. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/security/ip_whitelist.py +0 -0
  59. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/__init__.py +0 -0
  60. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/b2b.py +0 -0
  61. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/b2c.py +0 -0
  62. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/balance.py +0 -0
  63. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/bill.py +0 -0
  64. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/c2b.py +0 -0
  65. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/dynamic_qr.py +0 -0
  66. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/express.py +0 -0
  67. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/ratiba.py +0 -0
  68. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/reversal.py +0 -0
  69. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/tax.py +0 -0
  70. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/services/transaction.py +0 -0
  71. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/tax_remittance/__init__.py +0 -0
  72. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/tax_remittance/tax_remittance.py +0 -0
  73. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/transaction_status/__init__.py +0 -0
  74. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/transaction_status/transaction_status.py +0 -0
  75. {mpesakit-2.0.1 → mpesakit-2.0.2}/mpesakit/utils/phone.py +0 -0
  76. {mpesakit-2.0.1 → mpesakit-2.0.2}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mpesakit
3
- Version: 2.0.1
3
+ Version: 2.0.2
4
4
  Summary: A Python SDK for integrating with M-Pesa APIs
5
5
  Project-URL: Homepage, https://github.com/rafaeljohn9/mpesakit
6
6
  Project-URL: Repository, https://github.com/rafaeljohn9/mpesakit
@@ -136,7 +136,7 @@ class AccountBalanceResultMetadata(BaseModel):
136
136
  """Metadata for Account Balance result notification."""
137
137
 
138
138
  ResultType: int = Field(..., description="Type of result (0=Success, 1=Waiting).")
139
- ResultCode: int = Field(..., description="Result code (0=Success).")
139
+ ResultCode: int | str = Field(..., description="Result code (0=Success).")
140
140
  ResultDesc: str = Field(..., description="Result description.")
141
141
  OriginatorConversationID: str = Field(
142
142
  ..., description="Originator conversation ID."
@@ -238,7 +238,7 @@ class AccountBalanceResultCallback(BaseModel):
238
238
  class AccountBalanceResultCallbackResponse(BaseModel):
239
239
  """Schema for response to Account Balance result callback."""
240
240
 
241
- ResultCode: int = Field(
241
+ ResultCode: int | str = Field(
242
242
  default=0, description="Result code (0=Success, other=Failure)."
243
243
  )
244
244
  ResultDesc: str = Field(
@@ -279,7 +279,7 @@ class AccountBalanceTimeoutCallback(BaseModel):
279
279
  class AccountBalanceTimeoutCallbackResponse(BaseModel):
280
280
  """Schema for response to Account Balance timeout callback."""
281
281
 
282
- ResultCode: int = Field(
282
+ ResultCode: int | str = Field(
283
283
  default=0,
284
284
  description="Result code (0=Success, other=Failure).",
285
285
  )
@@ -108,7 +108,7 @@ class B2BExpressCheckoutCallback(BaseModel):
108
108
  class B2BExpressCallbackResponse(BaseModel):
109
109
  """Response schema for B2B Express Checkout callback."""
110
110
 
111
- ResultCode: int = Field(
111
+ ResultCode: int | str = Field(
112
112
  default=0,
113
113
  description="Result code (0=Success, other=Failure).",
114
114
  )
@@ -167,7 +167,7 @@ class B2CResultMetadata(BaseModel):
167
167
  """Metadata for B2C result notification."""
168
168
 
169
169
  ResultType: int = Field(..., description="Type of result (0=Success, 1=Failure).")
170
- ResultCode: int = Field(..., description="Result code (0=Success).")
170
+ ResultCode: int | str = Field(..., description="Result code (0=Success).")
171
171
  ResultDesc: str = Field(..., description="Result description.")
172
172
  OriginatorConversationID: str = Field(
173
173
  ..., description="Originator conversation ID."
@@ -279,7 +279,7 @@ class B2CResultCallback(BaseModel):
279
279
  class B2CResultCallbackResponse(BaseModel):
280
280
  """Schema for response to B2C result callback."""
281
281
 
282
- ResultCode: int = Field(
282
+ ResultCode: int | str = Field(
283
283
  default=0, description="Result code (0=Success, other=Failure)."
284
284
  )
285
285
  ResultDesc: str = Field(
@@ -320,7 +320,7 @@ class B2CTimeoutCallback(BaseModel):
320
320
  class B2CTimeoutCallbackResponse(BaseModel):
321
321
  """Schema for response to B2C timeout callback."""
322
322
 
323
- ResultCode: int = Field(
323
+ ResultCode: int | str = Field(
324
324
  default=0,
325
325
  description="Result code (0=Success, other=Failure).",
326
326
  )
@@ -120,7 +120,7 @@ class B2CAccountTopUpCallbackResult(BaseModel):
120
120
  ResultType: int = Field(
121
121
  ..., description="Status code for transaction sent to listener."
122
122
  )
123
- ResultCode: int = Field(
123
+ ResultCode: int | str = Field(
124
124
  ..., description="Transaction result status code. 0 means success."
125
125
  )
126
126
  ResultDesc: str = Field(
@@ -231,13 +231,13 @@ class B2CAccountTopUpCallback(BaseModel):
231
231
 
232
232
  def is_successful(self) -> bool:
233
233
  """Check if the callback indicates a successful transaction."""
234
- return self.Result.ResultCode == 0
234
+ return str(self.Result.ResultCode) == "0"
235
235
 
236
236
 
237
237
  class B2CAccountTopUpCallbackResponse(BaseModel):
238
238
  """Response schema for B2C Account TopUp callback."""
239
239
 
240
- ResultCode: int = Field(
240
+ ResultCode: int | str = Field(
241
241
  default=0, description="Result code of the callback. 0 indicates success."
242
242
  )
243
243
  ResultDesc: str = Field(
@@ -297,7 +297,7 @@ class B2CAccountTopUpTimeoutCallback(BaseModel):
297
297
  class B2CAccountTopUpTimeoutCallbackResponse(BaseModel):
298
298
  """Schema for response to B2C Account TopUp timeout callback."""
299
299
 
300
- ResultCode: int = Field(
300
+ ResultCode: int | str = Field(
301
301
  default=0,
302
302
  description="Result code (0=Success, other=Failure).",
303
303
  )
@@ -240,7 +240,7 @@ class BusinessBuyGoodsResultCallback(BaseModel):
240
240
  class BusinessBuyGoodsResultCallbackResponse(BaseModel):
241
241
  """Response schema for Business Buy Goods result callback."""
242
242
 
243
- ResultCode: int = 0
243
+ ResultCode: int | str = 0
244
244
  ResultDesc: str = "Callback received successfully."
245
245
 
246
246
  model_config = ConfigDict(
@@ -289,7 +289,7 @@ class BusinessBuyGoodsTimeoutCallback(BaseModel):
289
289
  class BusinessBuyGoodsTimeoutCallbackResponse(BaseModel):
290
290
  """Response schema for Business Buy Goods timeout callback."""
291
291
 
292
- ResultCode: int = 0
292
+ ResultCode: int | str = 0
293
293
  ResultDesc: str = "Timeout notification received successfully."
294
294
 
295
295
  model_config = ConfigDict(
@@ -229,13 +229,13 @@ class BusinessPayBillResultCallback(BaseModel):
229
229
 
230
230
  def is_successful(self) -> bool:
231
231
  """Check if the result indicates success."""
232
- return self.Result.ResultCode == 0
232
+ return str(self.Result.ResultCode) == "0"
233
233
 
234
234
 
235
235
  class BusinessPayBillResultCallbackResponse(BaseModel):
236
236
  """Response schema for Business PayBill result callback."""
237
237
 
238
- ResultCode: int = 0
238
+ ResultCode: int | str = 0
239
239
  ResultDesc: str = "Callback received successfully."
240
240
 
241
241
  model_config = ConfigDict(
@@ -271,7 +271,7 @@ class BusinessPayBillTimeoutCallback(BaseModel):
271
271
  class BusinessPayBillTimeoutCallbackResponse(BaseModel):
272
272
  """Response schema for Business PayBill timeout callback."""
273
273
 
274
- ResultCode: int = 0
274
+ ResultCode: int | str = 0
275
275
  ResultDesc: str = "Timeout notification received successfully."
276
276
 
277
277
  model_config = ConfigDict(
@@ -152,7 +152,7 @@ class C2BValidationRequest(BaseModel):
152
152
  ThirdPartyTransID: Optional[str] = Field(
153
153
  None, description="Partner transaction ID (optional)."
154
154
  )
155
- MSISDN: int = Field(..., description="Customer mobile number.")
155
+ MSISDN: int | str = Field(..., description="Customer mobile number.")
156
156
  FirstName: Optional[str] = Field(None, description="Customer's first name.")
157
157
  MiddleName: Optional[str] = Field(None, description="Customer's middle name.")
158
158
  LastName: Optional[str] = Field(None, description="Customer's last name.")
@@ -226,7 +226,7 @@ class C2BValidationResponse(BaseModel):
226
226
  class C2BConfirmationResponse(BaseModel):
227
227
  """Schema for confirmation acknowledgment from your ConfirmationURL."""
228
228
 
229
- ResultCode: int = Field(0, description="Always 0 (success).")
229
+ ResultCode: int | str = Field(0, description="Always 0 (success).")
230
230
  ResultDesc: str = Field("Success", description="Usually 'Success'.")
231
231
 
232
232
  model_config = ConfigDict(
@@ -323,7 +323,7 @@ class StkCallback(BaseModel):
323
323
  ...,
324
324
  description="Global unique identifier of the processed checkout transaction request",
325
325
  )
326
- ResultCode: int = Field(
326
+ ResultCode: int | str = Field(
327
327
  ...,
328
328
  description="Numeric status code indicating the status of the transaction processing. 0 means success",
329
329
  )
@@ -449,13 +449,13 @@ class StkPushSimulateCallback(BaseModel):
449
449
  Returns:
450
450
  bool: True if ResultCode is 0, False otherwise.
451
451
  """
452
- return self.Body.stkCallback.ResultCode == 0
452
+ return str(self.Body.stkCallback.ResultCode) == "0"
453
453
 
454
454
 
455
455
  class StkPushSimulateCallbackResponse(BaseModel):
456
456
  """Schema for confirmation acknowledgment from your ConfirmationURL."""
457
457
 
458
- ResultCode: int = Field(0, description="Always 0 (success).")
458
+ ResultCode: int | str = Field(0, description="Always 0 (success).")
459
459
  ResultDesc: str = Field("Success", description="Usually 'Success'.")
460
460
 
461
461
  model_config = ConfigDict(
@@ -580,7 +580,7 @@ class StkPushQueryResponse(BaseModel):
580
580
  ...,
581
581
  description="Acknowledgment message from the API about the request submission status.",
582
582
  )
583
- ResultCode: int = Field(
583
+ ResultCode: int | str = Field(
584
584
  ...,
585
585
  description="Numeric status code indicating the status of the transaction processing. 0 means success.",
586
586
  )
@@ -235,7 +235,7 @@ class ReversalResultCallback(BaseModel):
235
235
  class ReversalResultCallbackResponse(BaseModel):
236
236
  """Schema for response to Reversal result callback."""
237
237
 
238
- ResultCode: int = Field(
238
+ ResultCode: int | str = Field(
239
239
  default=0, description="Result code (0=Success, other=Failure)."
240
240
  )
241
241
  ResultDesc: str = Field(
@@ -276,7 +276,7 @@ class ReversalTimeoutCallback(BaseModel):
276
276
  class ReversalTimeoutCallbackResponse(BaseModel):
277
277
  """Schema for response to Reversal timeout callback."""
278
278
 
279
- ResultCode: int = Field(
279
+ ResultCode: int | str = Field(
280
280
  default=0,
281
281
  description="Result code (0=Success, other=Failure).",
282
282
  )
@@ -199,7 +199,7 @@ class TaxRemittanceResultCallback(BaseModel):
199
199
  class TaxRemittanceResultCallbackResponse(BaseModel):
200
200
  """Schema for response sent back to Daraja API to acknowledge callback receipt."""
201
201
 
202
- ResultCode: int = Field(default=0, description="Code indicating the result status.")
202
+ ResultCode: int | str = Field(default=0, description="Code indicating the result status.")
203
203
  ResultDesc: str = Field(
204
204
  default="Callback received successfully",
205
205
  description="Description of the result.",
@@ -238,7 +238,7 @@ class TaxRemittanceTimeoutCallback(BaseModel):
238
238
  class TaxRemittanceTimeoutCallbackResponse(BaseModel):
239
239
  """Schema for response to Tax Remittance timeout callback."""
240
240
 
241
- ResultCode: int = Field(
241
+ ResultCode: int | str = Field(
242
242
  default=0,
243
243
  description="Result code (0=Success, other=Failure).",
244
244
  )
@@ -177,7 +177,7 @@ class TransactionStatusResultMetadata(BaseModel):
177
177
  """Metadata for Transaction Status result notification."""
178
178
 
179
179
  ResultType: int = Field(..., description="Type of result (0=Success, 1=Failure).")
180
- ResultCode: int = Field(..., description="Result code (0=Success).")
180
+ ResultCode: int | str = Field(..., description="Result code (0=Success).")
181
181
  ResultDesc: str = Field(..., description="Result description.")
182
182
  OriginatorConversationID: str = Field(
183
183
  ..., description="Originator conversation ID."
@@ -265,7 +265,7 @@ class TransactionStatusResultCallback(BaseModel):
265
265
  class TransactionStatusResultCallbackResponse(BaseModel):
266
266
  """Schema for response to Transaction Status result callback."""
267
267
 
268
- ResultCode: int = Field(
268
+ ResultCode: int | str = Field(
269
269
  default=0, description="Result code (0=Success, other=Failure)."
270
270
  )
271
271
  ResultDesc: str = Field(
@@ -306,7 +306,7 @@ class TransactionStatusTimeoutCallback(BaseModel):
306
306
  class TransactionStatusTimeoutCallbackResponse(BaseModel):
307
307
  """Schema for response to Transaction Status timeout callback."""
308
308
 
309
- ResultCode: int = Field(
309
+ ResultCode: int | str = Field(
310
310
  default=0,
311
311
  description="Result code (0=Success, other=Failure).",
312
312
  )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes