Skip to content

citypay/citypay-api-client-python

Repository files navigation

CityPay API Client for Python

citypay Python package 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.

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 6.9.3
  • Package version: 1.1.5
  • Generator version: 7.14.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://www.citypay.com/contacts/

Requirements.

Python 3.9+

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/citypay/citypay-api-client-python.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/citypay/citypay-api-client-python.git)

Then import the package:

import citypay

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import citypay

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

import citypay
from citypay.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.citypay.com
# See configuration.py for a list of all supported configuration parameters.
configuration = citypay.Configuration(
    host = "https://api.citypay.com"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: cp-api-key
configuration.api_key['cp-api-key'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['cp-api-key'] = 'Bearer'


# Enter a context with an instance of the API client
with citypay.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = citypay.AuthorisationAndPaymentApi(api_client)
    auth_request = citypay.AuthRequest() # AuthRequest | 

    try:
        # Authorisation
        api_response = api_instance.authorisation_request(auth_request)
        print("The response of AuthorisationAndPaymentApi->authorisation_request:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AuthorisationAndPaymentApi->authorisation_request: %s\n" % e)

Documentation for API Endpoints

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

Class Method HTTP request Description
AuthorisationAndPaymentApi authorisation_request POST /v6/authorise Authorisation
AuthorisationAndPaymentApi bin_range_lookup_request POST /v6/bin Bin Lookup
AuthorisationAndPaymentApi c_res_request POST /v6/cres CRes
AuthorisationAndPaymentApi capture_request POST /v6/capture Capture
AuthorisationAndPaymentApi card_tokenisation_request POST /v6/tokenise Card Tokenisation Request
AuthorisationAndPaymentApi refund_request POST /v6/refund Refund
AuthorisationAndPaymentApi retrieval_request POST /v6/retrieve Transaction Retrieval
AuthorisationAndPaymentApi verification_request POST /v6/verify Verification
AuthorisationAndPaymentApi void_request POST /v6/void Void
BatchProcessingApi batch_process_request POST /v6/batch/process Batch Process Request
BatchProcessingApi batch_retrieve_request POST /v6/batch/retrieve Batch Retrieve Request
BatchProcessingApi check_batch_status_request POST /v6/batch/status Check Batch Status
CardHolderAccountApi account_card_delete_request DELETE /v6/account/{accountid}/card/{cardId} Card Deletion
CardHolderAccountApi account_card_register_request POST /v6/account/{accountid}/register Card Registration
CardHolderAccountApi account_card_status_request POST /v6/account/{accountid}/card/{cardId}/status Card Status
CardHolderAccountApi account_change_contact_request POST /v6/account/{accountid}/contact Contact Details Update
CardHolderAccountApi account_create POST /v6/account/create Account Create
CardHolderAccountApi account_delete_request DELETE /v6/account/{accountid} Account Deletion
CardHolderAccountApi account_exists_request GET /v6/account-exists/{accountid} Account Exists
CardHolderAccountApi account_retrieve_request GET /v6/account/{accountid} Account Retrieval
CardHolderAccountApi account_status_request POST /v6/account/{accountid}/status Account Status
CardHolderAccountApi charge_request POST /v6/charge Charge
DirectPostApi direct_c_res_auth_request POST /direct/cres/auth/{uuid} Handles a CRes response from ACS, returning back the result of authorisation
DirectPostApi direct_c_res_tokenise_request POST /direct/cres/tokenise/{uuid} Handles a CRes response from ACS, returning back a token for future authorisation
DirectPostApi direct_post_auth_request POST /direct/auth Direct Post Auth Request
DirectPostApi direct_post_tokenise_request POST /direct/tokenise Direct Post Tokenise Request
DirectPostApi token_request POST /direct/token Direct Post Token Request
OperationalFunctionsApi acl_check_request POST /v6/acl/check ACL Check Request
OperationalFunctionsApi domain_key_check_request POST /dk/check Domain Key Check Request
OperationalFunctionsApi domain_key_gen_request POST /dk/gen Domain Key Generation Request
OperationalFunctionsApi list_merchants_request GET /v6/merchants/{clientid} List Merchants Request
OperationalFunctionsApi ping_request POST /v6/ping Ping Request
OperationalFunctionsApi register_temp_key POST /v6/permissions/register-temp-ip Register Temp Key
PaylinkApi paylink_token_close_request PUT /paylink/{token}/close Close Paylink Token
PaylinkApi token_adjustment_request POST /paylink/{token}/adjustment Paylink Token Adjustment
PaylinkApi token_attachment_status GET /paylink/{token}/attachment-status/{attachment} Checks an attachment status
PaylinkApi token_cancel_request PUT /paylink/{token}/cancel Cancel a Paylink Token
PaylinkApi token_changes_request POST /paylink/token/changes Paylink Token Audit
PaylinkApi token_create_bill_payment_request POST /paylink/bill-payment Create Bill Payment Paylink Token
PaylinkApi token_create_request POST /paylink/create Create Paylink Token
PaylinkApi token_purge_attachments_request PUT /paylink/{token}/purge-attachments Purges any attachments for a Paylink Token
PaylinkApi token_reconciled_request PUT /paylink/{token}/reconciled Reconcile Paylink Token
PaylinkApi token_reopen_request PUT /paylink/{token}/reopen Reopen Paylink Token
PaylinkApi token_resend_notification_request POST /paylink/{token}/resend-notification Resend a notification for Paylink Token
PaylinkApi token_status_request GET /paylink/{token}/status Paylink Token Status
PaymentIntentApi create_payment_intent POST /v6/intent/create Create a Payment Intent
PaymentIntentApi get_payment_intent POST /v6/intent/retrieve Retrieves a Payment Intent
ReportingApi batched_transaction_report_request POST /v6/merchant-batch/{merchantid}/{batch_no}/transactions Batch Transaction Report Request
ReportingApi merchant_batch_report_request POST /v6/merchant-batch/report Merchant Batch Report Request
ReportingApi merchant_batch_request GET /v6/merchant-batch/{merchantid}/{batch_no} Merchant Batch Request
ReportingApi remittance_range_report POST /v6/remittance/report/{clientid} Remittance Report Request
ReportingApi remittance_report_request GET /v6/remittance/report/{clientid}/{date} Remittance Date Report Request
ReportingApi transaction_report_request POST /v6/transactions Transaction Report Request
WebHooks web_hook_channel_create_request POST /hooks/channel/create Web Hook Channel Create Request
WebHooks web_hook_channel_delete_request POST /hooks/channel/delete Web Hook Channel Delete Request
WebHooks web_hook_subscription_request POST /hooks/subscribe Web Hook Subscription Request
WebHooks web_hook_unsubscribe_request 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

Author

support@citypay.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages