Skip to content

Cash Pick 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 Cash Pick-up remittance.

The diagram below illustrates the sequence of steps for receiving a Cash Pick-up remittance.


Get Remittance For Receive#

getRemittanceForReceive Mandatory

This method is used to retrieve remittance information for Cash Pick-up and lock it to complete the receiving process.

Info

Remittance information is retrieved only if:

  • The remittance status is READY, and
  • The remittance is not locked by another user

Important Note

This method retrieves a receiveOrderCode, which must be provided when calling the Receive Remittance method.

Once the agent calls this method and retrieves the remittance information, the remittance will be reserved for 10 minutes to complete the receiving 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 remittance number that the receiver must provide to the agent to process the remittance

Response Outputs#

Field Type Description
resultCode String See the Result Codes and Messages table
resultMessage String
remittanceInfo Object Remittance information object
See below remittanceInfo

remittanceInfo#

remittanceInfo Object fields
Field Type Size Description
remittancTrackingCode String
remittanceRecodingDate Date Format: dd/MM/yyyy
sendingCountryCode String ISO Alpha-3 (3166)
destinationCountryCode String ISO Alpha-3 (3166)
payingAmount Decimal
PayoutAmount Decimal Final amount that should be delivered to the receiver.
payingCurrencyCode String ISO Alpha-3 (4217)
PayoutCurrencyCode String ISO Alpha-3 (4217)
payoutSettlementRate Decimal Cost rate for payout amount, payout currency to settlement currency
settlementPayoutAmount Decimal Payout amount in settlement currency "USD"
payingAmountSettlementRate Decimal
remittanceStatus String The remittance will be available for retrieval only if its current status is READY
receiveOrderCode String This code should be provided in the receive remittance method
sender Object sender details object
See below sender
receiver Object receiver details object
See below receiver
payingToPayoutRate Decimal
sendingReason String
charges Decimal
settlementCharges Decimal
agentChargesShare Decimal
agentFXChargesShare Decimal
payingToPayoutRate Decimal
sendingReason String
sender#
sender Object fields
Field Type Size Description
senderId String 11
type Integer 1 See the type table
firstName String 50 This field is available if the sender type is 1.
Allowed characters: English letters (A-Z, a-z) and spaces only
middleName String 50 This field may be available if the sender type is 1.
Allowed characters: English letters (A-Z, a-z) and spaces only
lastName String 50 This field is available if the sender type is 1.
Allowed characters: English letters (A-Z, a-z) and spaces only
enName String 100 This field is available if the sender type is 2.
Allowed characters: English letters (A-Z, a-z) and spaces only
telephone String 20
mobile String 20
address String 200
nationalityCountryCode String 3 ISO Alpha-3 (3166)
birthDateOrEstablishDate Date Format: dd/MM/yyyy
If the sender type is 1, the sender's birthday will be provided.
If the sender type is 2, the company establishment date will be provided
identityTypeCode Integer
identityTypeName String
identityNumber String
receiver#
receiver Object fields
Field Type Size Description
receiverId String 11
type Integer 1 See the type table
firstName String 50 This field is available if the receiver type is 1.
Allowed characters: English letters (A-Z, a-z) and spaces only
middleName String 50 This field may be available if the receiver type is 1.
Allowed characters: English letters (A-Z, a-z) and spaces only
lastName String 50 This field is available if the receiver type is 1.
Allowed characters: English letters (A-Z, a-z) and spaces only
enName String 100 This field is available if the receiver type is 2.
Allowed characters: English letters (A-Z, a-z) and spaces only
telephone String 20
mobile String 20
address String 200
nationalityCountryCode String 3 ISO Alpha-3 (3166)
identityTypeCode Integer 4

SOAP Request#

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

