dev.vality.swag.payments.api.TokensApi Maven / Gradle / Ivy
package dev.vality.swag.payments.api;
import dev.vality.swag.payments.ApiClient;
import dev.vality.swag.payments.model.DefaultLogicError;
import dev.vality.swag.payments.model.PaymentResourceParams;
import dev.vality.swag.payments.model.PaymentResourceResult;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.util.UriComponentsBuilder;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2022-08-22T08:18:24.176Z")
@Component("dev.vality.swag.payments.api.TokensApi")
public class TokensApi {
private ApiClient apiClient;
public TokensApi() {
this(new ApiClient());
}
@Autowired
public TokensApi(ApiClient apiClient) {
this.apiClient = apiClient;
}
public ApiClient getApiClient() {
return apiClient;
}
public void setApiClient(ApiClient apiClient) {
this.apiClient = apiClient;
}
/**
*
* Создать новый одноразовый токен платежного средства, предоставленного плательщиком, а также новую уникальную платежную сессию. Токен платежного средства и идентификатор сессии необходим для создания платежа по инвойсу и имеет ограниченное время жизни.
* 201 - Токен и сессия созданы
*
400 - Неверные данные
*
401 - Ошибка авторизации
* @param xRequestID Уникальный идентификатор запроса к системе
* @param paymentResource Данные для создания платежного средства
* @param xRequestDeadline Максимальное время обработки запроса
* @return PaymentResourceResult
* @throws RestClientException if an error occurs while attempting to invoke the API
*/
public PaymentResourceResult createPaymentResource(String xRequestID, PaymentResourceParams paymentResource, String xRequestDeadline) throws RestClientException {
Object postBody = paymentResource;
// verify the required parameter 'xRequestID' is set
if (xRequestID == null) {
throw new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Missing the required parameter 'xRequestID' when calling createPaymentResource");
}
// verify the required parameter 'paymentResource' is set
if (paymentResource == null) {
throw new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Missing the required parameter 'paymentResource' when calling createPaymentResource");
}
String path = UriComponentsBuilder.fromPath("/processing/payment-resources").build().toUriString();
final MultiValueMap queryParams = new LinkedMultiValueMap();
final HttpHeaders headerParams = new HttpHeaders();
final MultiValueMap formParams = new LinkedMultiValueMap();
if (xRequestID != null)
headerParams.add("X-Request-ID", apiClient.parameterToString(xRequestID));
if (xRequestDeadline != null)
headerParams.add("X-Request-Deadline", apiClient.parameterToString(xRequestDeadline));
final String[] accepts = {
"application/json; charset=utf-8"
};
final List accept = apiClient.selectHeaderAccept(accepts);
final String[] contentTypes = {
"application/json; charset=utf-8"
};
final MediaType contentType = apiClient.selectHeaderContentType(contentTypes);
String[] authNames = new String[] { "bearer" };
ParameterizedTypeReference returnType = new ParameterizedTypeReference() {};
return apiClient.invokeAPI(path, HttpMethod.POST, queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType);
}
}