Я разрабатываю приложение в 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>