|
|
@ -5,6 +5,8 @@ using Microsoft.AspNetCore.Mvc; |
|
|
|
using Newtonsoft.Json; |
|
|
|
using Serilog.Context; |
|
|
|
using CustomerOnlineV2.Authorization; |
|
|
|
using System.Text; |
|
|
|
using System.Security.Cryptography; |
|
|
|
|
|
|
|
namespace CustomerOnlineV2.Controllers |
|
|
|
{ |
|
|
@ -89,15 +91,21 @@ namespace CustomerOnlineV2.Controllers |
|
|
|
} |
|
|
|
return View(_response); |
|
|
|
} |
|
|
|
|
|
|
|
// [Authorization("SendMoney")]
|
|
|
|
public async Task<IActionResult> Payment([FromQuery] string id) |
|
|
|
{ |
|
|
|
TransactionDetailModel _tranresponse = new TransactionDetailModel(); |
|
|
|
TrustPaymentRequest _request = new TrustPaymentRequest(); |
|
|
|
var loginDetails = HttpContext.GetLoginDetails(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using (LogContext.PushProperty("DebugId", id)) |
|
|
|
{ |
|
|
|
_logger.LogInformation($"Payment | REQUEST | {id}"); |
|
|
|
_tranresponse = await _transactionBusiness.GetReceiptData(id, loginDetails); |
|
|
|
|
|
|
|
_request.sitereference = "test_subhidauk71992"; |
|
|
|
_request.stprofile = "default"; |
|
|
|
_request.currencyiso3a = "GBP"; |
|
|
@ -108,10 +116,50 @@ namespace CustomerOnlineV2.Controllers |
|
|
|
_request.billingstreet = _tranresponse.Address; |
|
|
|
_request.billingpostcode = _tranresponse.Zipcode; |
|
|
|
_request.billingtown = _tranresponse.City; |
|
|
|
// _request.billingtelephone = _tranresponse.Mobile;
|
|
|
|
_request.billingcountryiso2a = "GB"; |
|
|
|
|
|
|
|
_request.customerpremise = _tranresponse.City; |
|
|
|
_request.customerstreet = _tranresponse.Address; |
|
|
|
_request.customerpostcode = _tranresponse.Zipcode; |
|
|
|
_request.customertown = _tranresponse.City; |
|
|
|
//_request.customertelephone = _tranresponse.Mobile;
|
|
|
|
_request.customercountryiso2a = "GB"; |
|
|
|
_request.billingemail= _request.customeremail= loginDetails.Email; |
|
|
|
|
|
|
|
_request.successfulurlredirect = $"{Request.Scheme}://{Request.Host}/Transaction/TranPaySuccess"; |
|
|
|
_request.declinedurlredirect = $"{Request.Scheme}://{Request.Host}/Transaction//TranDecline"; |
|
|
|
_request.sitesecuritytimestamp=DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"); |
|
|
|
|
|
|
|
var hash = $"GBP{_request.mainamount}test_subhidauk71992{_request.sitesecuritytimestamp}BEe6nRraqNeUgkpI"; |
|
|
|
|
|
|
|
StringBuilder builder = new StringBuilder(); |
|
|
|
using (SHA256 sha256Hash = SHA256.Create()) |
|
|
|
{ |
|
|
|
// ComputeHash - returns byte array
|
|
|
|
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(hash)); |
|
|
|
|
|
|
|
// Convert byte array to a string
|
|
|
|
for (int i = 0; i < bytes.Length; i++) |
|
|
|
{ |
|
|
|
builder.Append(bytes[i].ToString("x2")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
_request.sitesecurity = $"h{builder.ToString()}"; |
|
|
|
|
|
|
|
_logger.LogInformation($"Payment | RESPONSE | {JsonConvert.SerializeObject(_request)}"); |
|
|
|
} |
|
|
|
return View(_request); |
|
|
|
} |
|
|
|
public async Task<IActionResult> TranPaySuccess() |
|
|
|
{ |
|
|
|
return View(); |
|
|
|
} |
|
|
|
|
|
|
|
public async Task<IActionResult> TranDecline() |
|
|
|
{ |
|
|
|
return View(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |