Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [ServiceContract]
- PaymentService.svc : IPaymentService
- {
- [OperationContract(Name = "Void")]
- [WebInvoke(Method = "POST", UriTemplate = "/Void")]
- SendRequest(VoidRequest request)
- [OperationContract(Name = "Capture")]
- [WebInvoke(Method = "POST", UriTemplate = "/Capture")]
- SendRequest(CaptureRequest request)
- [OperationContract(Name = "Refund")]
- [WebInvoke(Method = "POST", UriTemplate = "/Refund")]
- SendRequest(RefundRequest request)
- }
- public interface ITransaction
- {
- string CurrencyCode { get; set; }
- }:
- public interface IPaymentRequest
- {
- string Token { get; set; }
- int ClientID { get; set; }
- int PaymentId { get; set; }
- }
- public class VoidRequest : IPaymentRequest
- {
- public string Token { get; set; }
- public int ClientID { get; set; }
- public int PaymentId { get; set; }
- public VoidTransaction Transaction { get; set; }
- }
- concrete implementations of the request types:
- public class CaptureRequest : IPaymentRequest
- {
- public string Token { get; set; }
- public int ClientID { get; set; }
- public int PaymentId { get; set; }
- public CaptureTransaction Transaction { get; set; }
- }
- public class RefundRequest : IPaymentRequest
- {
- public string Token { get; set; }
- public int ClientID { get; set; }
- public int PaymentId { get; set; }
- public RefundTransaction Transaction { get; set; }
- }
- public interface IPaymentRequest
- {
- string Token { get; set; }
- int ClientID { get; set; }
- int PaymentId { get; set; }
- ITransaction Transaction { get; set;}
- }
Advertisement
Add Comment
Please, Sign In to add comment