diff --git a/src/Vendors/IslamiBankApi.php b/src/Vendors/IslamiBankApi.php
index 40b25e3..4294e4c 100644
--- a/src/Vendors/IslamiBankApi.php
+++ b/src/Vendors/IslamiBankApi.php
@@ -175,90 +175,160 @@ public function fetchRemittanceStatus(array $data): array
*/
public function directCreditRemittance(array $data): array
{
- //dd($data);
+ $directCreditRemittance = $this->__transferData($data);
$xmlString = '
'.$this->config[$this->status]['username'].'
'.$this->config[$this->status]['password'].'
';
- //$xmlString .= ''.($data['beneficiary_data']['reference_no'] ?? null).'';
$xmlString .= '';
- $xmlString .= '
- ?
+ $xmlString .= '
- ?
+ '.$directCreditRemittance['additionalField1'].'
- ?
+ '.$directCreditRemittance['additionalField2'].'
- ?
+ '.$directCreditRemittance['additionalField3'].'
- ?
+ '.$directCreditRemittance['additionalField4'].'
- ?
+ '.$directCreditRemittance['additionalField5'].'
- ?
+ '.$directCreditRemittance['additionalField6'].'
- ?
+ '.$directCreditRemittance['additionalField7'].'
- ?';
- $xmlString .= ''.($data['sending_amount'] ?? null).'';
- $xmlString .= '?';
- $xmlString .= ''.($data['sending_currency'] ?? null).'';
-
- if ($data['service_slug'] == 'bank_transfer') {
- $xmlString .= ''.($data['beneficiary_data']['receiver_information']['beneficiary_data']['bank_account_number'] ?? null).'';
- if ($data['beneficiary_data']['bank_information']['bank_slug'] == 'islami_bank_bangladesh_limited') {
- $xmlString .= ''.($data['beneficiary_data']['beneficiary_acc_type'] ?? '02').'';
- $xmlString .= ''.($data['beneficiary_data']['branch_information']['branch_data']['islami_bank_branch_code'] ?? null).'';
- $xmlString .= '2';
- } else {
- $xmlString .= '?';
- $xmlString .= '?';
- $xmlString .= '3';
- }
- } elseif ($data['receiver_information']['beneficiary_type_name'] == 'cash_pickup') {
- $xmlString .= '?';
- if ($data['beneficiary_data']['bank_information']['bank_slug'] == 'islami_bank_bangladesh_limited') {
- $xmlString .= '?';
- $xmlString .= ''.($data['beneficiary_data']['branch_information']['branch_data']['islami_bank_branch_code'] ?? null).'';
- $xmlString .= '1';
- } else {
- $xmlString .= '?';
- $xmlString .= '3';
- }
- }
- $xmlString .= ''.($data['beneficiary_data']['branch_information']['branch_data']['routing_no'] ?? '?').'';
- $xmlString .= ''.($data['beneficiary_data']['receiver_information']['city_name'] ?? null).','.($data['beneficiary_data']['receiver_information']['country_name'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['bank_information']['bank_data']['islami_bank_code'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['bank_information']['bank_name'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['branch_information']['branch_name'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['receiver_information']['beneficiary_name'] ?? null).'';
- $xmlString .= '>?';
- $xmlString .= ''.($data['beneficiary_data']['receiver_information']['beneficiary_mobile'] ?? null).'';
- $xmlString .= '
- ?
-
- ?
-
- ?
-
- ?
-
- ?';
- $xmlString .= ''.(date('Y-m-d', strtotime($data['created_at'])) ?? null).'';
- $xmlString .= ''.($data['note'] ?? '?').'';
- $xmlString .= ''.($data['beneficiary_data']['sender_information']['profile']['present_address']['city_name'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['sender_information']['profile']['present_address']['country_name'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['sender_information']['profile']['id_doc']['id_type'] ?? null).'';
- if ($data['beneficiary_data']['sender_information']['profile']['id_doc']['id_type'] == 'passport') {
- $xmlString .= ''.($data['beneficiary_data']['sender_information']['profile']['id_doc']['id_no'] ?? null).'';
- } else {
- $xmlString .= ''.($data['beneficiary_data']['sender_information']['profile']['id_doc']['id_no'] ?? null).'';
- }
- $xmlString .= ''.($data['beneficiary_data']['sender_information']['name'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['sender_information']['mobile'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['reference_no'] ?? null).'';
- $xmlString .= ''.($data['beneficiary_data']['reference_no'] ?? null).'';
- $xmlString .= ''.($data['remittance_purpose'] ?? null).'';
+ '.$directCreditRemittance['additionalField8'].'
+
+ '.$directCreditRemittance['additionalField9'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['amount'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['batchID'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryAccNo'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryAccType'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryAddress'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryBankCode'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryBankName'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryBranchCode'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryBranchName'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryName'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryPassportNo'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryPhoneNo'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['beneficiaryRoutingNo'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['exHouseTxID'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['exchHouseBranchCode'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['exchHouseSwiftCode'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['identityDescription'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['identityType'].'
+ ';
+ $xmlString .= '
+
+ '.($directCreditRemittance['isoCode'] ?? null).'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['issueDate'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['note'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['orderNo'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['paymentType'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['remittancePurpose'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['remitterAddress'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['remitterCountry'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['remitterIdentificationNo'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['remitterName'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['remitterPassportNo'].'
+ ';
+ $xmlString .= '
+
+ '.$directCreditRemittance['remitterPhoneNo'].'
+ ';
+ $xmlString .= '
+
+ '.($directCreditRemittance['reference_no'] ?? null).'
+ ';
+ $xmlString .= '
+
+ '.($directCreditRemittance['reference_no'] ?? null).'
+ ';
$xmlString .= '';
$soapMethod = 'directCreditWSMessage';
$response = $this->connectionCheck($xmlString, $soapMethod);
@@ -708,4 +778,81 @@ public function requestQuotation($order): array
{
return [];
}
+
+ /**
+ * @param array $data
+ * @return array
+ */
+ private function __transferData(array $data): array
+ {
+ $bankTransferData['additionalField1'] = '?';
+ $bankTransferData['additionalField2'] = '?';
+ $bankTransferData['additionalField3'] = '?';
+ $bankTransferData['additionalField4'] = '?';
+ $bankTransferData['additionalField5'] = '?';
+ $bankTransferData['additionalField6'] = '?';
+ $bankTransferData['additionalField7'] = '?';
+ $bankTransferData['additionalField8'] = '?';
+ $bankTransferData['additionalField9'] = '?';
+ $bankTransferData['amount'] = ($data['sending_amount'] ?? null);
+ $bankTransferData['batchID'] = '?';
+ $bankTransferData['beneficiaryAccNo'] = ($data['beneficiary_data']['receiver_information']['beneficiary_data']['bank_account_number'] ?? $data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] ?? null);
+ $bankTransferData['paymentType'] = 3;
+ $bankTransferData['beneficiaryRoutingNo'] = ($data['beneficiary_data']['branch_information']['branch_data']['routing_no'] ?? '?');
+ if ($data['service_slug'] == 'mbs_m_cash') {
+ $bankTransferData['paymentType'] = 5;
+ $bankTransferData['beneficiaryRoutingNo'] = '?';
+ }elseif ($data['service_slug'] == 'mfs_bkash'){
+ $bankTransferData['paymentType'] = 7;
+ $bankTransferData['beneficiaryRoutingNo'] = '?';
+ }elseif ($data['service_slug'] == 'mfs_nagad'){
+ $bankTransferData['paymentType'] = 8;
+ $bankTransferData['beneficiaryRoutingNo'] = '?';
+ }
+ if ($data['service_slug'] == 'cash_pickup') {
+ $bankTransferData['beneficiaryAccNo'] = '';
+ $bankTransferData['paymentType'] = 1;
+ $bankTransferData['beneficiaryRoutingNo'] = '?';
+ }
+ $bankTransferData['beneficiaryAccType'] = '';
+ $bankTransferData['beneficiaryBranchCode'] = '';
+ if ($data['beneficiary_data']['bank_information']['bank_slug'] == 'islami_bank_bangladesh_limited') {
+ $bankTransferData['beneficiaryAccType'] = ($data['beneficiary_data']['beneficiary_acc_type'] ?? null);
+ $bankTransferData['beneficiaryBranchCode'] = ($data['beneficiary_data']['branch_information']['branch_data']['islami_bank_branch_code'] ?? null);
+ $bankTransferData['beneficiaryRoutingNo'] = '?';
+ $bankTransferData['paymentType'] = 2;
+ }
+ $bankTransferData['beneficiaryAddress'] = ($data['beneficiary_data']['receiver_information']['city_name'] ?? null).','.($data['beneficiary_data']['receiver_information']['country_name'] ?? null);
+ $bankTransferData['beneficiaryBankCode'] = ($data['beneficiary_data']['bank_information']['bank_data']['islami_bank_code'] ?? null);
+ $bankTransferData['beneficiaryBankName'] = ($data['beneficiary_data']['bank_information']['bank_name'] ?? null);
+ $bankTransferData['beneficiaryBranchName'] = ($data['beneficiary_data']['branch_information']['branch_name'] ?? null);
+ $bankTransferData['beneficiaryName'] = ($data['beneficiary_data']['receiver_information']['beneficiary_name'] ?? null);
+ $bankTransferData['beneficiaryPassportNo'] = '?';
+ $bankTransferData['beneficiaryPhoneNo'] = ($data['beneficiary_data']['receiver_information']['beneficiary_mobile'] ?? null);
+ $bankTransferData['exHouseTxID'] = '?';
+ $bankTransferData['exchHouseBranchCode'] = '?';
+ $bankTransferData['exchHouseSwiftCode'] = '?';
+ $bankTransferData['identityDescription'] = '?';
+ $bankTransferData['identityType'] = ($data['beneficiary_data']['sender_information']['profile']['id_doc']['id_type'] ?? null);
+ $bankTransferData['remitterPassportNo'] = '?';
+ $bankTransferData['remitterIdentificationNo'] = '?';
+ if ($data['beneficiary_data']['sender_information']['profile']['id_doc']['id_type'] == 'passport') {
+ $bankTransferData['remitterPassportNo'] = ($data['beneficiary_data']['sender_information']['profile']['id_doc']['id_no'] ?? null);
+ } else {
+ $bankTransferData['remitterIdentificationNo'] = ($data['beneficiary_data']['sender_information']['profile']['id_doc']['id_no'] ?? null);
+ }
+ $bankTransferData['isoCode'] = ($data['sending_currency'] ?? null);
+ $bankTransferData['issueDate'] = (date('Y-m-d', strtotime($data['created_at'])) ?? null);
+ $bankTransferData['note'] = '?';
+ $bankTransferData['orderNo'] = '?';
+ $bankTransferData['remittancePurpose'] = '?';
+ $bankTransferData['remitterAddress'] = ($data['beneficiary_data']['sender_information']['profile']['present_address']['city_name'] ?? null);
+ $bankTransferData['remitterCountry'] = ($data['beneficiary_data']['sender_information']['profile']['present_address']['country_name'] ?? null);
+ $bankTransferData['remitterName'] = ($data['beneficiary_data']['sender_information']['name'] ?? null);
+ $bankTransferData['remitterPhoneNo'] = ($data['beneficiary_data']['sender_information']['mobile'] ?? null);
+ $bankTransferData['secretKey'] = ($data['beneficiary_data']['reference_no'] ?? null);
+ $bankTransferData['transReferenceNo'] = ($data['beneficiary_data']['reference_no'] ?? null);
+
+ return $bankTransferData;
+ }
}