Skip to content

Commit

Permalink
Merge pull request #43 from muratcesmecioglu/master
Browse files Browse the repository at this point in the history
SMS Doğrulama Hatası Çözümü
  • Loading branch information
muratcesmecioglu authored Aug 2, 2021
2 parents 1a7dd57 + 6202329 commit 2ec087a
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
],
"homepage": "https://github.com/furkankadioglu/efatura",
"license": "MIT",
"version": "1.9.2",
"version": "1.9.3",
"authors": [
{
"name": "Furkan Kadıoğlu",
Expand Down
32 changes: 31 additions & 1 deletion src/InvoiceManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -727,6 +727,34 @@ public function sendUserInformationsData(UserInformations $userInformations = nu
return $body["data"];
}

/**
* Initialize SMS Verification
*
* @return boolean
*/

private function initializeSMSVerification()
{
$parameters = [
"cmd" => "EARSIV_PORTAL_TELEFONNO_SORGULA",
"callid" => Uuid::uuid1()->toString(),
"pageName" => "RG_BASITTASLAKLAR",
"token" => $this->token,
"jp" => "{}",
];

$body = $this->sendRequestAndGetBody(self::DISPATCH_PATH, $parameters);
$this->checkError($body);

if(!isset($body["data"]["telefon"]))
{
return false;
}

return true;
}


/**
* Send user informations data
*
Expand All @@ -735,9 +763,11 @@ public function sendUserInformationsData(UserInformations $userInformations = nu
*/
public function sendSMSVerification($phoneNumber)
{
$this->initializeSMSVerification();

$data = [
"CEPTEL" => $phoneNumber,
"KTEL" => false,
"KCEPTEL" => false,
"TIP" => ""
];

Expand Down

3 comments on commit 2ec087a

@serkandiker
Copy link

@serkandiker serkandiker commented on 2ec087a Aug 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test kullanıcısında sms modul aktif değil bağlantıyı prod olarak test ettinizmi zira sistem üzerindeki telefon sorgulaması için js dosyasında ilgili satırlar aşadaki gibi

`
if (hata2===""){
this.call("EARSIV_PORTAL_TELEFONNO_SORGULA", {}).then(function(response){
if(response.errorMsg === undefined){
if(response.telefon ===""){
SPopup.MessageBox("Gelir İdaresi Başkanlığı imzası ile fatura imzalamak için SMS onayı gerekmektedir. Sisteme kayıtlı güncel bir telefon numaranız olmadığı için bu işlemi yapamazsınız, lütfen ilgili vergi dairenize giderek bilgilerinizi güncelleyiniz!");

                }else{
                    SNavigator.renderToPopup("RG_SMSONAY", {
                            global: true,
                            oninit: function(ekr) {
                                 ekr.setParameters(response.telefon,1,table.getSelectedRowValues());
                                 ekr.on("onclose", ekr, function() {
                                     sorgula.fire("selected",true);
                                   /* if(ekr.getDogrulandi() ==="1"){
                                        obj.hsmImza();
                                    }*/
                                }, null);
                            }
                    });
                }
            }
            else{
                SPopup.MessageBox(response.errorMsg);
            }
        });    
    }

`
test kullanıcısında sorgudan cevap dönmüyor.

@serkandiker
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Canlı sunucuda deneme fırsatım oldu cevap telefon numarası olarak dönüyor. pageName RG_SMSONAY veya RG_BASITTASLAKLAR olsada çalışıyor.
"SIFRE" => $code,
"OID" => $operationId,
'OPR' => 1,
'DATA' => $this->invoices,
gelen oid bilgisini faturaları ayrı ayrı onaylamak için 'DATA' => $this->invoices, yerine DATA verisine bir değişkenle ettn numarası atanırsa sorgu çalışacakmıdır.

@muratcesmecioglu
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bu PR'yi hazırladığımda canlı ortamda test edip faturamı kesmiştim.
Benim mevcut kullandığım projemde ne sms onay ne de çoklu fatura kullanıyorum. Bu yüzden çoklu fatura onayında işlem nasıl olur bilemiyorum, denemedim.

Please sign in to comment.