Skip to content

citypay/citypay-api-client-java

Repository files navigation

CityPay API Client for Java

Build Status CityPay Payment API

  • API version: 6.9.2
    • Build date: 2025-06-19T10:43:48.671338044Z[Etc/UTC]
    • Generator version: 7.13.0

Welcome to the CityPay API, a robust HTTP API payment solution designed for seamless server-to-server transactional processing. Our API facilitates a wide array of payment operations, catering to diverse business needs. Whether you're integrating Internet payments, handling Mail Order/Telephone Order (MOTO) transactions, managing Subscriptions with Recurring and Continuous Authority payments, or navigating the complexities of 3-D Secure authentication, our API is equipped to support your requirements. Additionally, we offer functionalities for Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids, and Completion processing, alongside the capability for tokenised payments.

Compliance and Security Overview

Ensuring the security of payment transactions and compliance with industry standards is paramount. Our API is designed with stringent security measures and compliance protocols to safeguard sensitive information and meet the rigorous requirements of Visa, MasterCard, and the PCI Security Standards Council.

Key Compliance and Security Measures

  • TLS Encryption: All data transmissions must utilise TLS version 1.2 or higher, employing strong cryptography. Our infrastructure strictly enforces this requirement to maintain the integrity and confidentiality of data in transit. We conduct regular scans and assessments of our TLS endpoints to identify and mitigate vulnerabilities.
  • Data Storage Prohibitions: Storing sensitive cardholder data (CHD), such as the card security code (CSC) or primary account number (PAN), is strictly prohibited. Our API is designed to minimize your exposure to sensitive data, thereby reducing your compliance burden.
  • Data Masking: For consumer protection and compliance, full card numbers must not be displayed on receipts or any customer-facing materials. Our API automatically masks PANs, displaying only the last four digits to facilitate safe receipt generation.
  • Network Scans: If your application is web-based, regular scans of your hosting environment are mandatory to identify and rectify potential vulnerabilities. This proactive measure is crucial for maintaining a secure and compliant online presence.
  • PCI Compliance: Adherence to PCI DSS standards is not optional; it's a requirement for operating securely and legally in the payments ecosystem. For detailed information on compliance requirements and resources, please visit the PCI Security Standards Council website https://www.pcisecuritystandards.org/.
  • Request Validation: Our API includes mechanisms to verify the legitimacy of each request, ensuring it pertains to a valid account and originates from a trusted source. We leverage remote IP address verification alongside sophisticated application firewall technologies to thwart a wide array of common security threats.

Getting Started

Before integrating with the CityPay API, ensure your application and development practices align with the outlined compliance and security measures. This preparatory step is crucial for a smooth integration process and the long-term success of your payment processing operations.

For further details on API endpoints, request/response formats, and code examples, proceed to the subsequent sections of our documentation. Our aim is to provide you with all the necessary tools and information to integrate our payment processing capabilities seamlessly into your application.

Thank you for choosing CityPay API. We look forward to supporting your payment processing needs with our secure, compliant, and versatile API solution.

For more information, please visit https://www.citypay.com/contacts/

Automatically generated by the OpenAPI Generator

Requirements

Building the API client library requires:

  1. Java 1.8+
  2. Maven (3.8.3+)/Gradle (7.2+)

Installation

To install the API client library to your local Maven repository, simply execute:

mvn clean install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn clean deploy

Refer to the OSSRH Guide for more information.

Maven users

Add this dependency to your project's POM:

<dependency>
  <groupId>com.citypay</groupId>
  <artifactId>citypay-api-client-java</artifactId>
  <version>1.1.7</version>
  <scope>compile</scope>
</dependency>

At first generate the JAR by executing:

mvn clean package