SOAP Response#

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <ns3:getRemittanceForReceiveResponse 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>41941038491</ns2:remittanceTrackingCode>
          <ns2:remittanceRecordingDate>12/07/2020 10:31:44 PM</ns2:remittanceRecordingDate>
          <ns2:sendingCountryCode>JOR</ns2:sendingCountryCode>
          <ns2:destintationCountryCode>JOR</ns2:destintationCountryCode>
          <ns2:payingAmount>0.0</ns2:payingAmount>
          <ns2:PayoutAmount>100.0</ns2:PayoutAmount>
          <ns2:payoutCurrencyCode>JOD</ns2:payoutCurrencyCode>
          <ns2:remittanceStatus>READY</ns2:remittanceStatus>
          <ns2:payoutSettlementRate>0.7089</ns2:payoutSettlementRate>
          <ns2:settlementPayoutAmount>141.06</ns2:settlementPayoutAmount>
          <ns2:receiveOrderCode>I1926761987</ns2:receiveOrderCode>
          <ns2:sender>
            <ns2:senderId>198408</ns2:senderId>
            <ns2:type>1</ns2:type>
            <ns2:firstName>Ahmad</ns2:firstName>
            <ns2:lastName>Rami</ns2:lastName>
            <ns2:telephone/>
            <ns2:mobile>00962799999990</ns2:mobile>
            <ns2:address>test</ns2:address>
            <ns2:nationalityCountryCode>JOR</ns2:nationalityCountryCode>
            <ns2:birthDateOrEstablishDate>27/07/1980</ns2:birthDateOrEstablishDate>
            <ns2:identityTypeCode>1</ns2:identityTypeCode>
            <ns2:identityTypeName>Passport</ns2:identityTypeName>
            <ns2:identityNumber>1236587888</ns2:identityNumber>
          </ns2:sender>
          <ns2:receiver>
            <ns2:receiverId>271581</ns2:receiverId>
            <ns2:type>1</ns2:type>
            <ns2:firstName>Jamal</ns2:firstName>
            <ns2:lastName>Hasan</ns2:lastName>
            <ns2:telephone/>
            <ns2:mobile>224232321312</ns2:mobile>
            <ns2:address>test address</ns2:address>
            <ns2:nationalityCountryCode>JOR</ns2:nationalityCountryCode>
          </ns2:receiver>
          <ns2:payingToPayoutRate>0.0</ns2:payingToPayoutRate>
          <ns2:sendingReason>Tourism Expenses</ns2:sendingReason>
        </ns2:remittanceInfo>
      </return>
    </ns3:getRemittanceForReceiveResponse>
  </S:Body>
</S:Envelope>

Receive Remittance#

receiveRemittance Mandatory

This method is used to complete the receiving process for a Cash Pick-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 The number that the receiver should provide to the agent
receiveOrderCode String 10 Yes Provided by getRemittanceForReceive
receiver Object Yes See below Receiver information object

receiver#

receiver Object fields
Field Type Size Mandatory Description
telephone String 20 Conditional One of these is mandatory telephone or mobile
mobile String 20 Conditional One of these is mandatory telephone or mobile
You may pass the same value retrieved from the getRemittanceForReceive method
The characters + or ++ are not accepted
email String 100 No If provided, must be in a valid email format
address String 200 Yes You can pass the value retrieved from the getRemittanceForReceive method
nationalityCountryCode String 3 Yes You can pass either:
An ISO Alpha-3 (3166) country code, or
The same value retrieved from the getRemittanceForReceive method
identityTypeCode Integer 4 Yes See getIdentities
identityNumber String 20 Yes
identityIssuePlace String 100 Yes
identityIssueDate Date Yes Format: dd/MM/yyyy
identityExpiryDate Date Yes Format: dd/MM/yyyy
birthDateOrEstablishDate Date Yes Format: dd/MM/yyyy
birthPlace String 50 No
gender Integer 1 No If the sender type is 1
See gender types table
occupationOrSector String 100 No Depends on receiver type
See get Occupations or sector
postalCode String 50 No
nationalNumber String 50 No

Response Outputs#

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

SOAP Request#

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice/" xmlns:apis="http://xml.netbeans.org/schema/ApiSchema">
  <soapenv:Header/>
  <soapenv:Body>
    <web:receiveRemittance>
      <remittancTrackingCode>41941038491</remittancTrackingCode>
      <receiveOrderCode>I1926761987</receiveOrderCode>
      <receiver>
        <apis:telephone></apis:telephone>
        <apis:mobile>9854555555</apis:mobile>
        <apis:email></apis:email>
        <apis:address>test receiver address</apis:address>
        <apis:nationalityCountryCode>JOR</apis:nationalityCountryCode>
        <apis:identityTypeCode>1</apis:identityTypeCode>
        <apis:identityNumber>12344100014</apis:identityNumber>
        <apis:identityIssuePlace>amman</apis:identityIssuePlace>
        <apis:identityIssueDate>11/12/2019</apis:identityIssueDate>
        <apis:identityExpiryDate>10/12/2024</apis:identityExpiryDate>
        <apis:birthDateOrEstablishDate>01/04/1985</apis:birthDateOrEstablishDate>
        <apis:gender>1</apis:gender>
        <apis:occupationOrSector>Engineer</apis:occupationOrSector>
        <apis:birthPlace>amman</apis:birthPlace>
        <apis:postalCode></apis:postalCode>
        <apis:nationalNumber></apis:nationalNumber>
      </receiver>
      <agentCode>*****</agentCode>
      <userId>*****</userId>
      <userPassword>*****</userPassword>
    </web:receiveRemittance>
  </soapenv:Body>
</soapenv:Envelope>

SOAP Response#

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <ns3:receiveRemittanceResponse 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:agentChargesShare>2.0</ns2:agentChargesShare>
        <ns2:agentFXChargesShare>0.0</ns2:agentFXChargesShare>
      </return>
    </ns3:receiveRemittanceResponse>
  </S:Body>
</S:Envelope>