forked from Adyen/adyen-dotnet-api-library
-
Notifications
You must be signed in to change notification settings - Fork 0
/
UtilityService.cs
132 lines (116 loc) · 7.48 KB
/
UtilityService.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*
* Adyen Checkout API
*
*
* The version of the OpenAPI document: 71
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Adyen.Model;
using Adyen.Model.Checkout;
namespace Adyen.Service.Checkout
{
/// <summary>
/// UtilityService Interface
/// </summary>
public interface IUtilityService
{
/// <summary>
/// Get an Apple Pay session
/// </summary>
/// <param name="applePaySessionRequest"><see cref="ApplePaySessionRequest"/> - </param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <returns><see cref="ApplePaySessionResponse"/>.</returns>
Model.Checkout.ApplePaySessionResponse GetApplePaySession(ApplePaySessionRequest applePaySessionRequest = default, RequestOptions requestOptions = default);
/// <summary>
/// Get an Apple Pay session
/// </summary>
/// <param name="applePaySessionRequest"><see cref="ApplePaySessionRequest"/> - </param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <param name="cancellationToken"> A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects.</param>
/// <returns>Task of <see cref="ApplePaySessionResponse"/>.</returns>
Task<Model.Checkout.ApplePaySessionResponse> GetApplePaySessionAsync(ApplePaySessionRequest applePaySessionRequest = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default);
/// <summary>
/// Create originKey values for domains
/// </summary>
/// <param name="utilityRequest"><see cref="UtilityRequest"/> - </param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <returns><see cref="UtilityResponse"/>.</returns>
[Obsolete]
Model.Checkout.UtilityResponse OriginKeys(UtilityRequest utilityRequest = default, RequestOptions requestOptions = default);
/// <summary>
/// Create originKey values for domains
/// </summary>
/// <param name="utilityRequest"><see cref="UtilityRequest"/> - </param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <param name="cancellationToken"> A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects.</param>
/// <returns>Task of <see cref="UtilityResponse"/>.</returns>
[Obsolete]
Task<Model.Checkout.UtilityResponse> OriginKeysAsync(UtilityRequest utilityRequest = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default);
/// <summary>
/// Updates the order for PayPal Express Checkout
/// </summary>
/// <param name="paypalUpdateOrderRequest"><see cref="PaypalUpdateOrderRequest"/> - </param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <returns><see cref="PaypalUpdateOrderResponse"/>.</returns>
Model.Checkout.PaypalUpdateOrderResponse UpdatesOrderForPaypalExpressCheckout(PaypalUpdateOrderRequest paypalUpdateOrderRequest = default, RequestOptions requestOptions = default);
/// <summary>
/// Updates the order for PayPal Express Checkout
/// </summary>
/// <param name="paypalUpdateOrderRequest"><see cref="PaypalUpdateOrderRequest"/> - </param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <param name="cancellationToken"> A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects.</param>
/// <returns>Task of <see cref="PaypalUpdateOrderResponse"/>.</returns>
Task<Model.Checkout.PaypalUpdateOrderResponse> UpdatesOrderForPaypalExpressCheckoutAsync(PaypalUpdateOrderRequest paypalUpdateOrderRequest = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default);
}
/// <summary>
/// Represents a collection of functions to interact with the UtilityService API endpoints
/// </summary>
public class UtilityService : AbstractService, IUtilityService
{
private readonly string _baseUrl;
public UtilityService(Client client) : base(client)
{
_baseUrl = CreateBaseUrl("https://checkout-test.adyen.com/v71");
}
public Model.Checkout.ApplePaySessionResponse GetApplePaySession(ApplePaySessionRequest applePaySessionRequest = default, RequestOptions requestOptions = default)
{
return GetApplePaySessionAsync(applePaySessionRequest, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult();
}
public async Task<Model.Checkout.ApplePaySessionResponse> GetApplePaySessionAsync(ApplePaySessionRequest applePaySessionRequest = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default)
{
var endpoint = _baseUrl + "/applePay/sessions";
var resource = new ServiceResource(this, endpoint);
return await resource.RequestAsync<Model.Checkout.ApplePaySessionResponse>(applePaySessionRequest.ToJson(), requestOptions, new HttpMethod("POST"), cancellationToken).ConfigureAwait(false);
}
[Obsolete]
public Model.Checkout.UtilityResponse OriginKeys(UtilityRequest utilityRequest = default, RequestOptions requestOptions = default)
{
return OriginKeysAsync(utilityRequest, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult();
}
[Obsolete]
public async Task<Model.Checkout.UtilityResponse> OriginKeysAsync(UtilityRequest utilityRequest = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default)
{
var endpoint = _baseUrl + "/originKeys";
var resource = new ServiceResource(this, endpoint);
return await resource.RequestAsync<Model.Checkout.UtilityResponse>(utilityRequest.ToJson(), requestOptions, new HttpMethod("POST"), cancellationToken).ConfigureAwait(false);
}
public Model.Checkout.PaypalUpdateOrderResponse UpdatesOrderForPaypalExpressCheckout(PaypalUpdateOrderRequest paypalUpdateOrderRequest = default, RequestOptions requestOptions = default)
{
return UpdatesOrderForPaypalExpressCheckoutAsync(paypalUpdateOrderRequest, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult();
}
public async Task<Model.Checkout.PaypalUpdateOrderResponse> UpdatesOrderForPaypalExpressCheckoutAsync(PaypalUpdateOrderRequest paypalUpdateOrderRequest = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default)
{
var endpoint = _baseUrl + "/paypal/updateOrder";
var resource = new ServiceResource(this, endpoint);
return await resource.RequestAsync<Model.Checkout.PaypalUpdateOrderResponse>(paypalUpdateOrderRequest.ToJson(), requestOptions, new HttpMethod("POST"), cancellationToken).ConfigureAwait(false);
}
}
}