Skip to content

Wallet Top up

Receive Remittance Flow Diagrams#

Agents should follow the diagrams below to correctly execute the Receive process.

The diagram below illustrates the flow for receiving a Wallet Top-up remittance.

The diagram below illustrates the sequence of steps for receiving a Wallet Top-up remittance.


Get Ready Cash to Mobile Remittances List#

getReadyCashToMobileRemittancesList Mandatory

This method retrieves all Wallet Top-up remittances (a list of RTC numbers) sent to the Agent.

Info

Retrieves remittances with status of READY.

Request Inputs#

Field Type Size Mandatory Description
agentCode String 5 Yes Receive agent code assigned by SHIFT
userId String 20 Yes User ID assigned by SHIFT
userPassword String 30 Yes User password assigned by SHIFT

Response Outputs#

Field Type Description
resultCode String See the Result Codes and Messages table
resultMessage String
remittancesList List of Strings List of Remittance numbers

SOAP Request#

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice/">
  <soapenv:Header/>
  <soapenv:Body>
    <web:getReadyCashToMobileRemittancesList>
      <agentCode>*****</agentCode>
      <userId>*****</userId>
      <userPassword>*****</userPassword>
    </web:getReadyCashToMobileRemittancesList>
  </soapenv:Body>
</soapenv:Envelope>

SOAP Response#

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <ns3:getReadyCashToMobileRemittancesListResponse xmlns:ns2="http://xml.netbeans.org/schema/ApiSchema" xmlns:ns3="http://webservice/">
      <return>
        <ns2:resultCode>9000</ns2:resultCode>
        <ns2:resultMessage>Operation successfully</ns2:resultMessage>
        <ns2:remittancesList>43598199835</ns2:remittancesList>
        <ns2:remittancesList>55887059252</ns2:remittancesList>
        <ns2:remittancesList>53477085001</ns2:remittancesList>
        <ns2:remittancesList>55629022379</ns2:remittancesList>
      </return>
    </ns3:getReadyCashToMobileRemittancesListResponse>
  </S:Body>
</S:Envelope>

Get and Process Cash to Mobile Remittance#

getAndProcessCashToMobileRemittance Mandatory

This method retrieves Wallet Top-up remittance information and allows the agent to start deposit process.

Status Change

Calling this method changes the remittance status to IN PROCESS.

Request Inputs#

Field Type Size Mandatory Description
agentCode String 5 Yes Receive agent code assigned by SHIFT
userId String 20 Yes User ID assigned by SHIFT
userPassword String 30 Yes User password assigned by SHIFT
remittancTrackingCode String 20 Yes The number retrieved from getReadyCashToMobileRemittancesList

Response Outputs#

Field Type Description
resultCode String See return error messages and codes table
resultMessage String
remittanceInfo Object Remittance information object.
See below remittanceInfo

remittanceInfo#

remittanceInfo Object fields
Field Type Description
remittanceTrackingCode String
remittanceRecordingDate Date Format: dd/MM/yyyy
sendingCountryCode String ISO Alpha-3 (3166)
destinationCountryCode String ISO Alpha-3 (3166)
PayoutAmount Decimal Final amount that should be delivered to the receiver.
PayoutCurrencyCode String
remittanceStatus String READY
sendingReason String
payoutSettlementRate Decimal
settlementPayoutAmount Decimal Payout amount in settlement currency "USD"
sender Object See below sender
receiver Object See below receiver
mobileWalletProviderCode String Provider code if available
mobileWalletProviderName String Provider name
sender#
sender Object fields
Field Type Description
senderID String
type Integer See the type table
firstName String This field is available if the sender type is 1
Allowed characters: English letters (A-Z, a-z) and spaces only
middleName String This field may be available if the sender type is 1
Allowed characters: English letters (A-Z, a-z) and spaces only
lastName String This field is available if the sender type is 1
Allowed characters: English letters (A-Z, a-z) and spaces only
enName String This field is available if the sender type is 2
Allowed characters: English letters (A-Z, a-z) and spaces only
telephone String
mobile String
address String
nationalityCountryCode String ISO Alpha-3 (3166)
birthDateOrEstablishDate Date Format: dd/MM/yyyy
identityTypeCode Integer
identityTypeName String
identityNumber String
receiver#
receiver Object fields
Field Type Description
receiverID String
type Integer See the type table
firstName String This field is available if the receiver type is 1
Allowed characters: English letters (A-Z, a-z) and spaces only
middleName String This field may available if the receiver type is 1
Allowed characters: English letters (A-Z, a-z) and spaces only
lastName String This field is available if the receiver type is 1
Allowed characters: English letters (A-Z, a-z) and spaces only
enName String This field is available if the receiver type is 2
Allowed characters: English letters (A-Z, a-z) and spaces only
telephone String
mobile String
address String
nationalityCountryCode String ISO Alpha-3 (3166)

