public CompleteThreedResponse CompleteThreed(CompleteThreedRequest completeThreedRequest, string apiUrl, string secretKey) { //Https Protocol bu şekilde gönderilmeli ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //ThreeD işlemi tamamlama işlemi için Signature oluşturan metod completeThreedRequest.SetSignature(secretKey); //ApiUrl + /payments/complete3dpayment adresine hazırlanan request ile post işlemi yapılır. var response = RestCall <CompleteThreedResponse>(apiUrl, completeThreedRequest, secretKey); //Hepsipay tarafından dönen signature doğruluğu kontrol edilir. Doğrulamak isterseniz kullanabilirsiniz. response.ControlSignature(secretKey); return(response); }
/// <summary> /// ThreeD doğrulama ekranından dönen cevap ile işlemin tamamlanmasının sağlandığı metod. /// </summary> /// <param name="threedSuccessfulResultModel">İşlem başarılı olduğunda dolu gelecektir. Başarısız işlemlerde null gönderilir.</param> /// <returns></returns> public ActionResult SuccessfulResult(ThreedSuccessfulResultModel threedSuccessfulResultModel) { var completeThreedRequest = new CompleteThreedRequest { EncryptedThreedResult = threedSuccessfulResultModel.EncryptedThreedResult, ApiKey = _apiKey, HashVersion = _hashVersion }; var apiUrl = _apiUrl + "/payments/complete3dpayment"; var completeThreedResponse = _paymentProcessor.CompleteThreed(completeThreedRequest, apiUrl, _secretKey); //ThreeD işlem sonucu var resultModel = new ResultModel { Amount = completeThreedResponse.Amount, ApiKey = completeThreedResponse.ApiKey, CardId = completeThreedResponse.CardId, Currency = completeThreedResponse.Currency, FailUrl = completeThreedResponse.FailUrl, SuccessUrl = completeThreedResponse.SuccessUrl, Success = completeThreedResponse.Success, MessageCode = completeThreedResponse.MessageCode, Message = completeThreedResponse.Message, UserMessage = completeThreedResponse.UserMessage, Installment = completeThreedResponse.Installment, TransactionTime = completeThreedResponse.TransactionTime, TransactionId = completeThreedResponse.TransactionId, SaveCreditCard = completeThreedResponse.SaveCreditCard, TransactionType = completeThreedResponse.TransactionType, ThreeDHostAddress = completeThreedResponse.ThreeDHostAddress }; //Result işleminin görüntülendiği sayfa return(View("Result", resultModel)); }