UMS Pay

UMS Pay is a service that enables you to collect payments on your website or mobile app through M-Pesa STK Push. The money is automatically sent to your M-Pesa till number, paybill number or bank account that you have connect to your UMS Pay account.

INTIATE STK PUSH
Method Endpoint
POST https://api.umeskiasoftwares.com/api/v1/intiatestk
Headers:
Header Description value
Content-Type The Accept request HTTP header advertises which content types, expressed as MIME types, the client can understand. application/json

                                  "Content-Type : application/json"
                                
Parameters:
Parameter Description Sample value
api_key API key obtained from your UMS Portal VE5MTlkzRk06MTlwNjlkZWM=
email Email that you use to login into UMS Portal example@example.com
account_id Account id obtained from your UMS Portal UMPAY123456789
amount Amount to request from your customer in KES 1
msisdn Phone number to request money from 254798765432 OR 0798765432
reference (optional) A unique reference that will be used to identify the transaction 675432

                                    {
                                        "api_key":"VE5MTlkzRk06MTlwNjlkZWM=",
                                        "email":"example@gmail.com",
                                        "account_id":"UMPAY123456789",
                                        "amount" : "10",
                                        "msisdn" : "254798765432",
                                        "reference" : "675432"
                                    }
                                
Response:

                                    {
                                        "success": "200",
                                        "massage": "Request sent sucessfully.",
                                        "tranasaction_request_id": "UMSPID220520232332037855",
                                    }
                                
                            
Success dump:

                                    {
                                        "ResponseCode": 0,
                                        "ResponseDescription": "Success. Request accepted for processing",
                                        "MerchantRequestID": "45695-1488133-1",
                                        "CheckoutRequestID": "ws_CO_220520232332037855",
                                        "TransactionID": "UMSPID220520232332037855",
                                        "TransactionAmount": 1,
                                        "TransactionReceipt": "QBI3DNNHWP",
                                        "TransactionDate": "20210421114425",
                                        "TransactionReference": "675432",
                                        "Msisdn": "254798765432"
                                    }
                                
                            
Error dump:

                                    {
                                        "ResponseCode": 1031,
                                        "ResponseDescription": "Request cancelled by user",
                                        "MerchantRequestID": "45695-1488133-1",
                                        "CheckoutRequestID": "ws_CO_220520232332037855",
                                        "TransactionID": "UMSPID220520232332037855",
                                        "TransactionAmount": 1,
                                        "TransactionReference": "675432",
                                        "Msisdn": "254798765432"
                                    }
                                
                            
Error ResponseCode
ResponseCode ResponseDescription
0 Success. Request accepted for processing
1 The balance is insufficient for the transaction.
1032 Request cancelled by user
1037 DS timeout user cannot be reached
1025 An error occurred while sending a push request
9999 An error occurred while sending a push request.
2001 The initiator information is invalid.
1019 ransaction has expired
1001 Unable to lock subscriber, a transaction is already in process for the current subscriber
TRANSACTION STATUS
Method Endpoint
POST https://api.umeskiasoftwares.com/api/v1/transactionstatus
Headers:
Header Description value
Content-Type The Accept request HTTP header advertises which content types, expressed as MIME types, the client can understand. application/json

                                  "Content-Type : application/json"
                                
Parameters:
Parameter Description Sample value
api_key API key obtained from your UMS Portal VE5MTlkzRk06MTlwNjlkZWM=
email Email that you use to login into UMS Portal example@gmail.com
tranasaction_request_id Transaction id that you get after intiating stk push UMSPID220520232332037855

                                    {
                                        "api_key":"VE5MTlkzRk06MTlwNjlkZWM=",
                                        "email":"example@gmail.com",
                                        "tranasaction_request_id " : "UMSPID220520232332037855"
                                    }
                                
Response:

                                 {
                                      "ResultCode": "200",
                                      "ResultDesc": "Success. Request accepted for processing",
                                      "TransactionID": "UMSPID220520232332037855",
                                      "TransactionStatus": "Completed",
                                      "TransactionCode": "0",
                                      "TransactionReceipt": "SAQ34ZOVL3",
                                      "TransactionAmount": "10",
                                      "Msisdn": "254798765432",
                                      "TransactionDate": "20240126103722",
                                      "TransactionReference": "U77434129"
                                  }