Как получить информацию о транзакциях, совершенных через API PayPal? - PullRequest
0 голосов
/ 19 октября 2019

Я разрабатываю приложение в Asp.Net MVC и буду использовать PayPal для клиентов, чтобы подписываться и совершать платежи за предлагаемые продукты. Я использую кнопки, которые перенаправляют клиентов на страницу Paypal, где они входят и выполняют свои транзакции. ... пока все хорошо здесь.

Как я могу получить информацию о совершенных транзакциях? , вам нужно было получить информацию о конкретной транзакции или список транзакций между двумя датами, это можно сделать?

Я уже создал метод, который получает токен доступа, а другой - для получения уведомлений (WebHook), гдеЯ могу получать информацию, когда происходят события, но истина не очень ясна в работе Api относительно моего сомнения.

Получить токен:

 public async Task<RespuestaPaypalToken> GetTokenPaypal()
    {
        string respuesta = string.Empty;
        RespuestaPaypalToken R = new RespuestaPaypalToken();
        using (HttpClient client = new HttpClient())
        {
            byte[] byteArray = Encoding.UTF8.GetBytes(EngineData.ClientId + ":" + EngineData.KeySecret);
            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
            Uri url = new Uri(EngineData.EndPointTokenPaypal, UriKind.Absolute);
            List<KeyValuePair<string, string>> formData = new List<KeyValuePair<string, string>>();
            formData.Add(new KeyValuePair<string, string>(EngineData.Grant_Type, EngineData.Client_Credentials));
            HttpContent content = new FormUrlEncodedContent(formData);
            HttpResponseMessage response = await client.PostAsync(url, content);
            if (response.IsSuccessStatusCode)
            {
                respuesta = await response.Content.ReadAsStringAsync();
                R = JsonConvert.DeserializeObject<RespuestaPaypalToken>(respuesta);
            }
        }
        return R;
    }

Получать уведомления

[AllowAnonymous]
        [HttpPost]
        public void WebHookPay()
        {
            string cadena = string.Empty;
            if (Request.RequestType.Equals("POST"))
            {
                var stream = new StreamReader(Request.InputStream);
                stream.BaseStream.Seek(0, SeekOrigin.Begin);
                cadena = stream.ReadToEnd();
            }
        }

HTML-кнопки:

 <div id="comprarAhora" class="divIzquierda">
        <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
            <input type="hidden" name="cmd" value="_s-xclick">
            <input type="hidden" name="hosted_button_id" value="XXQPJDJJZLRBE">
            <input type="image" src="https://www.paypalobjects.com/es_ES/ES/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal, la forma rápida y segura de pagar en Internet.">
            <img alt="" border="0" src="https://www.paypalobjects.com/es_ES/i/scr/pixel.gif" width="1" height="1">
        </form>
    </div>

    <div id="subcripcion" class="divDerecha">
        <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
            <input type="hidden" name="cmd" value="_s-xclick">
            <input type="hidden" name="hosted_button_id" value="6D8R9ZT8S939L">
            <input type="image" src="https://www.paypalobjects.com/es_ES/ES/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal, la forma rápida y segura de pagar en Internet.">
            <img alt="" border="0" src="https://www.paypalobjects.com/es_ES/i/scr/pixel.gif" width="1" height="1">
        </form>
    </div>
    <br /><br />
</div>

<div id="cancelarSubcripcion" align="center">
    <A HREF="https://www.paypal.com/cgi-bin/webscr?cmd=_subscr-find&alias=J54EPFNPQC8WG">
        <IMG SRC="https://www.paypalobjects.com/es_ES/ES/i/btn/btn_unsubscribe_LG.gif" BORDER="0">
    </A>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...