SOAP Request#

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice/">
  <soapenv:Header/>
  <soapenv:Body>
    <web:getAndProcessCashToMobileRemittance>
      <remittancTrackingCode>43598199835</remittancTrackingCode>
      <agentCode>*****</agentCode>
      <userId>*****</userId>
      <userPassword>*****</userPassword>
    </web:getAndProcessCashToMobileRemittance>
  </soapenv:Body>
</soapenv:Envelope>

SOAP Response#

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <ns3:getAndProcessCashToMobileRemittanceResponse xmlns:ns2="http://xml.netbeans.org/schema/ApiSchema" xmlns:ns3="http://webservice/">
      <return>
        <ns2:resultCode>9000</ns2:resultCode>
        <ns2:resultMessage>Operation successfully</ns2:resultMessage>
        <ns2:remittanceInfo>
          <ns2:remittanceTrackingCode>43598199835</ns2:remittanceTrackingCode>
          <ns2:remittanceRecordingDate>13/07/2020 11:03:30 AM</ns2:remittanceRecordingDate>
          <ns2:sendingCountryCode>JOR</ns2:sendingCountryCode>
          <ns2:destintationCountryCode>EGY</ns2:destintationCountryCode>
          <ns2:payingAmount>0.0</ns2:payingAmount>
          <ns2:PayoutAmount>1080.99</ns2:PayoutAmount>
          <ns2:payoutCurrencyCode>EGP</ns2:payoutCurrencyCode>
          <ns2:remittanceStatus>READY</ns2:remittanceStatus>
          <ns2:payoutSettlementRate>15.95</ns2:payoutSettlementRate>
          <ns2:settlementPayoutAmount>67.77</ns2:settlementPayoutAmount>
          <ns2:sender>
            <ns2:senderId>200299</ns2:senderId>
            <ns2:firstName>Mohammed</ns2:firstName>
            <ns2:lastName>Alsheik</ns2:lastName>
            <ns2:telephone/>
            <ns2:mobile>962798420540</ns2:mobile>
            <ns2:email>mohammedata79@gmail.com</ns2:email>
            <ns2:address>Test AddressssseeeTRETRETRET</ns2:address>
            <ns2:nationalityCountryCode>JOR</ns2:nationalityCountryCode>
            <ns2:birthDate>07/11/1979</ns2:birthDate>
            <ns2:identityTypeCode>1</ns2:identityTypeCode>
            <ns2:identityTypeName>Passport</ns2:identityTypeName>
            <ns2:identityNumber>1236587888</ns2:identityNumber>
          </ns2:sender>
          <ns2:receiver>
            <ns2:receiverId>271593</ns2:receiverId>
            <ns2:type>1</ns2:type>
            <ns2:firstName>Sami</ns2:firstName>
            <ns2:middelName>Moha</ns2:middelName>
            <ns2:lastName>Dawwod</ns2:lastName>
            <ns2:telephone/>
            <ns2:mobile>2011123455555</ns2:mobile>
            <ns2:address>test</ns2:address>
            <ns2:nationalityCountryCode>EGY</ns2:nationalityCountryCode>
          </ns2:receiver>
          <ns2:payingToPayoutRate>0.0</ns2:payingToPayoutRate>
          <ns2:sendingReason>Study Expenses</ns2:sendingReason>
          <ns2:mobileWalletProviderCode>9897779</ns2:mobileWalletProviderCode>
          <ns2:mobileWalletProviderName>Safaricom (MPESA)</ns2:mobileWalletProviderName>
        </ns2:remittanceInfo>
      </return>
    </ns3:getAndProcessCashToMobileRemittanceResponse>
  </S:Body>
</S:Envelope>

Pay Cash to Mobile Remittance#

PayCashToMobileRemittance Mandatory

This method is used to complete the receive process for a Wallet Top-up remittance.

Status Change

Calling this method changes the remittance status to PAIDOUT.

Request Inputs#

Field Type Size Mandatory Description
agentCode String 5 Yes Receive agent code assigned by SHIFT
userId String 20 Yes User ID assigned by SHIFT
userPassword String 30 Yes User password assigned by SHIFT
remittancTrackingCode String 20 Yes

Response Outputs#

Field Type Description
resultCode String See the Result Codes and Messages table
resultMessage String

SOAP Request#

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice/">
  <soapenv:Header/>
  <soapenv:Body>
    <web:PayCashToMobileRemittance>
      <remittancTrackingCode>43598199835</remittancTrackingCode>
      <agentCode>*****</agentCode>
      <userId>*****</userId>
      <userPassword>*****</userPassword>
    </web:PayCashToMobileRemittance>
  </soapenv:Body>
</soapenv:Envelope>

SOAP Response#

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <ns3:PayCashToMobileRemittanceResponse xmlns:ns2="http://xml.netbeans.org/schema/ApiSchema" xmlns:ns3="http://webservice/">
      <return>
        <ns2:resultCode>9000</ns2:resultCode>
        <ns2:resultMessage>Operation successfully</ns2:resultMessage>
      </return>
    </ns3:PayCashToMobileRemittanceResponse>
  </S:Body>
</S:Envelope>