com.cardpay.sdk.api.RecurringsApi Maven / Gradle / Ivy
The newest version!
package com.cardpay.sdk.api;
import com.cardpay.sdk.client.CollectionFormats.*;
import com.cardpay.sdk.model.AuthenticationDataResponse;
import com.cardpay.sdk.model.ChangeSubscriptionStatusClaimResponse;
import com.cardpay.sdk.model.FilingRequest;
import com.cardpay.sdk.model.PlanDataList;
import com.cardpay.sdk.model.PlanUpdateRequest;
import com.cardpay.sdk.model.PlanUpdateResponse;
import com.cardpay.sdk.model.RecurringCreationRequest;
import com.cardpay.sdk.model.RecurringGatewayCreationResponse;
import com.cardpay.sdk.model.RecurringPatchRequest;
import com.cardpay.sdk.model.RecurringPlanRequest;
import com.cardpay.sdk.model.RecurringPlanResponse;
import com.cardpay.sdk.model.RecurringResponse;
import com.cardpay.sdk.model.RecurringUpdateResponse;
import com.cardpay.sdk.model.RecurringsList;
import com.cardpay.sdk.model.SubscriptionGetResponse;
import com.cardpay.sdk.model.SubscriptionList;
import com.cardpay.sdk.model.SubscriptionUpdateRequest;
import com.cardpay.sdk.model.SubscriptionUpdateResponse;
import java.time.OffsetDateTime;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.*;
public interface RecurringsApi {
/**
* Create filing
*
* @param filingRequest Filing request parameters (optional)
* @return Call<RecurringGatewayCreationResponse>
*/
@Headers({
"Content-Type:application/json"
})
@POST("api/recurring_filings")
Call createFiling(
@retrofit2.http.Body FilingRequest filingRequest
);
/**
* Create recurring plan
*
* @param recurringPlanRequest recurringPlanRequest (required)
* @return Call<RecurringPlanResponse>
*/
@Headers({
"Content-Type:application/json"
})
@POST("api/recurring_plans")
Call createPlan(
@retrofit2.http.Body RecurringPlanRequest recurringPlanRequest
);
/**
* Create recurring
*
* @param recurringRequest Recurring Request (required)
* @return Call<RecurringGatewayCreationResponse>
*/
@Headers({
"Content-Type:application/json"
})
@POST("api/recurrings")
Call createRecurring(
@retrofit2.http.Body RecurringCreationRequest recurringRequest
);
/**
* Delete plan
*
* @param planId Plan ID (required)
* @return Call<Void>
*/
@DELETE("api/recurring_plans/{plan_id}")
Call deletePlan(
@retrofit2.http.Path("plan_id") String planId
);
/**
* Get recurring payment 3DS result information
*
* @param recurringId Recurring ID (required)
* @return Call<AuthenticationDataResponse>
*/
@GET("api/recurrings/{recurringId}/threedsecure")
Call getAuthenticationData1(
@retrofit2.http.Path("recurringId") String recurringId
);
/**
* Get information about Change subscription status claim
*
* @param claimId claimId (required)
* @param subscriptionId subscription id (required)
* @return Call<ChangeSubscriptionStatusClaimResponse>
*/
@GET("api/recurring_subscriptions/{subscriptionId}/change_status_claims/{claimId}")
Call getChangeStatusClaim(
@retrofit2.http.Path("claimId") String claimId, @retrofit2.http.Path("subscriptionId") String subscriptionId
);
/**
* Get filing order information
*
* @param filingId filing order id (required)
* @return Call<RecurringResponse>
*/
@GET("api/recurring_filings/{filingId}")
Call getFiling(
@retrofit2.http.Path("filingId") String filingId
);
/**
* Get plan information
*
* @param planId Plan ID (required)
* @return Call<RecurringPlanResponse>
*/
@GET("api/recurring_plans/{plan_id}")
Call getPlan(
@retrofit2.http.Path("plan_id") String planId
);
/**
* Get plans information
*
* @param requestId Request ID (required)
* @param maxCount Limit number of returned plans (must be less than 10000, default is 1000) (optional)
* @param offset Offset (must be less than 10000) (optional)
* @param sortOrder Sort based on order of results. 'asc' for ascending order or 'desc' for descending order (default value) (optional)
* @return Call<PlanDataList>
*/
@GET("api/recurring_plans")
Call getPlans(
@retrofit2.http.Query("request_id") String requestId, @retrofit2.http.Query("max_count") Integer maxCount, @retrofit2.http.Query("offset") Integer offset, @retrofit2.http.Query("sort_order") String sortOrder
);
/**
* Get recurring information
*
* @param recurringId Recurring ID (required)
* @return Call<RecurringResponse>
*/
@GET("api/recurrings/{recurringId}")
Call getRecurring(
@retrofit2.http.Path("recurringId") String recurringId
);
/**
* Get recurring list information
*
* @param requestId Request ID (required)
* @param currency [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of transactions currency (optional)
* @param endTime Date and time up to milliseconds (in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when requested period ends (not inclusive), UTC time, must be less than 7 days after 'start_time', default is current time (format: yyyy-MM-dd'T'HH:mm:ss'Z') (optional)
* @param maxCount Limit number of returned transactions (must be less than 10000, default is 1000, minimal value is 1) (optional)
* @param merchantOrderId Merchant order number from the merchant system (optional)
* @param paymentMethod Used payment method type name from payment methods list (optional)
* @param recurringTypes (optional)
* @param sortOrder Sort based on order of results. `asc` for ascending order or `desc` for descending order (default value) (optional)
* @param startTime Date and time up to milliseconds (in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when requested period starts (inclusive), UTC time, default is 24 hours before 'end_time' (format: yyyy-MM-dd'T'HH:mm:ss'Z') (optional)
* @param type Filter recurring payments by certain type (applicable to /api/recurrings endpoint only): `SCHEDULED` for scheduled recurring payments `ONECLICK` for one-click payments `INSTALLMENT` for installment payments (optional)
* @return Call<RecurringsList>
*/
@GET("api/recurrings")
Call getRecurrings(
@retrofit2.http.Query("request_id") String requestId, @retrofit2.http.Query("currency") String currency, @retrofit2.http.Query("end_time") OffsetDateTime endTime, @retrofit2.http.Query("max_count") Integer maxCount, @retrofit2.http.Query("merchant_order_id") String merchantOrderId, @retrofit2.http.Query("payment_method") String paymentMethod, @retrofit2.http.Query("recurring_types") List recurringTypes, @retrofit2.http.Query("sort_order") String sortOrder, @retrofit2.http.Query("start_time") OffsetDateTime startTime, @retrofit2.http.Query("type") String type
);
/**
* Get subscription information
*
* @param subscriptionId subscription id (required)
* @return Call<SubscriptionGetResponse>
*/
@GET("api/recurring_subscriptions/{subscriptionId}")
Call getSubscription(
@retrofit2.http.Path("subscriptionId") String subscriptionId
);
/**
* Get subscription information
*
* @param requestId Request ID (required)
* @param accountId Merchant identifier of customer account (optional)
* @param currency [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of transactions currency (optional)
* @param endTime Date and time up to milliseconds (in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when requested period ends (not inclusive), UTC time, must be less than 7 days after 'start_time', default is current time (format: yyyy-MM-dd'T'HH:mm:ss'Z') (optional)
* @param maxCount Limit number of returned subscriptions (must be less than 10000, default is 1000) (optional)
* @param offset Offset (must be less than 10000) (optional)
* @param planId Id of plan. Use for searching scheduled subscriptions by plan (optional)
* @param sortOrder Sort based on order of results. 'asc' for ascending order or 'desc' for descending order (default value) (optional)
* @param startTime Date and time up to milliseconds (in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when requested period starts (inclusive), UTC time, default is 24 hours before 'end_time' (format: yyyy-MM-dd'T'HH:mm:ss'Z') (optional)
* @param status Status of subscription (optional)
* @param type Type of subscription. 'ONECLICK' type will be ignored. (optional)
* @return Call<SubscriptionList>
*/
@GET("api/recurring_subscriptions")
Call getSubscriptions(
@retrofit2.http.Query("request_id") String requestId, @retrofit2.http.Query("account_id") String accountId, @retrofit2.http.Query("currency") String currency, @retrofit2.http.Query("end_time") OffsetDateTime endTime, @retrofit2.http.Query("max_count") Integer maxCount, @retrofit2.http.Query("offset") Integer offset, @retrofit2.http.Query("plan_id") String planId, @retrofit2.http.Query("sort_order") String sortOrder, @retrofit2.http.Query("start_time") OffsetDateTime startTime, @retrofit2.http.Query("status") String status, @retrofit2.http.Query("type") String type
);
/**
* Update plan
*
* @param planId Plan ID (required)
* @param planUpdateRequest planUpdateRequest (required)
* @return Call<PlanUpdateResponse>
*/
@Headers({
"Content-Type:application/json"
})
@PATCH("api/recurring_plans/{plan_id}")
Call updatePlan(
@retrofit2.http.Path("plan_id") String planId, @retrofit2.http.Body PlanUpdateRequest planUpdateRequest
);
/**
* Update recurring
*
* @param recurringId Recurring ID (required)
* @param recurringPatchRequest recurringPatchRequest (required)
* @return Call<RecurringUpdateResponse>
*/
@Headers({
"Content-Type:application/json"
})
@PATCH("api/recurrings/{recurringId}")
Call updateRecurring(
@retrofit2.http.Path("recurringId") String recurringId, @retrofit2.http.Body RecurringPatchRequest recurringPatchRequest
);
/**
* Update subscription
*
* @param subscriptionId Subscription ID (required)
* @param subscriptionUpdateRequest subscriptionUpdateRequest (required)
* @return Call<SubscriptionUpdateResponse>
*/
@Headers({
"Content-Type:application/json"
})
@PATCH("api/recurring_subscriptions/{subscriptionId}")
Call updateSubscription(
@retrofit2.http.Path("subscriptionId") String subscriptionId, @retrofit2.http.Body SubscriptionUpdateRequest subscriptionUpdateRequest
);
}