Мне было интересно, есть ли в PayPal платежный сервис, который позволяет пользователям вводить данные своей кредитной карты на моем сайте (пользователь даже не узнает, что они платят через PayPal). Затем я должен убедиться, что он обрабатывает повторные платежи и возвраты. В основном мне нужно создать сервис PayPal, который реализует следующее:
public interface IPaymentService {
Response ValidateCard(NetworkCredential credential, int transactionID, decimal amount, string ipAddress, CardDetails cardDetails, Address billingAddress, Options options);
Response RepeatCard(NetworkCredential credential, int oldTransactionID, int newTransactionID, decimal amount);
Response RefundCard(NetworkCredential credential, int refundedTransactionID, int newTransactionID, decimal amount);
}
public class Address {
public virtual string Address1 { get; set; }
public virtual string Address2 { get; set; }
public virtual string Address3 { get; set; }
public virtual string Town { get; set; }
public virtual string County { get; set; }
public virtual Country Country { get; set; }
public virtual string Postcode { get; set; }
}
public class CardDetails {
public string CardHolderName { get; set; }
public CardType CardType { get; set; }
public string CardNumber { get; set; }
public int ExpiryDateMonth { get; set; }
public int ExpiryDateYear { get; set; }
public string IssueNumber { get; set; }
public string Cv2 { get; set; }
}
public class Response {
public bool IsValid { get; set; }
public string Message { get; set; }
}
public class Options {
public bool TestStatus { get; set; }
public string Currency { get; set; }
}
Обычно это довольно тривиально с другими поставщиками платежей, например PayPoint (мыльный сервис) и SagePay.
Чтение документации PayPal вызывает у меня головную боль, поэтому я решил спросить здесь. Очень ценю помощь. Спасибо