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 mobileYou may pass the same value retrieved from the getRemittanceForReceive methodThe characters + or ++ are not accepted |
| 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>