Then manually install the following JARs:

  • target/citypay-api-client-java-1.1.7.jar
  • target/lib/*.jar

Getting Started

Please follow the installation instruction and execute the following Java code:

// Import classes:
import com.citypay.client.ApiClient;
import com.citypay.client.ApiException;
import com.citypay.client.Configuration;
import com.citypay.client.auth.*;
import com.citypay.client.model.*;
import com.citypay.client.api.AuthorisationAndPaymentApi;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    defaultClient.setBasePath("https://api.citypay.com");
    

    AuthorisationAndPaymentApi apiInstance = new AuthorisationAndPaymentApi(defaultClient);
    AuthRequest authRequest = new AuthRequest(); // AuthRequest | 
    try {
      Decision result = apiInstance.authorisationRequest(authRequest);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling AuthorisationAndPaymentApi#authorisationRequest");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

Documentation for API Endpoints

All URIs are relative to https://api.citypay.com

Class Method HTTP request Description
AuthorisationAndPaymentApi authorisationRequest POST /v6/authorise Authorisation
AuthorisationAndPaymentApi binRangeLookupRequest POST /v6/bin Bin Lookup
AuthorisationAndPaymentApi cResRequest POST /v6/cres CRes
AuthorisationAndPaymentApi captureRequest POST /v6/capture Capture
AuthorisationAndPaymentApi cardTokenisationRequest POST /v6/tokenise Card Tokenisation Request
AuthorisationAndPaymentApi refundRequest POST /v6/refund Refund
AuthorisationAndPaymentApi retrievalRequest POST /v6/retrieve Transaction Retrieval
AuthorisationAndPaymentApi verificationRequest POST /v6/verify Verification
AuthorisationAndPaymentApi voidRequest POST /v6/void Void
BatchProcessingApi batchProcessRequest POST /v6/batch/process Batch Process Request
BatchProcessingApi batchRetrieveRequest POST /v6/batch/retrieve Batch Retrieve Request
BatchProcessingApi checkBatchStatusRequest POST /v6/batch/status Check Batch Status
CardHolderAccountApi accountCardDeleteRequest DELETE /v6/account/{accountid}/card/{cardId} Card Deletion
CardHolderAccountApi accountCardRegisterRequest POST /v6/account/{accountid}/register Card Registration
CardHolderAccountApi accountCardStatusRequest POST /v6/account/{accountid}/card/{cardId}/status Card Status
CardHolderAccountApi accountChangeContactRequest POST /v6/account/{accountid}/contact Contact Details Update
CardHolderAccountApi accountCreate POST /v6/account/create Account Create
CardHolderAccountApi accountDeleteRequest DELETE /v6/account/{accountid} Account Deletion
CardHolderAccountApi accountExistsRequest GET /v6/account-exists/{accountid} Account Exists
CardHolderAccountApi accountRetrieveRequest GET /v6/account/{accountid} Account Retrieval
CardHolderAccountApi accountStatusRequest POST /v6/account/{accountid}/status Account Status
CardHolderAccountApi chargeRequest POST /v6/charge Charge
DirectPostApi directCResAuthRequest POST /direct/cres/auth/{uuid} Handles a CRes response from ACS, returning back the result of authorisation
DirectPostApi directCResTokeniseRequest POST /direct/cres/tokenise/{uuid} Handles a CRes response from ACS, returning back a token for future authorisation
DirectPostApi directPostAuthRequest POST /direct/auth Direct Post Auth Request
DirectPostApi directPostTokeniseRequest POST /direct/tokenise Direct Post Tokenise Request
DirectPostApi tokenRequest POST /direct/token Direct Post Token Request
OperationalFunctionsApi aclCheckRequest POST /v6/acl/check ACL Check Request
OperationalFunctionsApi domainKeyCheckRequest POST /dk/check Domain Key Check Request
OperationalFunctionsApi domainKeyGenRequest POST /dk/gen Domain Key Generation Request
OperationalFunctionsApi listMerchantsRequest GET /v6/merchants/{clientid} List Merchants Request
OperationalFunctionsApi pingRequest POST /v6/ping Ping Request
OperationalFunctionsApi registerTempKey POST /v6/permissions/register-temp-ip Register Temp Key
PaylinkApi paylinkTokenCloseRequest PUT /paylink/{token}/close Close Paylink Token
PaylinkApi tokenAdjustmentRequest POST /paylink/{token}/adjustment Paylink Token Adjustment
PaylinkApi tokenAttachmentStatus GET /paylink/{token}/attachment-status/{attachment} Checks an attachment status
PaylinkApi tokenCancelRequest PUT /paylink/{token}/cancel Cancel a Paylink Token
PaylinkApi tokenChangesRequest POST /paylink/token/changes Paylink Token Audit
PaylinkApi tokenCreateBillPaymentRequest POST /paylink/bill-payment Create Bill Payment Paylink Token
PaylinkApi tokenCreateRequest POST /paylink/create Create Paylink Token
PaylinkApi tokenPurgeAttachmentsRequest PUT /paylink/{token}/purge-attachments Purges any attachments for a Paylink Token
PaylinkApi tokenReconciledRequest PUT /paylink/{token}/reconciled Reconcile Paylink Token
PaylinkApi tokenReopenRequest PUT /paylink/{token}/reopen Reopen Paylink Token
PaylinkApi tokenResendNotificationRequest POST /paylink/{token}/resend-notification Resend a notification for Paylink Token
PaylinkApi tokenStatusRequest GET /paylink/{token}/status Paylink Token Status
PaymentIntentApi createPaymentIntent POST /v6/intent/create Create a Payment Intent
PaymentIntentApi getPaymentIntent POST /v6/intent/retrieve Retrieves a Payment Intent
ReportingApi batchedTransactionReportRequest POST /v6/merchant-batch/{merchantid}/{batch_no}/transactions Batch Transaction Report Request
ReportingApi merchantBatchReportRequest POST /v6/merchant-batch/report Merchant Batch Report Request
ReportingApi merchantBatchRequest GET /v6/merchant-batch/{merchantid}/{batch_no} Merchant Batch Request
ReportingApi remittanceRangeReport POST /v6/remittance/report/{clientid} Remittance Report Request
ReportingApi remittanceReportRequest GET /v6/remittance/report/{clientid}/{date} Remittance Date Report Request
ReportingApi transactionReportRequest POST /v6/transactions Transaction Report Request
WebHooks webHookChannelCreateRequest POST /hooks/channel/create Web Hook Channel Create Request
WebHooks webHookChannelDeleteRequest POST /hooks/channel/delete Web Hook Channel Delete Request
WebHooks webHookSubscriptionRequest POST /hooks/subscribe Web Hook Subscription Request
WebHooks webHookUnsubscribeRequest POST /hooks/unsubscribe Web Hook Unsubscribe Request

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

cp-api-key

  • Type: API key
  • API key parameter name: cp-api-key
  • Location: HTTP header

cp-domain-key

  • Type: API key
  • API key parameter name: cp-domain-key
  • Location: URL query string

Recommendation

It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.

Author

support@citypay.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages