All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cardpay.sdk.api.RecurringsApi Maven / Gradle / Ivy

There is a newer version: 3.82.1
Show 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
  );

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy