CityPay API Client for Ruby
CityPayApiClient - the Ruby gem for the CityPay Payment API
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
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 SDK is automatically generated by the OpenAPI Generator project:
- API version: 6.6.40
- Package version: 1.1.3
- Build package: org.openapitools.codegen.languages.RubyClientCodegen For more information, please visit https://www.citypay.com/contacts/
Installation
Build a gem
To build the Ruby code into a gem:
gem build citypay_api_client.gemspec
Then either install the gem locally:
gem install ./citypay_api_client-1.1.3.gem
(for development, run gem install --dev ./citypay_api_client-1.1.3.gem
to install the development dependencies)
or publish the gem to a gem hosting service, e.g. RubyGems.
Finally add this to the Gemfile:
gem 'citypay_api_client', '~> 1.1.3'
Install from Git
If the Ruby gem is hosted at a git repository: https://github.com/citypay/citypay-api-client-ruby, then add the following in the Gemfile:
gem 'citypay_api_client', :git => 'https://github.com/citypay/citypay-api-client-ruby.git'
Include the Ruby code directly
Include the Ruby code directly using -I
as follows:
ruby -Ilib script.rb
Getting Started
Please follow the installation procedure and then run the following code:
# Load the gem
require 'citypay_api_client'
# Setup authorization
CityPayApiClient.configure do |config|
config.api_key['cp-api-key'] = CityPayApiClient::ApiKey.new(client_id: 'YourClientId', licence_key: 'YourLicenceKey').generate
end
api_instance = CityPayApiClient::AuthorisationAndPaymentApi.new
auth_request = CityPayApiClient::AuthRequest.new({amount: 19995, cardnumber: '4000 0000 0000 0002', expmonth: 9, expyear: 2027, identifier: '95b857a1-5955-4b86-963c-5a6dbfc4fb95', merchantid: 11223344}) # AuthRequest |
begin
#Authorisation
result = api_instance.(auth_request)
p result
rescue CityPayApiClient::ApiError => e
puts "Exception when calling AuthorisationAndPaymentApi->authorisation_request: #{e}"
end
Documentation for API Endpoints
All URIs are relative to https://api.citypay.com
Class | Method | HTTP request | Description |
---|---|---|---|
CityPayApiClient::AuthorisationAndPaymentApi | authorisation_request | POST /v6/authorise | Authorisation |
CityPayApiClient::AuthorisationAndPaymentApi | bin_range_lookup_request | POST /v6/bin | Bin Lookup |
CityPayApiClient::AuthorisationAndPaymentApi | c_res_request | POST /v6/cres | CRes |
CityPayApiClient::AuthorisationAndPaymentApi | capture_request | POST /v6/capture | Capture |
CityPayApiClient::AuthorisationAndPaymentApi | create_payment_intent | POST /v6/intent/create | Create a Payment Intent |
CityPayApiClient::AuthorisationAndPaymentApi | pa_res_request | POST /v6/pares | PaRes |
CityPayApiClient::AuthorisationAndPaymentApi | refund_request | POST /v6/refund | Refund |
CityPayApiClient::AuthorisationAndPaymentApi | retrieval_request | POST /v6/retrieve | Retrieval |
CityPayApiClient::AuthorisationAndPaymentApi | void_request | POST /v6/void | Void |
CityPayApiClient::BatchProcessingApi | batch_process_request | POST /v6/batch/process | Batch Process Request |
CityPayApiClient::BatchProcessingApi | batch_retrieve_request | POST /v6/batch/retrieve | Batch Retrieve Request |
CityPayApiClient::BatchProcessingApi | check_batch_status_request | POST /v6/batch/status | Check Batch Status |
CityPayApiClient::CardHolderAccountApi | account_card_delete_request | DELETE /v6/account/accountid/card/cardId | Card Deletion |
CityPayApiClient::CardHolderAccountApi | account_card_register_request | POST /v6/account/accountid/register | Card Registration |
CityPayApiClient::CardHolderAccountApi | account_card_status_request | POST /v6/account/accountid/card/cardId/status | Card Status |
CityPayApiClient::CardHolderAccountApi | account_change_contact_request | POST /v6/account/accountid/contact | Contact Details Update |
CityPayApiClient::CardHolderAccountApi | account_create | POST /v6/account/create | Account Create |
CityPayApiClient::CardHolderAccountApi | account_delete_request | DELETE /v6/account/accountid | Account Deletion |
CityPayApiClient::CardHolderAccountApi | account_exists_request | GET /v6/account-exists/accountid | Account Exists |
CityPayApiClient::CardHolderAccountApi | account_retrieve_request | GET /v6/account/accountid | Account Retrieval |
CityPayApiClient::CardHolderAccountApi | account_status_request | POST /v6/account/accountid/status | Account Status |
CityPayApiClient::CardHolderAccountApi | charge_request | POST /v6/charge | Charge |
CityPayApiClient::DirectPostApi | direct_c_res_auth_request | POST /direct/cres/auth/uuid | Handles a CRes response from ACS, returning back the result of authorisation |
CityPayApiClient::DirectPostApi | direct_c_res_tokenise_request | POST /direct/cres/tokenise/uuid | Handles a CRes response from ACS, returning back a token for future authorisation |
CityPayApiClient::DirectPostApi | direct_post_auth_request | POST /direct/auth | Direct Post Auth Request |
CityPayApiClient::DirectPostApi | direct_post_tokenise_request | POST /direct/tokenise | Direct Post Tokenise Request |
CityPayApiClient::DirectPostApi | token_request | POST /direct/token | Direct Post Token Request |
CityPayApiClient::OperationalFunctionsApi | acl_check_request | POST /v6/acl/check | ACL Check Request |
CityPayApiClient::OperationalFunctionsApi | domain_key_check_request | POST /dk/check | Domain Key Check Request |
CityPayApiClient::OperationalFunctionsApi | domain_key_gen_request | POST /dk/gen | Domain Key Generation Request |
CityPayApiClient::OperationalFunctionsApi | list_merchants_request | GET /v6/merchants/clientid | List Merchants Request |
CityPayApiClient::OperationalFunctionsApi | ping_request | POST /v6/ping | Ping Request |
CityPayApiClient::PaylinkApi | token_adjustment_request | POST /paylink/token/adjustment | Paylink Token Adjustment |
CityPayApiClient::PaylinkApi | token_cancel_request | PUT /paylink/token/cancel | Cancel a Paylink Token |
CityPayApiClient::PaylinkApi | token_changes_request | POST /paylink/token/changes | Paylink Token Audit |
CityPayApiClient::PaylinkApi | token_close_request | PUT /paylink/token/close | Close Paylink Token |
CityPayApiClient::PaylinkApi | token_create_bill_payment_request | POST /paylink/bill-payment | Create Bill Payment Paylink Token |
CityPayApiClient::PaylinkApi | token_create_request | POST /paylink/create | Create Paylink Token |
CityPayApiClient::PaylinkApi | token_purge_attachments_request | PUT /paylink/token/purge-attachments | Purges any attachments for a Paylink Token |
CityPayApiClient::PaylinkApi | token_reconciled_request | PUT /paylink/token/reconciled | Reconcile Paylink Token |
CityPayApiClient::PaylinkApi | token_reopen_request | PUT /paylink/token/reopen | Reopen Paylink Token |
CityPayApiClient::PaylinkApi | token_resend_notification_request | POST /paylink/token/resend-notification | Resend a notification for Paylink Token |
CityPayApiClient::PaylinkApi | token_status_request | GET /paylink/token/status | Paylink Token Status |
CityPayApiClient::ReportingApi | batched_transaction_report_request | POST /v6/merchant-batch/merchantid/batch_no/transactions | Batch Transaction Report Request |
CityPayApiClient::ReportingApi | merchant_batch_report_request | POST /v6/merchant-batch/report | Merchant Batch Report Request |
CityPayApiClient::ReportingApi | merchant_batch_request | GET /v6/merchant-batch/merchantid/batch_no | Merchant Batch Request |
CityPayApiClient::ReportingApi | remittance_range_report | POST /v6/remittance/report/clientid | Remittance Report Request |
CityPayApiClient::ReportingApi | remittance_report_request | GET /v6/remittance/report/clientid/date | Remittance Date Report Request |
Documentation for Models
- CityPayApiClient::AccountCreate
- CityPayApiClient::AccountStatus
- CityPayApiClient::Acknowledgement
- CityPayApiClient::AclCheckRequest
- CityPayApiClient::AclCheckResponseModel
- CityPayApiClient::AirlineAdvice
- CityPayApiClient::AirlineSegment
- CityPayApiClient::AuthReference
- CityPayApiClient::AuthReferences
- CityPayApiClient::AuthRequest
- CityPayApiClient::AuthResponse
- CityPayApiClient::Batch
- CityPayApiClient::BatchReportRequest
- CityPayApiClient::BatchReportResponseModel
- CityPayApiClient::BatchTransaction
- CityPayApiClient::BatchTransactionReportRequest
- CityPayApiClient::BatchTransactionReportResponse
- CityPayApiClient::BatchTransactionResultModel
- CityPayApiClient::Bin
- CityPayApiClient::BinLookup
- CityPayApiClient::CResAuthRequest
- CityPayApiClient::CaptureRequest
- CityPayApiClient::Card
- CityPayApiClient::CardHolderAccount
- CityPayApiClient::CardStatus
- CityPayApiClient::ChargeRequest
- CityPayApiClient::CheckBatchStatus
- CityPayApiClient::CheckBatchStatusResponse
- CityPayApiClient::ContactDetails
- CityPayApiClient::Decision
- CityPayApiClient::DirectPostRequest
- CityPayApiClient::DirectTokenAuthRequest
- CityPayApiClient::DomainKeyCheckRequest
- CityPayApiClient::DomainKeyRequest
- CityPayApiClient::DomainKeyResponse
- CityPayApiClient::Error
- CityPayApiClient::EventDataModel
- CityPayApiClient::Exists
- CityPayApiClient::ExternalMPI
- CityPayApiClient::ListMerchantsResponse
- CityPayApiClient::MCC6012
- CityPayApiClient::Merchant
- CityPayApiClient::MerchantBatchReportRequest
- CityPayApiClient::MerchantBatchReportResponse
- CityPayApiClient::MerchantBatchResponse
- CityPayApiClient::NetSummaryResponse
- CityPayApiClient::PaResAuthRequest
- CityPayApiClient::PaylinkAddress
- CityPayApiClient::PaylinkAdjustmentRequest
- CityPayApiClient::PaylinkAttachmentRequest
- CityPayApiClient::PaylinkAttachmentResult
- CityPayApiClient::PaylinkBillPaymentTokenRequest
- CityPayApiClient::PaylinkCardHolder
- CityPayApiClient::PaylinkCart
- CityPayApiClient::PaylinkCartItemModel
- CityPayApiClient::PaylinkConfig
- CityPayApiClient::PaylinkCustomParam
- CityPayApiClient::PaylinkEmailNotificationPath
- CityPayApiClient::PaylinkErrorCode
- CityPayApiClient::PaylinkFieldGuardModel
- CityPayApiClient::PaylinkPartPayments
- CityPayApiClient::PaylinkResendNotificationRequest
- CityPayApiClient::PaylinkSMSNotificationPath
- CityPayApiClient::PaylinkStateEvent
- CityPayApiClient::PaylinkTokenCreated
- CityPayApiClient::PaylinkTokenRequestModel
- CityPayApiClient::PaylinkTokenStatus
- CityPayApiClient::PaylinkTokenStatusChangeRequest
- CityPayApiClient::PaylinkTokenStatusChangeResponse
- CityPayApiClient::PaylinkUI
- CityPayApiClient::PaymentIntent
- CityPayApiClient::PaymentIntentReference
- CityPayApiClient::Ping
- CityPayApiClient::ProcessBatchRequest
- CityPayApiClient::ProcessBatchResponse
- CityPayApiClient::RefundRequest
- CityPayApiClient::RegisterCard
- CityPayApiClient::RemittanceData
- CityPayApiClient::RemittanceReportRequest
- CityPayApiClient::RemittanceReportResponse
- CityPayApiClient::RemittedClientData
- CityPayApiClient::RequestChallenged
- CityPayApiClient::RetrieveRequest
- CityPayApiClient::ThreeDSecure
- CityPayApiClient::TokenisationResponseModel
- CityPayApiClient::VoidRequest
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