43 lines
1.8 KiB
C#
43 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace gehGassi.Core.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Schnittstellenbeschreibung für einen Service der alle PayPal-Funktionen zur Verfügung stellt
|
|
/// </summary>
|
|
public interface IPayPalService
|
|
{
|
|
/// <summary>
|
|
/// Prüft ob die PayPal Credentials korrekt sind und eine Verbindung zur Api aufgenommen werden kann
|
|
/// </summary>
|
|
/// <param name="clientId">PayPal ClientId</param>
|
|
/// <param name="secret">PayPal Secret</param>
|
|
/// <returns>true wenn erfolgreich, false sonst</returns>
|
|
Task<bool> TestCredentialsAsync(string clientId, string secret);
|
|
|
|
/// <summary>
|
|
/// Erstellen einer PayPal-Order
|
|
/// </summary>
|
|
/// <param name="orderId">Id der simple print Bestellung</param>
|
|
/// <param name="clientId">PayPal ClientId</param>
|
|
/// <param name="secret">PayPal Secret</param>
|
|
/// <param name="successUrl">Redirect-Url für ERFOLG</param>
|
|
/// <param name="cancelUrl">Redirect-URL für Fehler oder Abbrechen</param>
|
|
/// <returns>REdirect-Url zu PayPal oder leer wenn Fehler</returns>
|
|
Task<string> CreateOrderAsync(long orderId, string clientId, string secret, string successUrl, string cancelUrl);
|
|
|
|
/// <summary>
|
|
/// Authorisieren der PayPal Order - Bezahlung durchführen
|
|
/// </summary>
|
|
/// <param name="payPalOrder">PayPal-Order-Id</param>
|
|
/// <param name="clientId">PayPal ClientId</param>
|
|
/// <param name="secret">PayPal Secret</param>
|
|
/// <returns>true wenn erfolgreich, false sonst</returns>
|
|
Task<bool> AuthorizeOrderAsync(string payPalOrder, string clientId, string secret);
|
|
}
|
|
}
|