adyen-ruby-api-library 6.0.0 → 10.1.2
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/.github/CODEOWNERS +1 -1
- data/.github/release.yml +18 -0
- data/.github/workflows/codeql.yml +37 -0
- data/.github/workflows/label_new_issues.yml +15 -0
- data/.github/workflows/release.yml +40 -0
- data/.github/workflows/ruby.yml +2 -2
- data/.github/workflows/rubygems_release.yml +18 -0
- data/.github/workflows/stale.yml +26 -0
- data/.gitignore +3 -0
- data/.rubocop.yml +8 -0
- data/CONTRIBUTING.md +1 -1
- data/Gemfile +7 -7
- data/Makefile +79 -0
- data/README.md +158 -20
- data/Rakefile +3 -3
- data/VERSION +2 -0
- data/adyen-ruby-api-library.gemspec +6 -3
- data/bin/console +2 -2
- data/lib/adyen/client.rb +213 -99
- data/lib/adyen/errors.rb +30 -22
- data/lib/adyen/hash_with_accessors.rb +12 -7
- data/lib/adyen/services/balanceControlService.rb +27 -0
- data/lib/adyen/services/balancePlatform/account_holders_api.rb +76 -0
- data/lib/adyen/services/balancePlatform/balance_accounts_api.rb +116 -0
- data/lib/adyen/services/balancePlatform/bank_account_validation_api.rb +26 -0
- data/lib/adyen/services/balancePlatform/card_orders_api.rb +36 -0
- data/lib/adyen/services/balancePlatform/grant_accounts_api.rb +26 -0
- data/lib/adyen/services/balancePlatform/grant_offers_api.rb +36 -0
- data/lib/adyen/services/balancePlatform/manage_card_pin_api.rb +46 -0
- data/lib/adyen/services/balancePlatform/manage_sca_devices_api.rb +56 -0
- data/lib/adyen/services/balancePlatform/network_tokens_api.rb +36 -0
- data/lib/adyen/services/balancePlatform/payment_instrument_groups_api.rb +46 -0
- data/lib/adyen/services/balancePlatform/payment_instruments_api.rb +86 -0
- data/lib/adyen/services/balancePlatform/platform_api.rb +46 -0
- data/lib/adyen/services/balancePlatform/transaction_rules_api.rb +56 -0
- data/lib/adyen/services/balancePlatform/transfer_routes_api.rb +26 -0
- data/lib/adyen/services/balancePlatform.rb +89 -0
- data/lib/adyen/services/binLookup.rb +37 -0
- data/lib/adyen/services/checkout/donations_api.rb +36 -0
- data/lib/adyen/services/checkout/modifications_api.rb +76 -0
- data/lib/adyen/services/checkout/orders_api.rb +46 -0
- data/lib/adyen/services/checkout/payment_links_api.rb +46 -0
- data/lib/adyen/services/checkout/payments_api.rb +76 -0
- data/lib/adyen/services/checkout/recurring_api.rb +46 -0
- data/lib/adyen/services/checkout/utility_api.rb +48 -0
- data/lib/adyen/services/checkout.rb +29 -108
- data/lib/adyen/services/dataProtection.rb +27 -0
- data/lib/adyen/services/disputes.rb +67 -0
- data/lib/adyen/services/legalEntityManagement/business_lines_api.rb +56 -0
- data/lib/adyen/services/legalEntityManagement/documents_api.rb +56 -0
- data/lib/adyen/services/legalEntityManagement/hosted_onboarding_api.rb +46 -0
- data/lib/adyen/services/legalEntityManagement/legal_entities_api.rb +76 -0
- data/lib/adyen/services/legalEntityManagement/pci_questionnaires_api.rb +66 -0
- data/lib/adyen/services/legalEntityManagement/tax_e_delivery_consent_api.rb +36 -0
- data/lib/adyen/services/legalEntityManagement/terms_of_service_api.rb +66 -0
- data/lib/adyen/services/legalEntityManagement/transfer_instruments_api.rb +56 -0
- data/lib/adyen/services/legalEntityManagement.rb +59 -0
- data/lib/adyen/services/management/account_company_level_api.rb +46 -0
- data/lib/adyen/services/management/account_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/account_store_level_api.rb +96 -0
- data/lib/adyen/services/management/allowed_origins_company_level_api.rb +56 -0
- data/lib/adyen/services/management/allowed_origins_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/android_files_company_level_api.rb +76 -0
- data/lib/adyen/services/management/api_credentials_company_level_api.rb +56 -0
- data/lib/adyen/services/management/api_credentials_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/api_key_company_level_api.rb +26 -0
- data/lib/adyen/services/management/api_key_merchant_level_api.rb +26 -0
- data/lib/adyen/services/management/client_key_company_level_api.rb +26 -0
- data/lib/adyen/services/management/client_key_merchant_level_api.rb +26 -0
- data/lib/adyen/services/management/my_api_credential_api.rb +76 -0
- data/lib/adyen/services/management/payment_methods_merchant_level_api.rb +76 -0
- data/lib/adyen/services/management/payout_settings_merchant_level_api.rb +66 -0
- data/lib/adyen/services/management/split_configuration_merchant_level_api.rb +106 -0
- data/lib/adyen/services/management/terminal_actions_company_level_api.rb +36 -0
- data/lib/adyen/services/management/terminal_actions_terminal_level_api.rb +26 -0
- data/lib/adyen/services/management/terminal_orders_company_level_api.rb +116 -0
- data/lib/adyen/services/management/terminal_orders_merchant_level_api.rb +116 -0
- data/lib/adyen/services/management/terminal_settings_company_level_api.rb +56 -0
- data/lib/adyen/services/management/terminal_settings_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/terminal_settings_store_level_api.rb +96 -0
- data/lib/adyen/services/management/terminal_settings_terminal_level_api.rb +56 -0
- data/lib/adyen/services/management/terminals_terminal_level_api.rb +36 -0
- data/lib/adyen/services/management/users_company_level_api.rb +56 -0
- data/lib/adyen/services/management/users_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/webhooks_company_level_api.rb +86 -0
- data/lib/adyen/services/management/webhooks_merchant_level_api.rb +86 -0
- data/lib/adyen/services/management.rb +164 -0
- data/lib/adyen/services/marketpay.rb +42 -36
- data/lib/adyen/services/payment.rb +149 -0
- data/lib/adyen/services/paymentsApp.rb +67 -0
- data/lib/adyen/services/payout/initialization_api.rb +46 -0
- data/lib/adyen/services/payout/instant_payouts_api.rb +26 -0
- data/lib/adyen/services/payout/reviewing_api.rb +36 -0
- data/lib/adyen/services/payout.rb +34 -0
- data/lib/adyen/services/posMobile.rb +27 -0
- data/lib/adyen/services/posTerminalManagement.rb +82 -0
- data/lib/adyen/services/recurring.rb +70 -13
- data/lib/adyen/services/service.rb +8 -2
- data/lib/adyen/services/storedValue.rb +77 -0
- data/lib/adyen/services/terminalCloudAPI.rb +38 -0
- data/lib/adyen/services/transfers/capital_api.rb +55 -0
- data/lib/adyen/services/transfers/transactions_api.rb +36 -0
- data/lib/adyen/services/transfers/transfers_api.rb +76 -0
- data/lib/adyen/services/transfers.rb +34 -0
- data/lib/adyen/utils/hmac_validator.rb +52 -22
- data/lib/adyen/version.rb +2 -2
- data/lib/adyen-ruby-api-library.rb +23 -15
- data/renovate.json +3 -3
- data/spec/account_spec.rb +20 -20
- data/spec/balance_control_spec.rb +43 -0
- data/spec/balance_platform_spec.rb +129 -0
- data/spec/bin_lookup_spec.rb +69 -11
- data/spec/checkout-oauth_spec.rb +588 -0
- data/spec/checkout_spec.rb +591 -314
- data/spec/client_spec.rb +240 -45
- data/spec/data_protection_spec.rb +4 -4
- data/spec/disputes_spec.rb +45 -0
- data/spec/errors_spec.rb +44 -15
- data/spec/fund_spec.rb +10 -10
- data/spec/hash_with_accessors_spec.rb +18 -8
- data/spec/hop_spec.rb +4 -4
- data/spec/lem_spec.rb +63 -0
- data/spec/management-oauth_spec.rb +62 -0
- data/spec/management_spec.rb +66 -0
- data/spec/mocks/requests/BalanceControl/balance_transfer.json +10 -0
- data/spec/mocks/requests/BalancePlatform/create_account_holder.json +5 -0
- data/spec/mocks/requests/BalancePlatform/update_account_holder.json +10 -0
- data/spec/mocks/requests/Checkout/amount_updates.json +22 -0
- data/spec/mocks/requests/Checkout/apple_pay_sessions.json +5 -0
- data/spec/mocks/requests/Checkout/capture.json +34 -0
- data/spec/mocks/requests/Checkout/generic_cancel.json +5 -0
- data/spec/mocks/requests/Checkout/modifications_request.json +0 -0
- data/spec/mocks/requests/Checkout/psp_cancel.json +4 -0
- data/spec/mocks/requests/Checkout/refund.json +34 -0
- data/spec/mocks/requests/DisputesService/retrieve_applicable_defense_reasons.json +4 -0
- data/spec/mocks/requests/LegalEntityManagement/create_business_line.json +15 -0
- data/spec/mocks/requests/Management/create_store.json +15 -0
- data/spec/mocks/requests/Recurring/create_permit.json +6 -0
- data/spec/mocks/requests/StoredValue/issue_giftcard.json +12 -0
- data/spec/mocks/requests/TerminalCloudAPI/connected_terminals.json +3 -0
- data/spec/mocks/requests/TerminalCloudAPI/sync_payment.json +29 -0
- data/spec/mocks/requests/Transfers/get_transactions.json +82 -0
- data/spec/mocks/requests/Transfers/make_transfer.json +32 -0
- data/spec/mocks/responses/BalanceControl/balance_transfer.json +14 -0
- data/spec/mocks/responses/BalancePlatform/create_account_holder.json +41 -0
- data/spec/mocks/responses/BalancePlatform/get_balance_account.json +15 -0
- data/spec/mocks/responses/BalancePlatform/update_account_holder.json +16 -0
- data/spec/mocks/responses/Checkout/amount_updates.json +24 -0
- data/spec/mocks/responses/Checkout/apple_pay_sessions.json +3 -0
- data/spec/mocks/responses/Checkout/capture.json +37 -0
- data/spec/mocks/responses/Checkout/generic_cancel.json +7 -0
- data/spec/mocks/responses/Checkout/modifications.json +0 -0
- data/spec/mocks/responses/Checkout/psp_cancel.json +7 -0
- data/spec/mocks/responses/Checkout/refund.json +37 -0
- data/spec/mocks/responses/Checkout/stored_payment_methods.json +1 -0
- data/spec/mocks/responses/DisputesService/retrieve_applicable_defense_reasons.json +71 -0
- data/spec/mocks/responses/LegalEntityManagement/create_business_line.json +17 -0
- data/spec/mocks/responses/Management/create_store.json +23 -0
- data/spec/mocks/responses/Management/get_companies.json +42 -0
- data/spec/mocks/responses/Recurring/create_permit.json +4 -0
- data/spec/mocks/responses/StoredValue/issue_giftcard.json +13 -0
- data/spec/mocks/responses/TerminalCloudAPI/connected_terminals.json +5 -0
- data/spec/mocks/responses/TerminalCloudAPI/sync_payment.json +18 -0
- data/spec/mocks/responses/Transfers/get_transactions.json +82 -0
- data/spec/mocks/responses/Transfers/make_transfer.json +36 -0
- data/spec/mocks/responses/Webhooks/backslash_webhook.json +41 -0
- data/spec/mocks/responses/Webhooks/colon_webhook.json +41 -0
- data/spec/mocks/responses/Webhooks/forwardslash_webhook.json +41 -0
- data/spec/mocks/responses/Webhooks/mixed_webhook.json +41 -0
- data/spec/notification_spec.rb +9 -9
- data/spec/payments_spec.rb +39 -22
- data/spec/payouts_spec.rb +39 -15
- data/spec/pos_terminal_management_spec.rb +44 -0
- data/spec/recurring_spec.rb +8 -8
- data/spec/service_spec.rb +4 -0
- data/spec/spec_helper.rb +42 -46
- data/spec/stored_value_spec.rb +44 -0
- data/spec/terminal_cloud_api_spec.rb +91 -0
- data/spec/transfers_spec.rb +64 -0
- data/spec/utils/hmac_validator_spec.rb +53 -23
- data/templates/api-single.mustache +32 -0
- data/templates/api-small.mustache +39 -0
- data/templates/api.mustache +38 -0
- data/templates/config.yaml +10 -0
- metadata +160 -47
- data/.github/dependabot.yml +0 -8
- data/docs/checkout.html +0 -128
- data/docs/index.html +0 -50
- data/docs/install-library.html +0 -61
- data/docs/javascripts/prism.js +0 -5
- data/docs/javascripts/scale.fix.js +0 -17
- data/docs/marketpay.html +0 -171
- data/docs/params.json +0 -1
- data/docs/payment.html +0 -106
- data/docs/payout.html +0 -135
- data/docs/recurring.html +0 -113
- data/docs/stylesheets/github-light.css +0 -115
- data/docs/stylesheets/prism.css +0 -140
- data/docs/stylesheets/styles.css +0 -324
- data/docs/using-library.html +0 -67
- data/lib/adyen/services/bin_lookup.rb +0 -18
- data/lib/adyen/services/data_protection.rb +0 -17
- data/lib/adyen/services/dispute.rb +0 -20
- data/lib/adyen/services/payments.rb +0 -34
- data/lib/adyen/services/payouts.rb +0 -22
- data/lib/adyen/services/postfmapi.rb +0 -19
- data/spec/dispute_spec.rb +0 -17
- data/spec/mocks/requests/DisputeService/defend_dispute.json +0 -5
- data/spec/mocks/requests/DisputeService/delete_dispute_defense_document.json +0 -5
- data/spec/mocks/requests/DisputeService/retrieve_applicable_defense_reasons.json +0 -4
- data/spec/mocks/requests/DisputeService/supply_defense_document.json +0 -11
- data/spec/mocks/requests/Recurring/store_token.json +0 -15
- data/spec/mocks/responses/DisputeService/defend_dispute.json +0 -5
- data/spec/mocks/responses/DisputeService/delete_dispute_defense_document.json +0 -5
- data/spec/mocks/responses/DisputeService/retrieve_applicable_defense_reasons.json +0 -28
- data/spec/mocks/responses/DisputeService/supply_defense_document.json +0 -5
- data/spec/mocks/responses/Recurring/store_token.json +0 -7
- data/spec/postfmapi_spec.rb +0 -16
@@ -0,0 +1,37 @@
|
|
1
|
+
{
|
2
|
+
"amount": {
|
3
|
+
"currency": "str",
|
4
|
+
"value": 0
|
5
|
+
},
|
6
|
+
"lineItems": [
|
7
|
+
{
|
8
|
+
"amountExcludingTax": 0,
|
9
|
+
"amountIncludingTax": 0,
|
10
|
+
"description": "string",
|
11
|
+
"id": "string",
|
12
|
+
"imageUrl": "string",
|
13
|
+
"itemCategory": "string",
|
14
|
+
"productUrl": "string",
|
15
|
+
"quantity": 0,
|
16
|
+
"taxAmount": 0,
|
17
|
+
"taxPercentage": 0
|
18
|
+
}
|
19
|
+
],
|
20
|
+
"merchantAccount": "TestMerchant",
|
21
|
+
"paymentPspReference": "123456789",
|
22
|
+
"pspReference": "12345",
|
23
|
+
"reference": "123456789",
|
24
|
+
"splits": [
|
25
|
+
{
|
26
|
+
"account": "string",
|
27
|
+
"amount": {
|
28
|
+
"currency": "str",
|
29
|
+
"value": 0
|
30
|
+
},
|
31
|
+
"description": "string",
|
32
|
+
"reference": "string",
|
33
|
+
"type": "BalanceAccount"
|
34
|
+
}
|
35
|
+
],
|
36
|
+
"status": "received"
|
37
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"merchantAccount":"TestMerchantAccount", "shopperReference":"test-1234"}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
{
|
2
|
+
"defenseReasons": [
|
3
|
+
{
|
4
|
+
"defenseDocumentTypes": [
|
5
|
+
{
|
6
|
+
"available": false,
|
7
|
+
"defenseDocumentTypeCode": "TIDorInvoice",
|
8
|
+
"requirementLevel": "Optional"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"available": false,
|
12
|
+
"defenseDocumentTypeCode": "GoodsNotReturned",
|
13
|
+
"requirementLevel": "Required"
|
14
|
+
}
|
15
|
+
],
|
16
|
+
"defenseReasonCode": "GoodsNotReturned",
|
17
|
+
"satisfied": false
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"defenseDocumentTypes": [
|
21
|
+
{
|
22
|
+
"available": false,
|
23
|
+
"defenseDocumentTypeCode": "TIDorInvoice",
|
24
|
+
"requirementLevel": "Optional"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"available": false,
|
28
|
+
"defenseDocumentTypeCode": "GoodsRepairedOrReplaced",
|
29
|
+
"requirementLevel": "Required"
|
30
|
+
}
|
31
|
+
],
|
32
|
+
"defenseReasonCode": "GoodsRepairedOrReplaced",
|
33
|
+
"satisfied": false
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"defenseDocumentTypes": [
|
37
|
+
{
|
38
|
+
"available": false,
|
39
|
+
"defenseDocumentTypeCode": "GoodsWereAsDescribed",
|
40
|
+
"requirementLevel": "Required"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"available": false,
|
44
|
+
"defenseDocumentTypeCode": "TIDorInvoice",
|
45
|
+
"requirementLevel": "Required"
|
46
|
+
}
|
47
|
+
],
|
48
|
+
"defenseReasonCode": "GoodsWereAsDescribed",
|
49
|
+
"satisfied": false
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"defenseDocumentTypes": [
|
53
|
+
{
|
54
|
+
"available": false,
|
55
|
+
"defenseDocumentTypeCode": "TIDorInvoice",
|
56
|
+
"requirementLevel": "Optional"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"available": false,
|
60
|
+
"defenseDocumentTypeCode": "DefenseMaterial",
|
61
|
+
"requirementLevel": "Required"
|
62
|
+
}
|
63
|
+
],
|
64
|
+
"defenseReasonCode": "SupplyDefenseMaterial",
|
65
|
+
"satisfied": false
|
66
|
+
}
|
67
|
+
],
|
68
|
+
"disputeServiceResult": {
|
69
|
+
"success": true
|
70
|
+
}
|
71
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"industryCode": "4531",
|
3
|
+
"legalEntityId": "YOUR_LEGAL_ENTITY",
|
4
|
+
"service": "banking",
|
5
|
+
"sourceOfFunds": {
|
6
|
+
"adyenProcessedFunds": false,
|
7
|
+
"description": "Funds from my flower shop business",
|
8
|
+
"type": "business"
|
9
|
+
},
|
10
|
+
"webData": [
|
11
|
+
{
|
12
|
+
"webAddress": "https://www.adyen.com",
|
13
|
+
"webAddressId": "SE322KH223222N5HN4HP54PZC"
|
14
|
+
}
|
15
|
+
],
|
16
|
+
"id": "SE322KH223222N5HN4HP54PXD"
|
17
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"id": "YOUR_STORE_ID",
|
3
|
+
"address": {
|
4
|
+
"country": "US",
|
5
|
+
"line1": "200 Main Street",
|
6
|
+
"line2": "Building 5A",
|
7
|
+
"line3": "Suite 3",
|
8
|
+
"city": "Springfield",
|
9
|
+
"stateOrProvince": "NY",
|
10
|
+
"postalCode": "20250"
|
11
|
+
},
|
12
|
+
"description": "City centre store",
|
13
|
+
"merchantId": "YOUR_MERCHANT_ACCOUNT_ID",
|
14
|
+
"shopperStatement": "Springfield Shop",
|
15
|
+
"phoneNumber": "1813702551707653",
|
16
|
+
"reference": "Spring_store_2",
|
17
|
+
"status": "active",
|
18
|
+
"_links": {
|
19
|
+
"self": {
|
20
|
+
"href": "https://management-test.adyen.com/v1/stores/YOUR_STORE_ID"
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
{
|
2
|
+
"_links": {
|
3
|
+
"first": {
|
4
|
+
"href": "https://management-test.adyen.com/v1/companies?pageNumber=1&pageSize=10"
|
5
|
+
},
|
6
|
+
"last": {
|
7
|
+
"href": "https://management-test.adyen.com/v1/companies?pageNumber=1&pageSize=10"
|
8
|
+
},
|
9
|
+
"self": {
|
10
|
+
"href": "https://management-test.adyen.com/v1/companies?pageNumber=1&pageSize=10"
|
11
|
+
}
|
12
|
+
},
|
13
|
+
"itemsTotal": 1,
|
14
|
+
"pagesTotal": 1,
|
15
|
+
"data": [
|
16
|
+
{
|
17
|
+
"id": "YOUR_COMPANY_ACCOUNT",
|
18
|
+
"name": "YOUR_COMPANY_NAME",
|
19
|
+
"status": "Active",
|
20
|
+
"dataCenters": [
|
21
|
+
{
|
22
|
+
"name": "default",
|
23
|
+
"livePrefix": ""
|
24
|
+
}
|
25
|
+
],
|
26
|
+
"_links": {
|
27
|
+
"self": {
|
28
|
+
"href": "https://management-test.adyen.com/v1/companies/YOUR_COMPANY_ACCOUNT"
|
29
|
+
},
|
30
|
+
"apiCredentials": {
|
31
|
+
"href": "https://management-test.adyen.com/v1/companies/YOUR_COMPANY_ACCOUNT/apiCredentials"
|
32
|
+
},
|
33
|
+
"users": {
|
34
|
+
"href": "https://management-test.adyen.com/v1/companies/YOUR_COMPANY_ACCOUNT/users"
|
35
|
+
},
|
36
|
+
"webhooks": {
|
37
|
+
"href": "https://management-test.adyen.com/v1/companies/YOUR_COMPANY_ACCOUNT/webhooks"
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
]
|
42
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{
|
2
|
+
"SaleToPOIResponse":{
|
3
|
+
"MessageHeader":{},
|
4
|
+
"PaymentResponse":{
|
5
|
+
"POIData":{
|
6
|
+
"POITransactionID":{
|
7
|
+
"TransactionID": "oLkO0012498220087000.KHQC5N7G84BLNK43"
|
8
|
+
}
|
9
|
+
},
|
10
|
+
"Response":{
|
11
|
+
"Result":"Success",
|
12
|
+
"AdditionalResponse":"...shopperEmail=shoppersemail%40address.com..."
|
13
|
+
}
|
14
|
+
},
|
15
|
+
"PaymentReceipt":{}
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
@@ -0,0 +1,82 @@
|
|
1
|
+
{
|
2
|
+
"data": [
|
3
|
+
{
|
4
|
+
"accountHolderId": "AHA1B2C3D4E5F6G7H8I9J0",
|
5
|
+
"amount": {
|
6
|
+
"currency": "EUR",
|
7
|
+
"value": -9
|
8
|
+
},
|
9
|
+
"balanceAccountId": "BAB8B2C3D4E5F6G7H8D9J6GD4",
|
10
|
+
"balancePlatform": "YOUR_BALANCE_PLATFORM",
|
11
|
+
"bookingDate": "2022-03-11T11:21:24+01:00",
|
12
|
+
"category": "internal",
|
13
|
+
"counterparty": {
|
14
|
+
"balanceAccountId": "BA00000000000000000000001"
|
15
|
+
},
|
16
|
+
"createdAt": "2022-03-11T11:21:24+01:00",
|
17
|
+
"id": "1VVF0D5U66PIUIVP",
|
18
|
+
"instructedAmount": {
|
19
|
+
"currency": "EUR",
|
20
|
+
"value": -9
|
21
|
+
},
|
22
|
+
"reference": "REFERENCE_46e8c40e",
|
23
|
+
"status": "booked",
|
24
|
+
"transferId": "1VVF0D5U66PIUIVP",
|
25
|
+
"type": "fee",
|
26
|
+
"valueDate": "2022-03-11T11:21:24+01:00"
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"accountHolderId": "AHA1B2C3D4E5F6G7H8I9J0",
|
30
|
+
"amount": {
|
31
|
+
"currency": "EUR",
|
32
|
+
"value": -46
|
33
|
+
},
|
34
|
+
"balanceAccountId": "BAB8B2C3D4E5F6G7H8D9J6GD4",
|
35
|
+
"balancePlatform": "YOUR_BALANCE_PLATFORM",
|
36
|
+
"bookingDate": "2022-03-12T14:22:52+01:00",
|
37
|
+
"category": "internal",
|
38
|
+
"counterparty": {
|
39
|
+
"balanceAccountId": "BA00000000000000000000001"
|
40
|
+
},
|
41
|
+
"createdAt": "2022-03-12T14:22:52+01:00",
|
42
|
+
"id": "1WEPGD5U6MS1CFK3",
|
43
|
+
"instructedAmount": {
|
44
|
+
"currency": "EUR",
|
45
|
+
"value": -46
|
46
|
+
},
|
47
|
+
"reference": "YOUR_REFERENCE",
|
48
|
+
"status": "booked",
|
49
|
+
"transferId": "1WEPGD5U6MS1CFK3",
|
50
|
+
"type": "fee",
|
51
|
+
"valueDate": "2022-03-12T14:22:52+01:00"
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"accountHolderId": "AHA1B2C3D4E5F6G7H8I9J0",
|
55
|
+
"amount": {
|
56
|
+
"currency": "EUR",
|
57
|
+
"value": -8
|
58
|
+
},
|
59
|
+
"balanceAccountId": "BAB8B2C3D4E5F6G7H8D9J6GD4",
|
60
|
+
"balancePlatform": "YOUR_BALANCE_PLATFORM",
|
61
|
+
"bookingDate": "2022-03-14T21:00:48+01:00",
|
62
|
+
"createdAt": "2022-03-14T15:00:00+01:00",
|
63
|
+
"description": "YOUR_DESCRIPTION_2",
|
64
|
+
"id": "2QP32A5U7IWC5WKG",
|
65
|
+
"counterparty": {
|
66
|
+
"balanceAccountId": "BA00000000000000000000001"
|
67
|
+
},
|
68
|
+
"reference": "REFERENCE_46e8c40e",
|
69
|
+
"instructedAmount": {
|
70
|
+
"currency": "EUR",
|
71
|
+
"value": -8
|
72
|
+
},
|
73
|
+
"status": "booked",
|
74
|
+
"valueDate": "2022-03-14T21:00:48+01:00"
|
75
|
+
}
|
76
|
+
],
|
77
|
+
"_links": {
|
78
|
+
"next": {
|
79
|
+
"href": "https://balanceplatform-api-test.adyen.com/btl/v2/transactions?balancePlatform=Bastronaut&createdUntil=2022-03-21T00%3A00%3A00Z&createdSince=2022-03-11T00%3A00%3A00Z&limit=3&cursor=S2B-TSAjOkIrYlIlbjdqe0RreHRyM32lKRSxubXBHRkhHL2E32XitQQz5SfzpucD5HbHwpM1p6NDR1eXVQLFF6MmY33J32sobDxQYT90MHIud1hwLnd6JitcX32xJ"
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
{
|
2
|
+
"id": "1W1UG35U8A9J5ZLG",
|
3
|
+
"amount": {
|
4
|
+
"value": 110000,
|
5
|
+
"currency": "EUR"
|
6
|
+
},
|
7
|
+
"balanceAccountId": "BAB8B2C3D4E5F6G7H8D9J6GD4",
|
8
|
+
"category": "bank",
|
9
|
+
"counterparty": {
|
10
|
+
"bankAccount": {
|
11
|
+
"accountHolder": {
|
12
|
+
"fullName": "A. Klaassen",
|
13
|
+
"address": {
|
14
|
+
"city": "San Francisco",
|
15
|
+
"country": "US",
|
16
|
+
"postalCode": "94678",
|
17
|
+
"stateOrProvince": "CA",
|
18
|
+
"street": "Brannan Street",
|
19
|
+
"street2": "274"
|
20
|
+
}
|
21
|
+
},
|
22
|
+
"accountIdentification": {
|
23
|
+
"type": "numberAndBic",
|
24
|
+
"accountNumber": "123456789",
|
25
|
+
"bic": "BOFAUS3NXXX"
|
26
|
+
}
|
27
|
+
},
|
28
|
+
"priority": "crossBorder",
|
29
|
+
"referenceForBeneficiary": "Your-reference-sent-to-the-beneficiary",
|
30
|
+
"reference": "Your internal reference for the transfer",
|
31
|
+
"description": "Your description for the transfer",
|
32
|
+
"direction": "outgoing",
|
33
|
+
"reason": "approved",
|
34
|
+
"status": "authorised"
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{
|
2
|
+
"additionalData": {
|
3
|
+
"acquirerCode": "TestPmmAcquirer",
|
4
|
+
"acquirerReference": "DZMKWLXW6N6",
|
5
|
+
"authCode": "076181",
|
6
|
+
"avsResult": "5 No AVS data provided",
|
7
|
+
"avsResultRaw": "5",
|
8
|
+
"cardSummary": "1111",
|
9
|
+
"checkout.cardAddedBrand": "visa",
|
10
|
+
"cvcResult": "1 Matches",
|
11
|
+
"cvcResultRaw": "M",
|
12
|
+
"expiryDate": "03/2030",
|
13
|
+
"hmacSignature": "nIgT81gaB5oJpn2jPXupDq68iRo2wUlBsuYjtYfwKqo=",
|
14
|
+
"paymentMethod": "visa",
|
15
|
+
"refusalReasonRaw": "AUTHORISED",
|
16
|
+
"retry.attempt1.acquirer": "TestPmmAcquirer",
|
17
|
+
"retry.attempt1.acquirerAccount": "TestPmmAcquirerAccount",
|
18
|
+
"retry.attempt1.avsResultRaw": "5",
|
19
|
+
"retry.attempt1.rawResponse": "AUTHORISED",
|
20
|
+
"retry.attempt1.responseCode": "Approved",
|
21
|
+
"retry.attempt1.scaExemptionRequested": "lowValue",
|
22
|
+
"scaExemptionRequested": "lowValue"
|
23
|
+
},
|
24
|
+
"amount": {
|
25
|
+
"currency": "EUR",
|
26
|
+
"value": 1000
|
27
|
+
},
|
28
|
+
"eventCode": "AUTHORISATION",
|
29
|
+
"eventDate": "2023-01-09T16:27:29+01:00",
|
30
|
+
"merchantAccountCode": "AntoniStroinski",
|
31
|
+
"merchantReference": "\\\\slashes are fun",
|
32
|
+
"operations": [
|
33
|
+
"CANCEL",
|
34
|
+
"CAPTURE",
|
35
|
+
"REFUND"
|
36
|
+
],
|
37
|
+
"paymentMethod": "visa",
|
38
|
+
"pspReference": "T7FD4VM4D3RZNN82",
|
39
|
+
"reason": "076181:1111:03/2030",
|
40
|
+
"success": "true"
|
41
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{
|
2
|
+
"additionalData": {
|
3
|
+
"acquirerCode": "TestPmmAcquirer",
|
4
|
+
"acquirerReference": "8NQH5BNF58M",
|
5
|
+
"authCode": "039404",
|
6
|
+
"avsResult": "5 No AVS data provided",
|
7
|
+
"avsResultRaw": "5",
|
8
|
+
"cardSummary": "1111",
|
9
|
+
"checkout.cardAddedBrand": "visa",
|
10
|
+
"cvcResult": "1 Matches",
|
11
|
+
"cvcResultRaw": "M",
|
12
|
+
"expiryDate": "03/2030",
|
13
|
+
"hmacSignature": "2EQYm7YJpKO4EtHSPu55SQTyWf8dkW5u2nD1tJFpViA=",
|
14
|
+
"paymentMethod": "visa",
|
15
|
+
"refusalReasonRaw": "AUTHORISED",
|
16
|
+
"retry.attempt1.acquirer": "TestPmmAcquirer",
|
17
|
+
"retry.attempt1.acquirerAccount": "TestPmmAcquirerAccount",
|
18
|
+
"retry.attempt1.avsResultRaw": "5",
|
19
|
+
"retry.attempt1.rawResponse": "AUTHORISED",
|
20
|
+
"retry.attempt1.responseCode": "Approved",
|
21
|
+
"retry.attempt1.scaExemptionRequested": "lowValue",
|
22
|
+
"scaExemptionRequested": "lowValue"
|
23
|
+
},
|
24
|
+
"amount": {
|
25
|
+
"currency": "EUR",
|
26
|
+
"value": 1000
|
27
|
+
},
|
28
|
+
"eventCode": "AUTHORISATION",
|
29
|
+
"eventDate": "2023-01-10T13:40:54+01:00",
|
30
|
+
"merchantAccountCode": "AntoniStroinski",
|
31
|
+
"merchantReference": ":slashes are fun",
|
32
|
+
"operations": [
|
33
|
+
"CANCEL",
|
34
|
+
"CAPTURE",
|
35
|
+
"REFUND"
|
36
|
+
],
|
37
|
+
"paymentMethod": "visa",
|
38
|
+
"pspReference": "M8NB66SBZSGLNK82",
|
39
|
+
"reason": "039404:1111:03/2030",
|
40
|
+
"success": "true"
|
41
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{
|
2
|
+
"amount": {
|
3
|
+
"value": 1000,
|
4
|
+
"currency": "EUR"
|
5
|
+
},
|
6
|
+
"reason": "087330:1111:03/2030",
|
7
|
+
"success": "true",
|
8
|
+
"eventCode": "AUTHORISATION",
|
9
|
+
"eventDate": "2023-01-10T13:37:30+01:00",
|
10
|
+
"operations": [
|
11
|
+
"CANCEL",
|
12
|
+
"CAPTURE",
|
13
|
+
"REFUND"
|
14
|
+
],
|
15
|
+
"pspReference": "X3GWNS6KJ8NKGK82",
|
16
|
+
"paymentMethod": "visa",
|
17
|
+
"additionalData": {
|
18
|
+
"authCode": "087330",
|
19
|
+
"avsResult": "5 No AVS data provided",
|
20
|
+
"cvcResult": "1 Matches",
|
21
|
+
"expiryDate": "03/2030",
|
22
|
+
"cardSummary": "1111",
|
23
|
+
"acquirerCode": "TestPmmAcquirer",
|
24
|
+
"avsResultRaw": "5",
|
25
|
+
"cvcResultRaw": "M",
|
26
|
+
"hmacSignature": "9Z0xdpG9Xi3zcmXv14t/BvMBut77O/Xq9D4CQXSDUi4=",
|
27
|
+
"paymentMethod": "visa",
|
28
|
+
"refusalReasonRaw": "AUTHORISED",
|
29
|
+
"acquirerReference": "HHCCC326PH6",
|
30
|
+
"scaExemptionRequested": "lowValue",
|
31
|
+
"checkout.cardAddedBrand": "visa",
|
32
|
+
"retry.attempt1.acquirer": "TestPmmAcquirer",
|
33
|
+
"retry.attempt1.rawResponse": "AUTHORISED",
|
34
|
+
"retry.attempt1.avsResultRaw": "5",
|
35
|
+
"retry.attempt1.responseCode": "Approved",
|
36
|
+
"retry.attempt1.acquirerAccount": "TestPmmAcquirerAccount",
|
37
|
+
"retry.attempt1.scaExemptionRequested": "lowValue"
|
38
|
+
},
|
39
|
+
"merchantReference": "//slashes are fun",
|
40
|
+
"merchantAccountCode": "AntoniStroinski"
|
41
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{
|
2
|
+
"additionalData": {
|
3
|
+
"acquirerCode": "TestPmmAcquirer",
|
4
|
+
"acquirerReference": "J8DXDJ2PV6P",
|
5
|
+
"authCode": "052095",
|
6
|
+
"avsResult": "5 No AVS data provided",
|
7
|
+
"avsResultRaw": "5",
|
8
|
+
"cardSummary": "1111",
|
9
|
+
"checkout.cardAddedBrand": "visa",
|
10
|
+
"cvcResult": "1 Matches",
|
11
|
+
"cvcResultRaw": "M",
|
12
|
+
"expiryDate": "03/2030",
|
13
|
+
"hmacSignature": "CZErGCNQaSsxbaQfZaJlakqo7KPP+mIa8a+wx3yNs9A=",
|
14
|
+
"paymentMethod": "visa",
|
15
|
+
"refusalReasonRaw": "AUTHORISED",
|
16
|
+
"retry.attempt1.acquirer": "TestPmmAcquirer",
|
17
|
+
"retry.attempt1.acquirerAccount": "TestPmmAcquirerAccount",
|
18
|
+
"retry.attempt1.avsResultRaw": "5",
|
19
|
+
"retry.attempt1.rawResponse": "AUTHORISED",
|
20
|
+
"retry.attempt1.responseCode": "Approved",
|
21
|
+
"retry.attempt1.scaExemptionRequested": "lowValue",
|
22
|
+
"scaExemptionRequested": "lowValue"
|
23
|
+
},
|
24
|
+
"amount": {
|
25
|
+
"currency": "EUR",
|
26
|
+
"value": 1000
|
27
|
+
},
|
28
|
+
"eventCode": "AUTHORISATION",
|
29
|
+
"eventDate": "2023-01-10T13:42:29+01:00",
|
30
|
+
"merchantAccountCode": "AntoniStroinski",
|
31
|
+
"merchantReference": "\\:/\\/slashes are fun",
|
32
|
+
"operations": [
|
33
|
+
"CANCEL",
|
34
|
+
"CAPTURE",
|
35
|
+
"REFUND"
|
36
|
+
],
|
37
|
+
"paymentMethod": "visa",
|
38
|
+
"pspReference": "ZVWN7D3WSMK2WN82",
|
39
|
+
"reason": "052095:1111:03/2030",
|
40
|
+
"success": "true"
|
41
|
+
}
|
data/spec/notification_spec.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
|
-
RSpec.describe Adyen::
|
3
|
+
RSpec.describe Adyen::Payment, service: 'marketpay fund service' do
|
4
4
|
# client instance to be used in dynamically generated tests
|
5
5
|
client = create_client(:basic)
|
6
6
|
|
7
7
|
# methods / values to test for
|
8
8
|
# format is defined in spec_helper
|
9
9
|
test_sets = [
|
10
|
-
[
|
11
|
-
[
|
12
|
-
[
|
13
|
-
[
|
14
|
-
[
|
15
|
-
[
|
10
|
+
%w[create_notification_configuration pspReference 8515077331535427],
|
11
|
+
%w[delete_notification_configurations pspReference 8515078085249090],
|
12
|
+
%w[get_notification_configuration pspReference 8815078078131377],
|
13
|
+
%w[get_notification_configuration_list pspReference 8515078078661665],
|
14
|
+
%w[test_notification_configuration pspReference 8515078087759211],
|
15
|
+
%w[update_notification_configuration pspReference 8515078084389038]
|
16
16
|
]
|
17
17
|
|
18
|
-
generate_tests(client,
|
18
|
+
generate_tests(client, 'Notification', test_sets, client.marketpay.notification)
|
19
19
|
end
|
data/spec/payments_spec.rb
CHANGED
@@ -1,26 +1,43 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'json'
|
2
3
|
|
3
|
-
RSpec.describe Adyen::
|
4
|
-
|
5
|
-
|
4
|
+
RSpec.describe Adyen::Payment, service: 'Payment' do
|
5
|
+
before(:all) do
|
6
|
+
@shared_values = {
|
7
|
+
client: create_client(:api_key),
|
8
|
+
service: 'Payment'
|
9
|
+
}
|
10
|
+
end
|
6
11
|
|
7
|
-
#
|
8
|
-
|
9
|
-
|
10
|
-
["authorise", "resultCode", "Authorised"],
|
11
|
-
["adjust_authorisation", "response", "[adjustAuthorisation-received]"],
|
12
|
-
["authorise3d", "resultCode", "Authorised"],
|
13
|
-
["authorise3ds2", "resultCode", "ChallengeShopper"],
|
14
|
-
["cancel", "response", "[cancel-received]"],
|
15
|
-
["cancel_or_refund", "response", "[cancelOrRefund-received]"],
|
16
|
-
["capture", "response", "[capture-received]"],
|
17
|
-
["refund", "response", "[refund-received]"],
|
18
|
-
["donate", "response", "[donation-received]"],
|
19
|
-
["get_authentication_result", "threeDS2Result", {"transStatus" => "Y"}],
|
20
|
-
["retrieve_3ds2_result", "threeDS2Result", {"transStatus" => "Y"}],
|
21
|
-
["technical_cancel", "originalReference", "9914694372990637"],
|
22
|
-
["void_pending_refund", "pspReference", "9914694372990637"]
|
23
|
-
]
|
12
|
+
# must be created manually because every field in the response is an array
|
13
|
+
it 'makes an adjust_authorisation POST call' do
|
14
|
+
request_body = JSON.parse(json_from_file('mocks/requests/Payment/adjust_authorisation.json'))
|
24
15
|
|
25
|
-
|
16
|
+
response_body = json_from_file('mocks/responses/Payment/adjust_authorisation.json')
|
17
|
+
|
18
|
+
url = @shared_values[:client].service_url(@shared_values[:service], 'adjustAuthorisation',
|
19
|
+
@shared_values[:client].payment.version)
|
20
|
+
WebMock.stub_request(:post, url)
|
21
|
+
.with(
|
22
|
+
body: request_body,
|
23
|
+
headers: {
|
24
|
+
'x-api-key' => @shared_values[:client].api_key
|
25
|
+
}
|
26
|
+
)
|
27
|
+
.to_return(
|
28
|
+
body: response_body
|
29
|
+
)
|
30
|
+
|
31
|
+
result = @shared_values[:client].payment.adjust_authorisation(request_body)
|
32
|
+
response_hash = result.response
|
33
|
+
|
34
|
+
expect(result.status)
|
35
|
+
.to eq(200)
|
36
|
+
expect(response_hash)
|
37
|
+
.to eq(JSON.parse(response_body))
|
38
|
+
expect(response_hash)
|
39
|
+
.to be_a Adyen::HashWithAccessors
|
40
|
+
expect(response_hash)
|
41
|
+
.to be_a_kind_of Hash
|
42
|
+
end
|
26
43
|
end
|