используя call_back_address и ipn url с тем, как перенаправить нашу пользовательскую страницу в шлюз coinpayment.net? - PullRequest
0 голосов
/ 09 мая 2018

Я использую api-шлюз для оплаты монет (cmd = CreateTransaction). Я сгенерировал QR-код и адрес, который успешно отсканирован из приложения, но после оплаты я хочу перенаправить success_url и узнать, как перенаправить на страницу благодарности нашего приложения и другую информацию, отправленную в базу данных.

IMP: Я установил IPN URL для получения ответа об оплате и обновления статуса.

Вот ниже у меня есть код записи:

public ActionResult Index()
{
    var purchase = await CoinpaymentsApi.CreateTransaction(1, "USD", "LTCT", "abc@outlook.com");
    Response.Redirect(purchase.Result.StatusUrl);
}

Вот мой API:

public static Task<CreateTransactionResponse> CreateTransaction(CreateTransactionRequest request)
{
    var req = new HttpUrlRequest(request);
    return process<CreateTransactionResponse>(req);
}

public HttpUrlRequest(object param, string method = "POST", string url = "https://www.coinpayments.net/api.php")
{
    Method = method;
    RequestUrl = url;

    if (param != null)
    {
        RequestBody = JsonSerializer.SerializeToString(param);
        if (param is CreateMassWithdrawalRequest)
        {
            var casted = param as CreateMassWithdrawalRequest;
            RequestBody = casted.GetRequestBody();
        }
    }
}

private static async Task<T1> process<T1>(HttpUrlRequest request)
    where T1 : ResponseModel, new()
{
    var response = await HttpUrlCaller.GetResponse(request); 
    var result = new T1();
    result.HttpResponse = response;
    result.ProcessJson();

    return result;
}

Используя метод индекса, я перенаправляю на https://www.coinpayments.net/index.php?cmd= как этот URL и показываю их QR-код вместе с экраном. После сканирования QR-кода, как вернуть мою страницу благодарности ?? Я понятия не имею, как это сделать, кто-нибудь знает, как это сделать, пожалуйста, помогите мне.

Вот мой метод IPN Обратный вызов метода URL:

  public ActionResult GetIpnResponse()
    {
        if (Request.Form != null)
        {
            var ipn_version = Request.Form["ipn_version"];
            var ipn_id = Request.Form["ipn_id"];
            var ipn_mode = Request.Form["ipn_mode"];
            var merchant = Request.Form["merchant"];
            var txn_id = Request.Form["txn_id"];
            var status = Request.Form["status"];
            var status_text = Request.Form["status_text"];
            var currency1 = Request.Form["currency1"];
            var currency2 = Request.Form["currency2"];
            var amount1 = Request.Form["amount1"];
            var amount2 = Request.Form["amount2"];
            var fee = Request.Form["fee"];
            var buyer_name = Request.Form["buyer_name"];
            var email = Request.Form["email"];
            var item_number = Request.Form["item_number"];
            var received_amount = Request.Form["received_amount"];
            var received_confirms = Request.Form["received_confirms"];


                if (status >= 100)
                {
                    return View("Thankyou");                        
                }                
        }
        return Content("witing");
    }

    public ActionResult Thankyou()
    {
        return View();
    }

После завершения оплаты, как вернуть мою страницу Спасибо?

...