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.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +105 -34
  3. data/citypay_api_client.gemspec +4 -5
  4. data/docs/AccountCreate.md +10 -9
  5. data/docs/AccountStatus.md +8 -7
  6. data/docs/Acknowledgement.md +14 -13
  7. data/docs/AclCheckRequest.md +18 -0
  8. data/docs/AclCheckResponseModel.md +24 -0
  9. data/docs/AirlineAdvice.md +38 -37
  10. data/docs/AirlineSegment.md +22 -21
  11. data/docs/AuthReference.md +34 -33
  12. data/docs/AuthReferences.md +8 -7
  13. data/docs/AuthRequest.md +50 -49
  14. data/docs/AuthResponse.md +60 -59
  15. data/docs/AuthenRequired.md +12 -11
  16. data/docs/AuthorisationAndPaymentApi.md +559 -0
  17. data/docs/Batch.md +22 -0
  18. data/docs/BatchProcessingApi.md +214 -0
  19. data/docs/BatchReportRequest.md +20 -0
  20. data/docs/BatchReportResponseModel.md +28 -0
  21. data/docs/BatchTransaction.md +24 -0
  22. data/docs/BatchTransactionResultModel.md +40 -0
  23. data/docs/Bin.md +34 -0
  24. data/docs/BinLookup.md +18 -0
  25. data/docs/CResAuthRequest.md +8 -7
  26. data/docs/CaptureRequest.md +18 -17
  27. data/docs/Card.md +46 -41
  28. data/docs/CardHolderAccount.md +24 -21
  29. data/docs/CardHolderAccountApi.md +326 -105
  30. data/docs/CardStatus.md +10 -9
  31. data/docs/ChargeRequest.md +36 -31
  32. data/docs/CheckBatchStatus.md +20 -0
  33. data/docs/CheckBatchStatusResponse.md +18 -0
  34. data/docs/ContactDetails.md +32 -31
  35. data/docs/Decision.md +12 -11
  36. data/docs/DirectPostApi.md +365 -0
  37. data/docs/DirectPostRequest.md +58 -0
  38. data/docs/DirectTokenAuthRequest.md +24 -0
  39. data/docs/DomainKeyCheckRequest.md +18 -0
  40. data/docs/DomainKeyRequest.md +22 -0
  41. data/docs/DomainKeyResponse.md +26 -0
  42. data/docs/Error.md +16 -13
  43. data/docs/EventDataModel.md +26 -0
  44. data/docs/Exists.md +22 -0
  45. data/docs/ExternalMPI.md +16 -15
  46. data/docs/ListMerchantsResponse.md +12 -11
  47. data/docs/MCC6012.md +14 -13
  48. data/docs/Merchant.md +16 -15
  49. data/docs/OperationalApi.md +124 -22
  50. data/docs/OperationalFunctionsApi.md +355 -0
  51. data/docs/PaResAuthRequest.md +10 -9
  52. data/docs/PaylinkAddress.md +30 -0
  53. data/docs/PaylinkAdjustmentRequest.md +22 -0
  54. data/docs/PaylinkApi.md +630 -0
  55. data/docs/PaylinkAttachmentRequest.md +26 -0
  56. data/docs/PaylinkAttachmentResult.md +22 -0
  57. data/docs/PaylinkBillPaymentTokenRequest.md +32 -0
  58. data/docs/PaylinkCardHolder.md +36 -0
  59. data/docs/PaylinkCart.md +30 -0
  60. data/docs/PaylinkCartItemModel.md +32 -0
  61. data/docs/PaylinkConfig.md +60 -0
  62. data/docs/PaylinkCustomParam.md +36 -0
  63. data/docs/PaylinkEmailNotificationPath.md +26 -0
  64. data/docs/PaylinkErrorCode.md +20 -0
  65. data/docs/PaylinkFieldGuardModel.md +30 -0
  66. data/docs/PaylinkPartPayments.md +28 -0
  67. data/docs/PaylinkSMSNotificationPath.md +20 -0
  68. data/docs/PaylinkStateEvent.md +22 -0
  69. data/docs/PaylinkTokenCreated.md +44 -0
  70. data/docs/PaylinkTokenRequestModel.md +38 -0
  71. data/docs/PaylinkTokenStatus.md +72 -0
  72. data/docs/PaylinkTokenStatusChangeRequest.md +26 -0
  73. data/docs/PaylinkTokenStatusChangeResponse.md +20 -0
  74. data/docs/PaylinkUI.md +24 -0
  75. data/docs/PaymentProcessingApi.md +307 -68
  76. data/docs/Ping.md +8 -7
  77. data/docs/ProcessBatchRequest.md +24 -0
  78. data/docs/ProcessBatchResponse.md +20 -0
  79. data/docs/RefundRequest.md +26 -0
  80. data/docs/RegisterCard.md +16 -13
  81. data/docs/RequestChallenged.md +16 -15
  82. data/docs/RetrieveRequest.md +12 -11
  83. data/docs/ThreeDSecure.md +32 -15
  84. data/docs/TokenisationResponseModel.md +36 -0
  85. data/docs/VoidRequest.md +12 -13
  86. data/lib/.DS_Store +0 -0
  87. data/lib/citypay_api_client/api/authorisation_and_payment_api__.rb +565 -0
  88. data/lib/citypay_api_client/api/batch_processing_api__.rb +225 -0
  89. data/lib/citypay_api_client/api/{card_holder_account_api.rb → card_holder_account_api__.rb} +136 -46
  90. data/lib/citypay_api_client/api/direct_post_api__.rb +373 -0
  91. data/lib/citypay_api_client/api/operational_functions_api__.rb +356 -0
  92. data/lib/citypay_api_client/api/paylink_api__.rb +614 -0
  93. data/lib/citypay_api_client/api_client.rb +59 -59
  94. data/lib/citypay_api_client/api_error.rb +2 -2
  95. data/lib/citypay_api_client/configuration.rb +53 -15
  96. data/lib/citypay_api_client/models/account_create.rb +21 -8
  97. data/lib/citypay_api_client/models/account_status.rb +21 -8
  98. data/lib/citypay_api_client/models/acknowledgement.rb +21 -8
  99. data/lib/citypay_api_client/models/acl_check_request.rb +224 -0
  100. data/lib/citypay_api_client/models/acl_check_response_model.rb +249 -0
  101. data/lib/citypay_api_client/models/airline_advice.rb +23 -10
  102. data/lib/citypay_api_client/models/airline_segment.rb +21 -8
  103. data/lib/citypay_api_client/models/api_key.rb +16 -0
  104. data/lib/citypay_api_client/models/auth_reference.rb +45 -11
  105. data/lib/citypay_api_client/models/auth_references.rb +21 -8
  106. data/lib/citypay_api_client/models/auth_request.rb +79 -33
  107. data/lib/citypay_api_client/models/auth_response.rb +43 -106
  108. data/lib/citypay_api_client/models/authen_required.rb +21 -8
  109. data/lib/citypay_api_client/models/batch.rb +264 -0
  110. data/lib/citypay_api_client/models/batch_report_request.rb +277 -0
  111. data/lib/citypay_api_client/models/batch_report_response_model.rb +357 -0
  112. data/lib/citypay_api_client/models/batch_transaction.rb +321 -0
  113. data/lib/citypay_api_client/models/batch_transaction_result_model.rb +421 -0
  114. data/lib/citypay_api_client/models/bin.rb +299 -0
  115. data/lib/citypay_api_client/models/bin_lookup.rb +234 -0
  116. data/lib/citypay_api_client/models/c_res_auth_request.rb +21 -8
  117. data/lib/citypay_api_client/models/capture_request.rb +38 -20
  118. data/lib/citypay_api_client/models/card.rb +67 -10
  119. data/lib/citypay_api_client/models/card_holder_account.rb +35 -12
  120. data/lib/citypay_api_client/models/card_status.rb +21 -8
  121. data/lib/citypay_api_client/models/charge_request.rb +96 -24
  122. data/lib/citypay_api_client/models/check_batch_status.rb +259 -0
  123. data/lib/citypay_api_client/models/check_batch_status_response.rb +220 -0
  124. data/lib/citypay_api_client/models/contact_details.rb +87 -44
  125. data/lib/citypay_api_client/models/decision.rb +21 -8
  126. data/lib/citypay_api_client/models/direct_post_request.rb +670 -0
  127. data/lib/citypay_api_client/models/direct_token_auth_request.rb +249 -0
  128. data/lib/citypay_api_client/models/domain_key_check_request.rb +252 -0
  129. data/lib/citypay_api_client/models/domain_key_request.rb +250 -0
  130. data/lib/citypay_api_client/models/domain_key_response.rb +294 -0
  131. data/lib/citypay_api_client/models/error.rb +35 -12
  132. data/lib/citypay_api_client/models/event_data_model.rb +259 -0
  133. data/lib/citypay_api_client/models/exists.rb +244 -0
  134. data/lib/citypay_api_client/models/external_mpi.rb +27 -8
  135. data/lib/citypay_api_client/models/list_merchants_response.rb +21 -8
  136. data/lib/citypay_api_client/models/mcc6012.rb +21 -8
  137. data/lib/citypay_api_client/models/merchant.rb +21 -8
  138. data/lib/citypay_api_client/models/pa_res_auth_request.rb +22 -9
  139. data/lib/citypay_api_client/models/paylink_address.rb +402 -0
  140. data/lib/citypay_api_client/models/paylink_adjustment_request.rb +269 -0
  141. data/lib/citypay_api_client/models/paylink_attachment_request.rb +269 -0
  142. data/lib/citypay_api_client/models/paylink_attachment_result.rb +249 -0
  143. data/lib/citypay_api_client/models/paylink_bill_payment_token_request.rb +292 -0
  144. data/lib/citypay_api_client/models/paylink_card_holder.rb +353 -0
  145. data/lib/citypay_api_client/models/paylink_cart.rb +280 -0
  146. data/lib/citypay_api_client/models/paylink_cart_item_model.rb +289 -0
  147. data/lib/citypay_api_client/models/paylink_config.rb +433 -0
  148. data/lib/citypay_api_client/models/paylink_custom_param.rb +314 -0
  149. data/lib/citypay_api_client/models/paylink_email_notification_path.rb +268 -0
  150. data/lib/citypay_api_client/models/paylink_error_code.rb +239 -0
  151. data/lib/citypay_api_client/models/paylink_field_guard_model.rb +279 -0
  152. data/lib/citypay_api_client/models/paylink_part_payments.rb +269 -0
  153. data/lib/citypay_api_client/models/paylink_sms_notification_path.rb +234 -0
  154. data/lib/citypay_api_client/models/paylink_state_event.rb +239 -0
  155. data/lib/citypay_api_client/models/paylink_token_created.rb +364 -0
  156. data/lib/citypay_api_client/models/paylink_token_request_model.rb +374 -0
  157. data/lib/citypay_api_client/models/paylink_token_status.rb +490 -0
  158. data/lib/citypay_api_client/models/paylink_token_status_change_request.rb +270 -0
  159. data/lib/citypay_api_client/models/paylink_token_status_change_response.rb +235 -0
  160. data/lib/citypay_api_client/models/paylink_ui.rb +249 -0
  161. data/lib/citypay_api_client/models/ping.rb +21 -8
  162. data/lib/citypay_api_client/models/process_batch_request.rb +308 -0
  163. data/lib/citypay_api_client/models/process_batch_response.rb +234 -0
  164. data/lib/citypay_api_client/models/refund_request.rb +332 -0
  165. data/lib/citypay_api_client/models/register_card.rb +59 -12
  166. data/lib/citypay_api_client/models/request_challenged.rb +29 -16
  167. data/lib/citypay_api_client/models/retrieve_request.rb +21 -8
  168. data/lib/citypay_api_client/models/three_d_secure.rb +106 -13
  169. data/lib/citypay_api_client/models/tokenisation_response_model.rb +333 -0
  170. data/lib/citypay_api_client/models/void_request.rb +22 -19
  171. data/lib/citypay_api_client/utils/digest_utils.rb +18 -0
  172. data/lib/citypay_api_client/utils/direct_post_mac.rb +22 -0
  173. data/lib/citypay_api_client/version.rb +3 -3
  174. data/lib/citypay_api_client.rb +53 -6
  175. data/spec/.DS_Store +0 -0
  176. data/spec/api/authorisation_and_payment_api___spec.rb +130 -0
  177. data/spec/api/batch_processing_api___spec.rb +70 -0
  178. data/spec/api/{card_holder_account_api_spec.rb → card_holder_account_api___spec.rb} +15 -3
  179. data/spec/api/direct_post_api___spec.rb +98 -0
  180. data/spec/api/operational_functions_api___spec.rb +94 -0
  181. data/spec/api/paylink_api___spec.rb +131 -0
  182. data/spec/api_client_spec.rb +4 -4
  183. data/spec/configuration_spec.rb +5 -5
  184. data/spec/it_api_sandbox_spec.rb +222 -0
  185. data/spec/models/acknowledgement_spec.rb +6 -8
  186. data/spec/models/acl_check_request_spec.rb +33 -0
  187. data/spec/models/acl_check_response_model_spec.rb +51 -0
  188. data/spec/models/auth_references_spec.rb +7 -8
  189. data/spec/models/auth_response_spec.rb +29 -30
  190. data/spec/models/batch_report_request_spec.rb +39 -0
  191. data/spec/models/batch_report_response_model_spec.rb +63 -0
  192. data/spec/models/batch_spec.rb +45 -0
  193. data/spec/models/batch_transaction_result_model_spec.rb +87 -0
  194. data/spec/models/batch_transaction_spec.rb +51 -0
  195. data/spec/models/bin_lookup_spec.rb +33 -0
  196. data/spec/models/bin_spec.rb +81 -0
  197. data/spec/models/card_holder_account_spec.rb +8 -5
  198. data/spec/models/check_batch_status_response_spec.rb +45 -0
  199. data/spec/models/check_batch_status_spec.rb +39 -0
  200. data/spec/models/decision_spec.rb +1 -1
  201. data/spec/models/direct_post_request_spec.rb +153 -0
  202. data/spec/models/direct_token_auth_request_spec.rb +51 -0
  203. data/spec/models/domain_key_check_request_spec.rb +33 -0
  204. data/spec/models/domain_key_request_spec.rb +45 -0
  205. data/spec/models/domain_key_response_spec.rb +57 -0
  206. data/spec/models/event_data_model_spec.rb +57 -0
  207. data/spec/{api/operational_api_spec.rb → models/exists_spec.rb} +14 -20
  208. data/spec/models/list_merchants_response_spec.rb +2 -2
  209. data/spec/models/paylink_address_spec.rb +69 -0
  210. data/spec/models/paylink_adjustment_request_spec.rb +45 -0
  211. data/spec/models/paylink_attachment_request_spec.rb +45 -0
  212. data/spec/models/paylink_attachment_result_spec.rb +45 -0
  213. data/spec/models/paylink_bill_payment_token_request_spec.rb +63 -0
  214. data/spec/models/paylink_card_holder_spec.rb +87 -0
  215. data/spec/models/paylink_cart_item_model_spec.rb +75 -0
  216. data/spec/models/paylink_cart_spec.rb +69 -0
  217. data/spec/models/paylink_config_spec.rb +159 -0
  218. data/spec/models/paylink_custom_param_spec.rb +87 -0
  219. data/spec/models/paylink_email_notification_path_spec.rb +57 -0
  220. data/spec/models/paylink_error_code_spec.rb +39 -0
  221. data/spec/models/paylink_field_guard_model_spec.rb +45 -0
  222. data/spec/models/paylink_part_payments_spec.rb +63 -0
  223. data/spec/models/paylink_sms_notification_path_spec.rb +39 -0
  224. data/spec/models/paylink_state_event_spec.rb +45 -0
  225. data/spec/models/paylink_token_created_spec.rb +111 -0
  226. data/spec/models/paylink_token_request_model_spec.rb +93 -0
  227. data/spec/models/paylink_token_status_change_request_spec.rb +57 -0
  228. data/spec/models/paylink_token_status_change_response_spec.rb +39 -0
  229. data/spec/models/paylink_token_status_spec.rb +195 -0
  230. data/spec/models/paylink_ui_spec.rb +51 -0
  231. data/spec/models/process_batch_request_spec.rb +51 -0
  232. data/spec/models/process_batch_response_spec.rb +39 -0
  233. data/spec/models/refund_request_spec.rb +64 -0
  234. data/spec/models/tokenisation_response_model_spec.rb +87 -0
  235. data/spec/spec_helper.rb +2 -2
  236. data/spec/utils/direct_post_mac_spec.rb +13 -0
  237. metadata +212 -37
  238. data/Gemfile.lock +0 -70
  239. data/git_push.sh +0 -58
  240. data/lib/citypay_api_client/api/operational_api.rb +0 -147
  241. data/lib/citypay_api_client/api/payment_processing_api.rb +0 -405
  242. data/lib/citypay_api_client/test.rb +0 -20
  243. data/spec/api/payment_processing_api_spec.rb +0 -106
@@ -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 <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.
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: 5.0.0-SNAPSHOT
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 eq('application/json')
200
- expect(api_client.select_header_content_type([])).to eq('application/json')
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')
@@ -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 <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.
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: 5.0.0-SNAPSHOT
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/v6")
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/v6")
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/v6")
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
- "Acknowledgement": {
25
- "code": "000",
26
- "context": "1B12WmDZB3EYSbb",
27
- "identifier": "testIdentifier",
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
- data = JSON.parse(json, :symbolize_names => true)
33
- @instance = CityPayApiClient::ApiClient.new.convert_to_type(data, "Acknowledgement")
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": "0.12",
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("0.12")
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(DateTime.parse("2020-07-21T15:55:04Z"))
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
- "AuthResponse": {
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
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(DateTime.parse("2020-08-12T07:59:11Z"))
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