citypay_api_client 1.0.2 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +105 -34
- data/citypay_api_client.gemspec +4 -5
- data/docs/AccountCreate.md +10 -9
- data/docs/AccountStatus.md +8 -7
- data/docs/Acknowledgement.md +14 -13
- data/docs/AclCheckRequest.md +18 -0
- data/docs/AclCheckResponseModel.md +24 -0
- data/docs/AirlineAdvice.md +38 -37
- data/docs/AirlineSegment.md +22 -21
- data/docs/AuthReference.md +34 -33
- data/docs/AuthReferences.md +8 -7
- data/docs/AuthRequest.md +50 -49
- data/docs/AuthResponse.md +60 -59
- data/docs/AuthenRequired.md +12 -11
- data/docs/AuthorisationAndPaymentApi.md +559 -0
- data/docs/Batch.md +22 -0
- data/docs/BatchProcessingApi.md +214 -0
- data/docs/BatchReportRequest.md +20 -0
- data/docs/BatchReportResponseModel.md +28 -0
- data/docs/BatchTransaction.md +24 -0
- data/docs/BatchTransactionResultModel.md +40 -0
- data/docs/Bin.md +34 -0
- data/docs/BinLookup.md +18 -0
- data/docs/CResAuthRequest.md +8 -7
- data/docs/CaptureRequest.md +18 -17
- data/docs/Card.md +46 -41
- data/docs/CardHolderAccount.md +24 -21
- data/docs/CardHolderAccountApi.md +326 -105
- data/docs/CardStatus.md +10 -9
- data/docs/ChargeRequest.md +36 -31
- data/docs/CheckBatchStatus.md +20 -0
- data/docs/CheckBatchStatusResponse.md +18 -0
- data/docs/ContactDetails.md +32 -31
- data/docs/Decision.md +12 -11
- data/docs/DirectPostApi.md +365 -0
- data/docs/DirectPostRequest.md +58 -0
- data/docs/DirectTokenAuthRequest.md +24 -0
- data/docs/DomainKeyCheckRequest.md +18 -0
- data/docs/DomainKeyRequest.md +22 -0
- data/docs/DomainKeyResponse.md +26 -0
- data/docs/Error.md +16 -13
- data/docs/EventDataModel.md +26 -0
- data/docs/Exists.md +22 -0
- data/docs/ExternalMPI.md +16 -15
- data/docs/ListMerchantsResponse.md +12 -11
- data/docs/MCC6012.md +14 -13
- data/docs/Merchant.md +16 -15
- data/docs/OperationalApi.md +124 -22
- data/docs/OperationalFunctionsApi.md +355 -0
- data/docs/PaResAuthRequest.md +10 -9
- data/docs/PaylinkAddress.md +30 -0
- data/docs/PaylinkAdjustmentRequest.md +22 -0
- data/docs/PaylinkApi.md +630 -0
- data/docs/PaylinkAttachmentRequest.md +26 -0
- data/docs/PaylinkAttachmentResult.md +22 -0
- data/docs/PaylinkBillPaymentTokenRequest.md +32 -0
- data/docs/PaylinkCardHolder.md +36 -0
- data/docs/PaylinkCart.md +30 -0
- data/docs/PaylinkCartItemModel.md +32 -0
- data/docs/PaylinkConfig.md +60 -0
- data/docs/PaylinkCustomParam.md +36 -0
- data/docs/PaylinkEmailNotificationPath.md +26 -0
- data/docs/PaylinkErrorCode.md +20 -0
- data/docs/PaylinkFieldGuardModel.md +30 -0
- data/docs/PaylinkPartPayments.md +28 -0
- data/docs/PaylinkSMSNotificationPath.md +20 -0
- data/docs/PaylinkStateEvent.md +22 -0
- data/docs/PaylinkTokenCreated.md +44 -0
- data/docs/PaylinkTokenRequestModel.md +38 -0
- data/docs/PaylinkTokenStatus.md +72 -0
- data/docs/PaylinkTokenStatusChangeRequest.md +26 -0
- data/docs/PaylinkTokenStatusChangeResponse.md +20 -0
- data/docs/PaylinkUI.md +24 -0
- data/docs/PaymentProcessingApi.md +307 -68
- data/docs/Ping.md +8 -7
- data/docs/ProcessBatchRequest.md +24 -0
- data/docs/ProcessBatchResponse.md +20 -0
- data/docs/RefundRequest.md +26 -0
- data/docs/RegisterCard.md +16 -13
- data/docs/RequestChallenged.md +16 -15
- data/docs/RetrieveRequest.md +12 -11
- data/docs/ThreeDSecure.md +32 -15
- data/docs/TokenisationResponseModel.md +36 -0
- data/docs/VoidRequest.md +12 -13
- data/lib/.DS_Store +0 -0
- data/lib/citypay_api_client/api/authorisation_and_payment_api__.rb +565 -0
- data/lib/citypay_api_client/api/batch_processing_api__.rb +225 -0
- data/lib/citypay_api_client/api/{card_holder_account_api.rb → card_holder_account_api__.rb} +136 -46
- data/lib/citypay_api_client/api/direct_post_api__.rb +373 -0
- data/lib/citypay_api_client/api/operational_functions_api__.rb +356 -0
- data/lib/citypay_api_client/api/paylink_api__.rb +614 -0
- data/lib/citypay_api_client/api_client.rb +59 -59
- data/lib/citypay_api_client/api_error.rb +2 -2
- data/lib/citypay_api_client/configuration.rb +53 -15
- data/lib/citypay_api_client/models/account_create.rb +21 -8
- data/lib/citypay_api_client/models/account_status.rb +21 -8
- data/lib/citypay_api_client/models/acknowledgement.rb +21 -8
- data/lib/citypay_api_client/models/acl_check_request.rb +224 -0
- data/lib/citypay_api_client/models/acl_check_response_model.rb +249 -0
- data/lib/citypay_api_client/models/airline_advice.rb +23 -10
- data/lib/citypay_api_client/models/airline_segment.rb +21 -8
- data/lib/citypay_api_client/models/api_key.rb +16 -0
- data/lib/citypay_api_client/models/auth_reference.rb +45 -11
- data/lib/citypay_api_client/models/auth_references.rb +21 -8
- data/lib/citypay_api_client/models/auth_request.rb +79 -33
- data/lib/citypay_api_client/models/auth_response.rb +43 -106
- data/lib/citypay_api_client/models/authen_required.rb +21 -8
- data/lib/citypay_api_client/models/batch.rb +264 -0
- data/lib/citypay_api_client/models/batch_report_request.rb +277 -0
- data/lib/citypay_api_client/models/batch_report_response_model.rb +357 -0
- data/lib/citypay_api_client/models/batch_transaction.rb +321 -0
- data/lib/citypay_api_client/models/batch_transaction_result_model.rb +421 -0
- data/lib/citypay_api_client/models/bin.rb +299 -0
- data/lib/citypay_api_client/models/bin_lookup.rb +234 -0
- data/lib/citypay_api_client/models/c_res_auth_request.rb +21 -8
- data/lib/citypay_api_client/models/capture_request.rb +38 -20
- data/lib/citypay_api_client/models/card.rb +67 -10
- data/lib/citypay_api_client/models/card_holder_account.rb +35 -12
- data/lib/citypay_api_client/models/card_status.rb +21 -8
- data/lib/citypay_api_client/models/charge_request.rb +96 -24
- data/lib/citypay_api_client/models/check_batch_status.rb +259 -0
- data/lib/citypay_api_client/models/check_batch_status_response.rb +220 -0
- data/lib/citypay_api_client/models/contact_details.rb +87 -44
- data/lib/citypay_api_client/models/decision.rb +21 -8
- data/lib/citypay_api_client/models/direct_post_request.rb +670 -0
- data/lib/citypay_api_client/models/direct_token_auth_request.rb +249 -0
- data/lib/citypay_api_client/models/domain_key_check_request.rb +252 -0
- data/lib/citypay_api_client/models/domain_key_request.rb +250 -0
- data/lib/citypay_api_client/models/domain_key_response.rb +294 -0
- data/lib/citypay_api_client/models/error.rb +35 -12
- data/lib/citypay_api_client/models/event_data_model.rb +259 -0
- data/lib/citypay_api_client/models/exists.rb +244 -0
- data/lib/citypay_api_client/models/external_mpi.rb +27 -8
- data/lib/citypay_api_client/models/list_merchants_response.rb +21 -8
- data/lib/citypay_api_client/models/mcc6012.rb +21 -8
- data/lib/citypay_api_client/models/merchant.rb +21 -8
- data/lib/citypay_api_client/models/pa_res_auth_request.rb +22 -9
- data/lib/citypay_api_client/models/paylink_address.rb +402 -0
- data/lib/citypay_api_client/models/paylink_adjustment_request.rb +269 -0
- data/lib/citypay_api_client/models/paylink_attachment_request.rb +269 -0
- data/lib/citypay_api_client/models/paylink_attachment_result.rb +249 -0
- data/lib/citypay_api_client/models/paylink_bill_payment_token_request.rb +292 -0
- data/lib/citypay_api_client/models/paylink_card_holder.rb +353 -0
- data/lib/citypay_api_client/models/paylink_cart.rb +280 -0
- data/lib/citypay_api_client/models/paylink_cart_item_model.rb +289 -0
- data/lib/citypay_api_client/models/paylink_config.rb +433 -0
- data/lib/citypay_api_client/models/paylink_custom_param.rb +314 -0
- data/lib/citypay_api_client/models/paylink_email_notification_path.rb +268 -0
- data/lib/citypay_api_client/models/paylink_error_code.rb +239 -0
- data/lib/citypay_api_client/models/paylink_field_guard_model.rb +279 -0
- data/lib/citypay_api_client/models/paylink_part_payments.rb +269 -0
- data/lib/citypay_api_client/models/paylink_sms_notification_path.rb +234 -0
- data/lib/citypay_api_client/models/paylink_state_event.rb +239 -0
- data/lib/citypay_api_client/models/paylink_token_created.rb +364 -0
- data/lib/citypay_api_client/models/paylink_token_request_model.rb +374 -0
- data/lib/citypay_api_client/models/paylink_token_status.rb +490 -0
- data/lib/citypay_api_client/models/paylink_token_status_change_request.rb +270 -0
- data/lib/citypay_api_client/models/paylink_token_status_change_response.rb +235 -0
- data/lib/citypay_api_client/models/paylink_ui.rb +249 -0
- data/lib/citypay_api_client/models/ping.rb +21 -8
- data/lib/citypay_api_client/models/process_batch_request.rb +308 -0
- data/lib/citypay_api_client/models/process_batch_response.rb +234 -0
- data/lib/citypay_api_client/models/refund_request.rb +332 -0
- data/lib/citypay_api_client/models/register_card.rb +59 -12
- data/lib/citypay_api_client/models/request_challenged.rb +29 -16
- data/lib/citypay_api_client/models/retrieve_request.rb +21 -8
- data/lib/citypay_api_client/models/three_d_secure.rb +106 -13
- data/lib/citypay_api_client/models/tokenisation_response_model.rb +333 -0
- data/lib/citypay_api_client/models/void_request.rb +22 -19
- data/lib/citypay_api_client/utils/digest_utils.rb +18 -0
- data/lib/citypay_api_client/utils/direct_post_mac.rb +22 -0
- data/lib/citypay_api_client/version.rb +3 -3
- data/lib/citypay_api_client.rb +53 -6
- data/spec/.DS_Store +0 -0
- data/spec/api/authorisation_and_payment_api___spec.rb +130 -0
- data/spec/api/batch_processing_api___spec.rb +70 -0
- data/spec/api/{card_holder_account_api_spec.rb → card_holder_account_api___spec.rb} +15 -3
- data/spec/api/direct_post_api___spec.rb +98 -0
- data/spec/api/operational_functions_api___spec.rb +94 -0
- data/spec/api/paylink_api___spec.rb +131 -0
- data/spec/api_client_spec.rb +4 -4
- data/spec/configuration_spec.rb +5 -5
- data/spec/it_api_sandbox_spec.rb +222 -0
- data/spec/models/acknowledgement_spec.rb +6 -8
- data/spec/models/acl_check_request_spec.rb +33 -0
- data/spec/models/acl_check_response_model_spec.rb +51 -0
- data/spec/models/auth_references_spec.rb +7 -8
- data/spec/models/auth_response_spec.rb +29 -30
- data/spec/models/batch_report_request_spec.rb +39 -0
- data/spec/models/batch_report_response_model_spec.rb +63 -0
- data/spec/models/batch_spec.rb +45 -0
- data/spec/models/batch_transaction_result_model_spec.rb +87 -0
- data/spec/models/batch_transaction_spec.rb +51 -0
- data/spec/models/bin_lookup_spec.rb +33 -0
- data/spec/models/bin_spec.rb +81 -0
- data/spec/models/card_holder_account_spec.rb +8 -5
- data/spec/models/check_batch_status_response_spec.rb +45 -0
- data/spec/models/check_batch_status_spec.rb +39 -0
- data/spec/models/decision_spec.rb +1 -1
- data/spec/models/direct_post_request_spec.rb +153 -0
- data/spec/models/direct_token_auth_request_spec.rb +51 -0
- data/spec/models/domain_key_check_request_spec.rb +33 -0
- data/spec/models/domain_key_request_spec.rb +45 -0
- data/spec/models/domain_key_response_spec.rb +57 -0
- data/spec/models/event_data_model_spec.rb +57 -0
- data/spec/{api/operational_api_spec.rb → models/exists_spec.rb} +14 -20
- data/spec/models/list_merchants_response_spec.rb +2 -2
- data/spec/models/paylink_address_spec.rb +69 -0
- data/spec/models/paylink_adjustment_request_spec.rb +45 -0
- data/spec/models/paylink_attachment_request_spec.rb +45 -0
- data/spec/models/paylink_attachment_result_spec.rb +45 -0
- data/spec/models/paylink_bill_payment_token_request_spec.rb +63 -0
- data/spec/models/paylink_card_holder_spec.rb +87 -0
- data/spec/models/paylink_cart_item_model_spec.rb +75 -0
- data/spec/models/paylink_cart_spec.rb +69 -0
- data/spec/models/paylink_config_spec.rb +159 -0
- data/spec/models/paylink_custom_param_spec.rb +87 -0
- data/spec/models/paylink_email_notification_path_spec.rb +57 -0
- data/spec/models/paylink_error_code_spec.rb +39 -0
- data/spec/models/paylink_field_guard_model_spec.rb +45 -0
- data/spec/models/paylink_part_payments_spec.rb +63 -0
- data/spec/models/paylink_sms_notification_path_spec.rb +39 -0
- data/spec/models/paylink_state_event_spec.rb +45 -0
- data/spec/models/paylink_token_created_spec.rb +111 -0
- data/spec/models/paylink_token_request_model_spec.rb +93 -0
- data/spec/models/paylink_token_status_change_request_spec.rb +57 -0
- data/spec/models/paylink_token_status_change_response_spec.rb +39 -0
- data/spec/models/paylink_token_status_spec.rb +195 -0
- data/spec/models/paylink_ui_spec.rb +51 -0
- data/spec/models/process_batch_request_spec.rb +51 -0
- data/spec/models/process_batch_response_spec.rb +39 -0
- data/spec/models/refund_request_spec.rb +64 -0
- data/spec/models/tokenisation_response_model_spec.rb +87 -0
- data/spec/spec_helper.rb +2 -2
- data/spec/utils/direct_post_mac_spec.rb +13 -0
- metadata +212 -37
- data/Gemfile.lock +0 -70
- data/git_push.sh +0 -58
- data/lib/citypay_api_client/api/operational_api.rb +0 -147
- data/lib/citypay_api_client/api/payment_processing_api.rb +0 -405
- data/lib/citypay_api_client/test.rb +0 -20
- data/spec/api/payment_processing_api_spec.rb +0 -106
data/spec/api_client_spec.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
=begin
|
2
2
|
#CityPay Payment API
|
3
3
|
|
4
|
-
# This CityPay API is a HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokinsed payments using Card Holder Accounts. ## Compliance and Security
|
4
|
+
# This CityPay API is a HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokinsed payments using Card Holder Accounts. ## Compliance and Security Your application will need to adhere to PCI-DSS standards to operate safely and to meet requirements set out by Visa and MasterCard and the PCI Security Standards Council. These include * Data must be collected using TLS version 1.2 using [strong cryptography](#enabled-tls-ciphers). We will not accept calls to our API at lower grade encryption levels. We regularly scan our TLS endpoints for vulnerabilities and perform TLS assessments as part of our compliance program. * The application must not store sensitive card holder data (CHD) such as the card security code (CSC) or primary access number (PAN) * The application must not display the full card number on receipts, it is recommended to mask the PAN and show the last 4 digits. The API will return this for you for ease of receipt creation * If you are developing a website, you will be required to perform regular scans on the network where you host the application to meet your compliance obligations * You will be required to be PCI Compliant and the application must adhere to the security standard. Further information is available from [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/) * The API verifies that the request is for a valid account and originates from a trusted source using the remote IP address. Our application firewalls analyse data that may be an attempt to break a large number of security common security vulnerabilities.
|
5
5
|
|
6
6
|
Contact: support@citypay.com
|
7
7
|
Generated by: https://openapi-generator.tech
|
8
|
-
OpenAPI Generator version:
|
8
|
+
OpenAPI Generator version: 6.2.1
|
9
9
|
|
10
10
|
=end
|
11
11
|
|
@@ -196,8 +196,8 @@ describe CityPayApiClient::ApiClient do
|
|
196
196
|
let(:api_client) { CityPayApiClient::ApiClient.new }
|
197
197
|
|
198
198
|
it 'works' do
|
199
|
-
expect(api_client.select_header_content_type(nil)).to
|
200
|
-
expect(api_client.select_header_content_type([])).to
|
199
|
+
expect(api_client.select_header_content_type(nil)).to be_nil
|
200
|
+
expect(api_client.select_header_content_type([])).to be_nil
|
201
201
|
|
202
202
|
expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
|
203
203
|
expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
data/spec/configuration_spec.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
=begin
|
2
2
|
#CityPay Payment API
|
3
3
|
|
4
|
-
# This CityPay API is a HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokinsed payments using Card Holder Accounts. ## Compliance and Security
|
4
|
+
# This CityPay API is a HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokinsed payments using Card Holder Accounts. ## Compliance and Security Your application will need to adhere to PCI-DSS standards to operate safely and to meet requirements set out by Visa and MasterCard and the PCI Security Standards Council. These include * Data must be collected using TLS version 1.2 using [strong cryptography](#enabled-tls-ciphers). We will not accept calls to our API at lower grade encryption levels. We regularly scan our TLS endpoints for vulnerabilities and perform TLS assessments as part of our compliance program. * The application must not store sensitive card holder data (CHD) such as the card security code (CSC) or primary access number (PAN) * The application must not display the full card number on receipts, it is recommended to mask the PAN and show the last 4 digits. The API will return this for you for ease of receipt creation * If you are developing a website, you will be required to perform regular scans on the network where you host the application to meet your compliance obligations * You will be required to be PCI Compliant and the application must adhere to the security standard. Further information is available from [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/) * The API verifies that the request is for a valid account and originates from a trusted source using the remote IP address. Our application firewalls analyse data that may be an attempt to break a large number of security common security vulnerabilities.
|
5
5
|
|
6
6
|
Contact: support@citypay.com
|
7
7
|
Generated by: https://openapi-generator.tech
|
8
|
-
OpenAPI Generator version:
|
8
|
+
OpenAPI Generator version: 6.2.1
|
9
9
|
|
10
10
|
=end
|
11
11
|
|
@@ -17,7 +17,7 @@ describe CityPayApiClient::Configuration do
|
|
17
17
|
before(:each) do
|
18
18
|
# uncomment below to setup host and base_path
|
19
19
|
# require 'URI'
|
20
|
-
# uri = URI.parse("https://api.citypay.com
|
20
|
+
# uri = URI.parse("https://api.citypay.com")
|
21
21
|
# CityPayApiClient.configure do |c|
|
22
22
|
# c.host = uri.host
|
23
23
|
# c.base_path = uri.path
|
@@ -27,14 +27,14 @@ describe CityPayApiClient::Configuration do
|
|
27
27
|
describe '#base_url' do
|
28
28
|
it 'should have the default value' do
|
29
29
|
# uncomment below to test default value of the base path
|
30
|
-
# expect(config.base_url).to eq("https://api.citypay.com
|
30
|
+
# expect(config.base_url).to eq("https://api.citypay.com")
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'should remove trailing slashes' do
|
34
34
|
[nil, '', '/', '//'].each do |base_path|
|
35
35
|
config.base_path = base_path
|
36
36
|
# uncomment below to test trailing slashes
|
37
|
-
# expect(config.base_url).to eq("https://api.citypay.com
|
37
|
+
# expect(config.base_url).to eq("https://api.citypay.com")
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -0,0 +1,222 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'json'
|
3
|
+
require 'date'
|
4
|
+
require 'securerandom'
|
5
|
+
require 'typhoeus'
|
6
|
+
require 'base64'
|
7
|
+
require_relative '../lib/citypay_api_client/utils/digest_utils'
|
8
|
+
|
9
|
+
describe 'IntegrationTests' do
|
10
|
+
|
11
|
+
client_id = "PC222210"
|
12
|
+
licence_key = "SK5K1GQLI7USNET1"
|
13
|
+
merchant_id = "62421955"
|
14
|
+
|
15
|
+
before do
|
16
|
+
|
17
|
+
# for each test
|
18
|
+
CityPayApiClient.configure do |config|
|
19
|
+
config.api_key['cp-api-key'] = CityPayApiClient::ApiKey.new(client_id: client_id, licence_key: licence_key).generate
|
20
|
+
config.debugging = true
|
21
|
+
config.host = "sandbox.citypay.com"
|
22
|
+
config.server_index = 1
|
23
|
+
end
|
24
|
+
cha_api = CityPayApiClient::CardHolderAccountApi.new
|
25
|
+
end
|
26
|
+
|
27
|
+
after do
|
28
|
+
# eun after each test
|
29
|
+
end
|
30
|
+
|
31
|
+
describe 'Can run operational tests' do
|
32
|
+
api_instance = CityPayApiClient::OperationalFunctionsApi.new
|
33
|
+
|
34
|
+
it 'should ping and ack' do
|
35
|
+
uuid = SecureRandom.uuid
|
36
|
+
result = api_instance.ping_request(CityPayApiClient::Ping.new(identifier: uuid))
|
37
|
+
expect(result.code).to eq("044")
|
38
|
+
expect(result.identifier).to eq(uuid)
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should list merchants' do
|
42
|
+
result = api_instance.list_merchants_request("default")
|
43
|
+
expect(result.clientid ).to eq(client_id)
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
describe 'Run payment processing tests' do
|
49
|
+
api_instance = CityPayApiClient::AuthorisationAndPaymentApi.new
|
50
|
+
|
51
|
+
it 'should authorise' do
|
52
|
+
uuid = SecureRandom.uuid
|
53
|
+
result = api_instance.authorisation_request(CityPayApiClient::AuthRequest.new(
|
54
|
+
merchantid: merchant_id,
|
55
|
+
cardnumber: "4000000000000002",
|
56
|
+
csc: "012",
|
57
|
+
expmonth: 12,
|
58
|
+
expyear: 2030,
|
59
|
+
amount: 1395,
|
60
|
+
identifier: uuid,
|
61
|
+
threedsecure: CityPayApiClient::ThreeDSecure.new(tds_policy: "2")
|
62
|
+
))
|
63
|
+
|
64
|
+
expect(result.auth_response).to_not be_nil
|
65
|
+
expect(result.authen_required).to be_nil
|
66
|
+
expect(result.request_challenged).to be_nil
|
67
|
+
|
68
|
+
response = result.auth_response
|
69
|
+
|
70
|
+
expect(response.identifier).to eq(uuid.to_str)
|
71
|
+
expect(response.authcode).to eq("A12345")
|
72
|
+
expect(response.amount).to eq(1395)
|
73
|
+
expect(response.result_code).to eq("001")
|
74
|
+
|
75
|
+
expect(DigestUtils.validate_digest(response, licence_key)).to eq(true)
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
describe 'Run payment processing tests 3DSv2' do
|
81
|
+
api_instance = CityPayApiClient::AuthorisationAndPaymentApi.new
|
82
|
+
|
83
|
+
it 'should authorise 3DSv2' do
|
84
|
+
uuid = SecureRandom.uuid
|
85
|
+
result = api_instance.authorisation_request(CityPayApiClient::AuthRequest.new(
|
86
|
+
merchantid: merchant_id,
|
87
|
+
cardnumber: "4000000000000002",
|
88
|
+
csc: "123",
|
89
|
+
expmonth: 12,
|
90
|
+
expyear: 2030,
|
91
|
+
amount: 1396,
|
92
|
+
identifier: uuid,
|
93
|
+
trans_type: "A",
|
94
|
+
threedsecure: CityPayApiClient::ThreeDSecure.new(
|
95
|
+
cp_bx: "eyJhIjoiRkFwSCIsImMiOjI0LCJpIjoid3dIOTExTlBKSkdBRVhVZCIsImoiOmZhbHNlLCJsIjoiZW4tVVMiLCJoIjoxNDQwLCJ3IjoyNTYwLCJ0IjowLCJ1IjoiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTFfMl8zKSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvODkuMC40Mzg5LjgyIFNhZmFyaS81MzcuMzYiLCJ2IjoiMS4wLjAifQ",
|
96
|
+
merchant_termurl: "https://citypay.com/acs/return"
|
97
|
+
)
|
98
|
+
))
|
99
|
+
|
100
|
+
expect(result.auth_response).to be_nil
|
101
|
+
expect(result.authen_required).to be_nil
|
102
|
+
expect(result.request_challenged).to_not be_nil
|
103
|
+
|
104
|
+
response = result.request_challenged
|
105
|
+
|
106
|
+
expect(response.acs_url).to_not be_nil
|
107
|
+
expect(response.creq).to_not be_nil
|
108
|
+
expect(response.threedserver_trans_id).to_not be_nil
|
109
|
+
|
110
|
+
content = {
|
111
|
+
:threeDSSessionData => response.threedserver_trans_id,
|
112
|
+
:creq => response.creq
|
113
|
+
}
|
114
|
+
|
115
|
+
request = Typhoeus::Request.new("https://sandbox.citypay.com/3dsv2/acs",
|
116
|
+
method: :post,
|
117
|
+
headers: {
|
118
|
+
"Content-Type" => "application/json"
|
119
|
+
},
|
120
|
+
body: content.to_json)
|
121
|
+
res = request.run
|
122
|
+
c_res = res.response_body
|
123
|
+
|
124
|
+
expect(c_res['acsTransID']).to_not be_nil
|
125
|
+
expect(c_res['messageType']).to_not be_nil
|
126
|
+
expect(c_res['messageVersion']).to_not be_nil
|
127
|
+
expect(c_res['threeDSServerTransID']).to_not be_nil
|
128
|
+
expect(c_res['transStatus']).to_not be_nil
|
129
|
+
|
130
|
+
c_res_auth_request = CityPayApiClient::CResAuthRequest.new({:cres => Base64.encode64(c_res)})
|
131
|
+
|
132
|
+
c_res_request_response = api_instance.c_res_request(c_res_auth_request)
|
133
|
+
|
134
|
+
expect(c_res_request_response.amount).to eq(1396)
|
135
|
+
expect(c_res_request_response.authcode).to eq("A12345")
|
136
|
+
expect(c_res_request_response.authen_result).to eq("Y")
|
137
|
+
expect(c_res_request_response.authorised).to eq(true)
|
138
|
+
end
|
139
|
+
|
140
|
+
end
|
141
|
+
|
142
|
+
describe 'Run card holder account actions' do
|
143
|
+
|
144
|
+
api_instance = CityPayApiClient::CardHolderAccountApi.new
|
145
|
+
cha_id = SecureRandom.hex(12)
|
146
|
+
|
147
|
+
it 'should create a new cha' do
|
148
|
+
|
149
|
+
result = api_instance.account_create(CityPayApiClient::AccountCreate.new(
|
150
|
+
account_id: cha_id,
|
151
|
+
contact: CityPayApiClient::ContactDetails.new(
|
152
|
+
address1: "7 Esplanade",
|
153
|
+
area: "St Helier",
|
154
|
+
company: "CityPay Limited",
|
155
|
+
country: "JE",
|
156
|
+
email: "dev@citypay.com",
|
157
|
+
firstname: "Integration",
|
158
|
+
lastname: "Test",
|
159
|
+
postcode: "JE2 3QA"
|
160
|
+
)
|
161
|
+
))
|
162
|
+
|
163
|
+
expect(result.account_id).to eq(cha_id)
|
164
|
+
expect(result.contact.address1).to eq("7 Esplanade")
|
165
|
+
|
166
|
+
end
|
167
|
+
|
168
|
+
it 'should add a card to the account' do
|
169
|
+
result = api_instance.account_card_register_request(cha_id, CityPayApiClient::RegisterCard.new(
|
170
|
+
cardnumber: "4000000000000002",
|
171
|
+
expmonth: 12,
|
172
|
+
expyear: 2030,
|
173
|
+
))
|
174
|
+
expect(result.account_id).to eq(cha_id)
|
175
|
+
expect(result.cards.length).to eq(1)
|
176
|
+
expect(result.cards[0].expmonth).to eq(12)
|
177
|
+
expect(result.cards[0].expyear).to eq(2030)
|
178
|
+
|
179
|
+
end
|
180
|
+
|
181
|
+
it 'should retrieve the account and charge against it' do
|
182
|
+
result = api_instance.account_retrieve_request(cha_id)
|
183
|
+
expect(result.account_id).to eq(cha_id)
|
184
|
+
expect(result.contact.address1).to eq("7 Esplanade")
|
185
|
+
expect(result.cards.length).to eq(1)
|
186
|
+
expect(result.cards[0].expmonth).to eq(12)
|
187
|
+
expect(result.cards[0].expyear).to eq(2030)
|
188
|
+
|
189
|
+
uuid = SecureRandom.uuid
|
190
|
+
result2 = api_instance.charge_request(CityPayApiClient::ChargeRequest.new(
|
191
|
+
amount: 7801,
|
192
|
+
csc: "012",
|
193
|
+
merchantid: merchant_id,
|
194
|
+
identifier: uuid,
|
195
|
+
threedsecure: CityPayApiClient::ThreeDSecure.new(tds_policy: "2"),
|
196
|
+
token: result.cards[0].token
|
197
|
+
))
|
198
|
+
|
199
|
+
# decision object returned
|
200
|
+
expect(result2.auth_response).to_not be_nil
|
201
|
+
expect(result2.authen_required).to be_nil
|
202
|
+
expect(result2.request_challenged).to be_nil
|
203
|
+
|
204
|
+
response = result2.auth_response
|
205
|
+
|
206
|
+
expect(response.identifier).to eq(uuid.to_str)
|
207
|
+
expect(response.authcode).to eq("A12345")
|
208
|
+
expect(response.amount).to eq(7801)
|
209
|
+
expect(response.result_code).to eq("001")
|
210
|
+
|
211
|
+
end
|
212
|
+
|
213
|
+
|
214
|
+
it 'should delete the cha' do
|
215
|
+
|
216
|
+
result = api_instance.account_delete_request(cha_id)
|
217
|
+
expect(result.code).to eq("001")
|
218
|
+
end
|
219
|
+
|
220
|
+
end
|
221
|
+
|
222
|
+
end
|
@@ -21,16 +21,14 @@ describe 'Acknowledgement' do
|
|
21
21
|
# run before each test
|
22
22
|
json = '
|
23
23
|
{
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
"message": "System: Accepted Transaction"
|
24
|
+
"code": "000",
|
25
|
+
"context": "1B12WmDZB3EYSbb",
|
26
|
+
"identifier": "testIdentifier",
|
27
|
+
"message": "System: Accepted Transaction"
|
29
28
|
}
|
30
|
-
}
|
31
29
|
'
|
32
|
-
|
33
|
-
@instance = CityPayApiClient::ApiClient.new.convert_to_type(
|
30
|
+
|
31
|
+
@instance = CityPayApiClient::ApiClient.new.convert_to_type(JSON.parse(json, :symbolize_names => true), "Acknowledgement")
|
34
32
|
end
|
35
33
|
|
36
34
|
after do
|
@@ -0,0 +1,33 @@
|
|
1
|
+
=begin
|
2
|
+
#CityPay Payment API
|
3
|
+
|
4
|
+
# This CityPay API is a HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokinsed payments using Card Holder Accounts. ## Compliance and Security <aside class=\"notice\"> Before we begin a reminder that your application will need to adhere to PCI-DSS standards to operate safely and to meet requirements set out by Visa and MasterCard and the PCI Security Standards Council including: </aside> * Data must be collected using TLS version 1.2 using [strong cryptography](#enabled-tls-ciphers). We will not accept calls to our API at lower grade encryption levels. We regularly scan our TLS endpoints for vulnerabilities and perform TLS assessments as part of our compliance program. * The application must not store sensitive card holder data (CHD) such as the card security code (CSC) or primary access number (PAN) * The application must not display the full card number on receipts, it is recommended to mask the PAN and show the last 4 digits. The API will return this for you for ease of receipt creation * If you are developing a website, you will be required to perform regular scans on the network where you host the application to meet your compliance obligations * You will be required to be PCI Compliant and the application must adhere to the security standard. Further information is available from [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/) * The API verifies that the request is for a valid account and originates from a trusted source using the remote IP address. Our application firewalls analyse data that may be an attempt to break a large number of security common security vulnerabilities.
|
5
|
+
|
6
|
+
Contact: support@citypay.com
|
7
|
+
Generated by: https://openapi-generator.tech
|
8
|
+
OpenAPI Generator version: 5.3.0-SNAPSHOT
|
9
|
+
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'spec_helper'
|
13
|
+
require 'json'
|
14
|
+
require 'date'
|
15
|
+
|
16
|
+
# Unit tests for CityPayApiClient::AclCheckRequest
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe CityPayApiClient::AclCheckRequest do
|
20
|
+
let(:instance) { CityPayApiClient::AclCheckRequest.new }
|
21
|
+
|
22
|
+
describe 'test an instance of AclCheckRequest' do
|
23
|
+
it 'should create an instance of AclCheckRequest' do
|
24
|
+
expect(instance).to be_instance_of(CityPayApiClient::AclCheckRequest)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
describe 'test attribute "ip"' do
|
28
|
+
it 'should work' do
|
29
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
=begin
|
2
|
+
#CityPay Payment API
|
3
|
+
|
4
|
+
# This CityPay API is a HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokinsed payments using Card Holder Accounts. ## Compliance and Security <aside class=\"notice\"> Before we begin a reminder that your application will need to adhere to PCI-DSS standards to operate safely and to meet requirements set out by Visa and MasterCard and the PCI Security Standards Council including: </aside> * Data must be collected using TLS version 1.2 using [strong cryptography](#enabled-tls-ciphers). We will not accept calls to our API at lower grade encryption levels. We regularly scan our TLS endpoints for vulnerabilities and perform TLS assessments as part of our compliance program. * The application must not store sensitive card holder data (CHD) such as the card security code (CSC) or primary access number (PAN) * The application must not display the full card number on receipts, it is recommended to mask the PAN and show the last 4 digits. The API will return this for you for ease of receipt creation * If you are developing a website, you will be required to perform regular scans on the network where you host the application to meet your compliance obligations * You will be required to be PCI Compliant and the application must adhere to the security standard. Further information is available from [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/) * The API verifies that the request is for a valid account and originates from a trusted source using the remote IP address. Our application firewalls analyse data that may be an attempt to break a large number of security common security vulnerabilities.
|
5
|
+
|
6
|
+
Contact: support@citypay.com
|
7
|
+
Generated by: https://openapi-generator.tech
|
8
|
+
OpenAPI Generator version: 5.3.0-SNAPSHOT
|
9
|
+
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'spec_helper'
|
13
|
+
require 'json'
|
14
|
+
require 'date'
|
15
|
+
|
16
|
+
# Unit tests for CityPayApiClient::AclCheckResponseModel
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe CityPayApiClient::AclCheckResponseModel do
|
20
|
+
let(:instance) { CityPayApiClient::AclCheckResponseModel.new }
|
21
|
+
|
22
|
+
describe 'test an instance of AclCheckResponseModel' do
|
23
|
+
it 'should create an instance of AclCheckResponseModel' do
|
24
|
+
expect(instance).to be_instance_of(CityPayApiClient::AclCheckResponseModel)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
describe 'test attribute "acl"' do
|
28
|
+
it 'should work' do
|
29
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe 'test attribute "cache"' do
|
34
|
+
it 'should work' do
|
35
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe 'test attribute "ip"' do
|
40
|
+
it 'should work' do
|
41
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe 'test attribute "provider"' do
|
46
|
+
it 'should work' do
|
47
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
@@ -20,13 +20,12 @@ describe 'AuthReferences' do
|
|
20
20
|
before do
|
21
21
|
# run before each test
|
22
22
|
|
23
|
-
json ='
|
23
|
+
json = '
|
24
24
|
{
|
25
|
-
"AuthReferences": {
|
26
25
|
"auths": [
|
27
26
|
{
|
28
|
-
"amount": 12,
|
29
|
-
"amount_value":
|
27
|
+
"amount": "0.12",
|
28
|
+
"amount_value": 12,
|
30
29
|
"atrn": null,
|
31
30
|
"authcode": "A12345",
|
32
31
|
"batchno": null,
|
@@ -41,8 +40,8 @@ describe 'AuthReferences' do
|
|
41
40
|
"transno": 88
|
42
41
|
}
|
43
42
|
]
|
44
|
-
}
|
45
43
|
}'
|
44
|
+
|
46
45
|
data = JSON.parse(json, :symbolize_names => true)
|
47
46
|
@instance = CityPayApiClient::ApiClient.new.convert_to_type(data, "AuthReferences")
|
48
47
|
end
|
@@ -60,13 +59,13 @@ describe 'AuthReferences' do
|
|
60
59
|
it 'should work' do
|
61
60
|
expect(@instance.auths.length).to eq(1)
|
62
61
|
i = @instance.auths[0]
|
63
|
-
expect(i.amount).to eq(12)
|
64
|
-
expect(i.amount_value).to eq(
|
62
|
+
expect(i.amount).to eq("0.12")
|
63
|
+
expect(i.amount_value).to eq(12)
|
65
64
|
expect(i.atrn).to eq(nil)
|
66
65
|
expect(i.authcode).to eq("A12345")
|
67
66
|
expect(i.batchno).to eq(nil)
|
68
67
|
expect(i.currency).to eq("GBP")
|
69
|
-
expect(i.datetime).to eq(
|
68
|
+
expect(i.datetime).to eq(Time.parse("2020-07-21T15:55:04Z"))
|
70
69
|
expect(i.identifier).to eq("TestingAPI")
|
71
70
|
expect(i.maskedpan).to eq("400000******0000")
|
72
71
|
expect(i.merchantid).to eq(12345678)
|
@@ -19,37 +19,36 @@ require 'date'
|
|
19
19
|
describe 'AuthResponse' do
|
20
20
|
before do
|
21
21
|
# run before each test
|
22
|
+
|
22
23
|
json = '
|
23
24
|
{
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
"transno": 74875
|
52
|
-
}
|
25
|
+
"amount": 5500,
|
26
|
+
"atrn": "atrn1",
|
27
|
+
"atsd": "a",
|
28
|
+
"authcode": "12345",
|
29
|
+
"authen_result": "R",
|
30
|
+
"authorised": true,
|
31
|
+
"avs_result": "G",
|
32
|
+
"bin_commercial": false,
|
33
|
+
"bin_debit": false,
|
34
|
+
"bin_description": "bin_desc",
|
35
|
+
"cavv": "cavvvvvvvvvvvvv",
|
36
|
+
"context": "20200812075906AAAGV4",
|
37
|
+
"csc_result": "C",
|
38
|
+
"currency": "GBP",
|
39
|
+
"datetime": "2020-08-12T07:59:11Z",
|
40
|
+
"eci": "0",
|
41
|
+
"identifier": "ident1",
|
42
|
+
"live": true,
|
43
|
+
"maskedpan": "400000******0002",
|
44
|
+
"merchantid": 12345,
|
45
|
+
"result": 1,
|
46
|
+
"result_code": "000",
|
47
|
+
"result_message": "System: Accepted Transaction",
|
48
|
+
"scheme": "VISA_BUSINESS",
|
49
|
+
"sha256": "abcdefg",
|
50
|
+
"trans_status": "P",
|
51
|
+
"transno": 74875
|
53
52
|
}
|
54
53
|
'
|
55
54
|
data = JSON.parse(json, :symbolize_names => true)
|
@@ -151,7 +150,7 @@ describe 'AuthResponse' do
|
|
151
150
|
|
152
151
|
describe 'test attribute "datetime"' do
|
153
152
|
it 'should work' do
|
154
|
-
expect(@instance.datetime).to eq(
|
153
|
+
expect(@instance.datetime).to eq(Time.parse("2020-08-12T07:59:11Z"))
|
155
154
|
end
|
156
155
|
end
|
157
156
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
=begin
|
2
|
+
#CityPay Payment API
|
3
|
+
|
4
|
+
# This CityPay API is a HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokinsed payments using Card Holder Accounts. ## Compliance and Security <aside class=\"notice\"> Before we begin a reminder that your application will need to adhere to PCI-DSS standards to operate safely and to meet requirements set out by Visa and MasterCard and the PCI Security Standards Council including: </aside> * Data must be collected using TLS version 1.2 using [strong cryptography](#enabled-tls-ciphers). We will not accept calls to our API at lower grade encryption levels. We regularly scan our TLS endpoints for vulnerabilities and perform TLS assessments as part of our compliance program. * The application must not store sensitive card holder data (CHD) such as the card security code (CSC) or primary access number (PAN) * The application must not display the full card number on receipts, it is recommended to mask the PAN and show the last 4 digits. The API will return this for you for ease of receipt creation * If you are developing a website, you will be required to perform regular scans on the network where you host the application to meet your compliance obligations * You will be required to be PCI Compliant and the application must adhere to the security standard. Further information is available from [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/) * The API verifies that the request is for a valid account and originates from a trusted source using the remote IP address. Our application firewalls analyse data that may be an attempt to break a large number of security common security vulnerabilities.
|
5
|
+
|
6
|
+
Contact: support@citypay.com
|
7
|
+
Generated by: https://openapi-generator.tech
|
8
|
+
OpenAPI Generator version: 5.3.0-SNAPSHOT
|
9
|
+
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'spec_helper'
|
13
|
+
require 'json'
|
14
|
+
require 'date'
|
15
|
+
|
16
|
+
# Unit tests for CityPayApiClient::BatchReportRequest
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe CityPayApiClient::BatchReportRequest do
|
20
|
+
let(:instance) { CityPayApiClient::BatchReportRequest.new }
|
21
|
+
|
22
|
+
describe 'test an instance of BatchReportRequest' do
|
23
|
+
it 'should create an instance of BatchReportRequest' do
|
24
|
+
expect(instance).to be_instance_of(CityPayApiClient::BatchReportRequest)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
describe 'test attribute "account_id"' do
|
28
|
+
it 'should work' do
|
29
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe 'test attribute "batch_id"' do
|
34
|
+
it 'should work' do
|
35
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
=begin
|
2
|
+
#CityPay Payment API
|
3
|
+
|
4
|
+
# This CityPay API is a HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokinsed payments using Card Holder Accounts. ## Compliance and Security <aside class=\"notice\"> Before we begin a reminder that your application will need to adhere to PCI-DSS standards to operate safely and to meet requirements set out by Visa and MasterCard and the PCI Security Standards Council including: </aside> * Data must be collected using TLS version 1.2 using [strong cryptography](#enabled-tls-ciphers). We will not accept calls to our API at lower grade encryption levels. We regularly scan our TLS endpoints for vulnerabilities and perform TLS assessments as part of our compliance program. * The application must not store sensitive card holder data (CHD) such as the card security code (CSC) or primary access number (PAN) * The application must not display the full card number on receipts, it is recommended to mask the PAN and show the last 4 digits. The API will return this for you for ease of receipt creation * If you are developing a website, you will be required to perform regular scans on the network where you host the application to meet your compliance obligations * You will be required to be PCI Compliant and the application must adhere to the security standard. Further information is available from [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/) * The API verifies that the request is for a valid account and originates from a trusted source using the remote IP address. Our application firewalls analyse data that may be an attempt to break a large number of security common security vulnerabilities.
|
5
|
+
|
6
|
+
Contact: support@citypay.com
|
7
|
+
Generated by: https://openapi-generator.tech
|
8
|
+
OpenAPI Generator version: 5.3.0-SNAPSHOT
|
9
|
+
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'spec_helper'
|
13
|
+
require 'json'
|
14
|
+
require 'date'
|
15
|
+
|
16
|
+
# Unit tests for CityPayApiClient::BatchReportResponseModel
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe CityPayApiClient::BatchReportResponseModel do
|
20
|
+
let(:instance) { CityPayApiClient::BatchReportResponseModel.new }
|
21
|
+
|
22
|
+
describe 'test an instance of BatchReportResponseModel' do
|
23
|
+
it 'should create an instance of BatchReportResponseModel' do
|
24
|
+
expect(instance).to be_instance_of(CityPayApiClient::BatchReportResponseModel)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
describe 'test attribute "account_id"' do
|
28
|
+
it 'should work' do
|
29
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe 'test attribute "amount"' do
|
34
|
+
it 'should work' do
|
35
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe 'test attribute "batch_date"' do
|
40
|
+
it 'should work' do
|
41
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe 'test attribute "batch_id"' do
|
46
|
+
it 'should work' do
|
47
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe 'test attribute "batch_status"' do
|
52
|
+
it 'should work' do
|
53
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe 'test attribute "transactions"' do
|
58
|
+
it 'should work' do
|
59
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|