Skip to content

Commit 312e0fa

Browse files
committed
Merge branch 'main' of github.com:juspay/hyperswitch into refactor-rustman-runner
* 'main' of github.com:juspay/hyperswitch: (22 commits) chore(version): 2024.02.28.0 chore(postman): update Postman collection files fix(connector): [AUTHORIZEDOTNET] Fix status mapping (#3845) refactor(router): added logs health and deep health (#3780) feat(roles): Change list roles, get role and authorization info api to respond with groups (#3837) fix(core): validate amount_to_capture in payment update (#3830) refactor(connector): [Square] change error message from NotSupported to NotImplemented (#2875) feat(router): add connector mit related columns to the payment methods table (#3764) ci(postman): refactor NMI postman collection (#3805) refactor(connector): [Braintree] Mask PII data (#3759) refactor(connector): [Forte] Mask PII data (#3824) refactor(compatibility): added compatibility layer request logs (#3774) refactor(payment_methods): introduce `locker_id` column in `payment_methods` table (#3760) feat(connector): mask pii information in connector request and response for stripe, aci, adyen, airwallex and authorizedotnet (#3678) chore(version): 2024.02.27.0 fix(core): do not construct request if it is already available (#3826) refactor: incorporate `hyperswitch_interface` into router (#3669) feat: add unique constraint restriction for KV (#3723) feat(connector): [Payme] Add Void flow to Payme (#3817) refactor(connector): [Cybersource] Mask PII data (#3786) ...
2 parents 1bbfb0f + 0fa4361 commit 312e0fa

File tree

610 files changed

+20531
-4411
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

610 files changed

+20531
-4411
lines changed

.github/workflows/postman-collection-runner.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
CONNECTOR_AUTH_PASSPHRASE: ${{ secrets.CONNECTOR_AUTH_PASSPHRASE }}
6262
CONNECTOR_CREDS_S3_BUCKET_URI: ${{ secrets.CONNECTOR_CREDS_S3_BUCKET_URI}}
6363
DESTINATION_FILE_NAME: "connector_auth.toml.gpg"
64-
S3_SOURCE_FILE_NAME: "cf05a6ab-525e-4888-98b3-3b4a443b87c0.toml.gpg"
64+
S3_SOURCE_FILE_NAME: "95aa1243-4caa-4539-a65a-723aa5cbe3d7.toml.gpg"
6565
shell: bash
6666
run: |
6767
mkdir -p ${HOME}/target/secrets ${HOME}/target/test

.github/workflows/validate-openapi-spec.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,6 @@ jobs:
8080
shell: bash
8181
run: |
8282
if ! git diff --quiet --exit-code -- openapi/openapi_spec.json ; then
83-
echo '::error::The OpenAPI spec file is not up-to-date. Please re-generate the OpenAPI spec file using `cargo run --features openapi -- generate-openapi-spec` and commit it.'
83+
echo '::error::The OpenAPI spec file is not up-to-date. Please re-generate the OpenAPI spec file using `cargo run -p openapi` and commit it.'
8484
exit 1
8585
fi

CHANGELOG.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,73 @@ All notable changes to HyperSwitch will be documented here.
44

55
- - -
66

7+
## 2024.02.28.0
8+
9+
### Features
10+
11+
- **connector:** Mask pii information in connector request and response for stripe, aci, adyen, airwallex and authorizedotnet ([#3678](https://github.com/juspay/hyperswitch/pull/3678)) ([`1c6913b`](https://github.com/juspay/hyperswitch/commit/1c6913be747bd3da53fa2b48e339810bb30226e7))
12+
- **roles:** Change list roles, get role and authorization info api to respond with groups ([#3837](https://github.com/juspay/hyperswitch/pull/3837)) ([`fbe9d2f`](https://github.com/juspay/hyperswitch/commit/fbe9d2f19e9c0ca3af45a60e3d82b3ea774e11ce))
13+
- **router:** Add connector mit related columns to the payment methods table ([#3764](https://github.com/juspay/hyperswitch/pull/3764)) ([`5b8c261`](https://github.com/juspay/hyperswitch/commit/5b8c261d1ec34fab850c33f5d59d46255c7ebe4f))
14+
15+
### Bug Fixes
16+
17+
- **connector:** [AUTHORIZEDOTNET] Fix status mapping ([#3845](https://github.com/juspay/hyperswitch/pull/3845)) ([`f4d0e2b`](https://github.com/juspay/hyperswitch/commit/f4d0e2b441a25048186be4b9d0871e2473a6f357))
18+
- **core:** Validate amount_to_capture in payment update ([#3830](https://github.com/juspay/hyperswitch/pull/3830)) ([`04e9734`](https://github.com/juspay/hyperswitch/commit/04e9734800a9011d9ae7bd43f75c90a75a9a9334))
19+
20+
### Refactors
21+
22+
- **compatibility:** Added compatibility layer request logs ([#3774](https://github.com/juspay/hyperswitch/pull/3774)) ([`cd1a17b`](https://github.com/juspay/hyperswitch/commit/cd1a17bcd260629aad7548ff274f5512c37bfab7))
23+
- **connector:**
24+
- [Forte] Mask PII data ([#3824](https://github.com/juspay/hyperswitch/pull/3824)) ([`bd890b0`](https://github.com/juspay/hyperswitch/commit/bd890b0715ff5b77b8d1769083fa3e6c965e6dc3))
25+
- [Braintree] Mask PII data ([#3759](https://github.com/juspay/hyperswitch/pull/3759)) ([`3e87d44`](https://github.com/juspay/hyperswitch/commit/3e87d4468193cb4f60cd7b9fe93f2eba9250eeb5))
26+
- [Square] change error message from NotSupported to NotImplemented ([#2875](https://github.com/juspay/hyperswitch/pull/2875)) ([`0626ca9`](https://github.com/juspay/hyperswitch/commit/0626ca968576709a3559243f5a64e742201dbf91))
27+
- **payment_methods:** Introduce `locker_id` column in `payment_methods` table ([#3760](https://github.com/juspay/hyperswitch/pull/3760)) ([`3856226`](https://github.com/juspay/hyperswitch/commit/385622678f764b2bdb67423be0e5c8f055dd0b7c))
28+
- **router:** Added logs health and deep health ([#3780](https://github.com/juspay/hyperswitch/pull/3780)) ([`cd82228`](https://github.com/juspay/hyperswitch/commit/cd8222820a19c53dbc0a0abe6f8ab3408cb7b13f))
29+
30+
### Miscellaneous Tasks
31+
32+
- **postman:** Update Postman collection files ([`8862746`](https://github.com/juspay/hyperswitch/commit/88627463eacd86bf3c8726ea4a08aedb6236ca32))
33+
34+
**Full Changelog:** [`2024.02.27.0...2024.02.28.0`](https://github.com/juspay/hyperswitch/compare/2024.02.27.0...2024.02.28.0)
35+
36+
- - -
37+
38+
## 2024.02.27.0
39+
40+
### Features
41+
42+
- **connector:** [Payme] Add Void flow to Payme ([#3817](https://github.com/juspay/hyperswitch/pull/3817)) ([`9aabb14`](https://github.com/juspay/hyperswitch/commit/9aabb14a60f821769ccc61013368fb9683711d94))
43+
- **payouts:** Extend routing capabilities to payout operation ([#3531](https://github.com/juspay/hyperswitch/pull/3531)) ([`75c633f`](https://github.com/juspay/hyperswitch/commit/75c633fc7c37341177597041ccbcdfc3cf9e236f))
44+
- Add unique constraint restriction for KV ([#3723](https://github.com/juspay/hyperswitch/pull/3723)) ([`c117f8e`](https://github.com/juspay/hyperswitch/commit/c117f8ec638536d7ca92603ddadba59793b232de))
45+
46+
### Bug Fixes
47+
48+
- **core:** Do not construct request if it is already available ([#3826](https://github.com/juspay/hyperswitch/pull/3826)) ([`84d91a7`](https://github.com/juspay/hyperswitch/commit/84d91a7b344df47899ff31a87b86b8410c204f95))
49+
50+
### Refactors
51+
52+
- **connector:** [Cybersource] Mask PII data ([#3786](https://github.com/juspay/hyperswitch/pull/3786)) ([`a5cb6bb`](https://github.com/juspay/hyperswitch/commit/a5cb6bb5a456e8c435bbe0b561aa4d8a6f29ad87))
53+
- Incorporate `hyperswitch_interface` into router ([#3669](https://github.com/juspay/hyperswitch/pull/3669)) ([`2185cd3`](https://github.com/juspay/hyperswitch/commit/2185cd38c1ddf08d9dbb7a320b627fc03f0e7026))
54+
55+
**Full Changelog:** [`2024.02.26.0...2024.02.27.0`](https://github.com/juspay/hyperswitch/compare/2024.02.26.0...2024.02.27.0)
56+
57+
- - -
58+
59+
## 2024.02.26.0
60+
61+
### Features
62+
63+
- **connector:** [BOA/Cybersource] Pass commerce indicator using card network for apple pay ([#3795](https://github.com/juspay/hyperswitch/pull/3795)) ([`54fa309`](https://github.com/juspay/hyperswitch/commit/54fa309b7da5d153855fb684f9655f505b2ba309))
64+
- **roles:** Add blacklist for roles ([#3794](https://github.com/juspay/hyperswitch/pull/3794)) ([`734327a`](https://github.com/juspay/hyperswitch/commit/734327a957c216511b182151a2f0b27819e7e3bb))
65+
66+
### Bug Fixes
67+
68+
- **cards:** Return a 200 response indicating that a customer is none ([#3773](https://github.com/juspay/hyperswitch/pull/3773)) ([`2c95dcd`](https://github.com/juspay/hyperswitch/commit/2c95dcd19778726f476b219271dc42da182088af))
69+
70+
**Full Changelog:** [`2024.02.23.0...2024.02.26.0`](https://github.com/juspay/hyperswitch/compare/2024.02.23.0...2024.02.26.0)
71+
72+
- - -
73+
774
## 2024.02.23.0
875

976
### Features

config/config.example.toml

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,9 @@ route_to_trace = ["*/confirm"]
115115
# This section provides some secret values.
116116
[secrets]
117117
master_enc_key = "sample_key" # Master Encryption key used to encrypt merchant wise encryption key. Should be 32-byte long.
118-
admin_api_key = "test_admin" # admin API key for admin authentication. Only applicable when KMS is disabled.
119-
kms_encrypted_admin_api_key = "" # Base64-encoded (KMS encrypted) ciphertext of the admin_api_key. Only applicable when KMS is enabled.
120-
jwt_secret = "secret" # JWT secret used for user authentication. Only applicable when KMS is disabled.
121-
kms_encrypted_jwt_secret = "" # Base64-encoded (KMS encrypted) ciphertext of the jwt_secret. Only applicable when KMS is enabled.
122-
recon_admin_api_key = "recon_test_admin" # recon_admin API key for recon authentication. Only applicable when KMS is disabled.
123-
kms_encrypted_recon_admin_api_key = "" # Base64-encoded (KMS encrypted) ciphertext of the recon_admin_api_key. Only applicable when KMS is enabled
118+
admin_api_key = "test_admin" # admin API key for admin authentication.
119+
jwt_secret = "secret" # JWT secret used for user authentication.
120+
recon_admin_api_key = "recon_test_admin" # recon_admin API key for recon authentication.
124121

125122
# Locker settings contain details for accessing a card locker, a
126123
# PCI Compliant storage entity which stores payment method information
@@ -156,8 +153,6 @@ outgoing_enabled = true
156153
validity = 1
157154

158155
[api_keys]
159-
# Base64-encoded (KMS encrypted) ciphertext of the API key hashing key
160-
kms_encrypted_hash_key = ""
161156
# Hex-encoded 32-byte long (64 characters long when hex-encoded) key used for calculating hashes of API keys
162157
hash_key = "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
163158

@@ -322,11 +317,6 @@ paypal = { currency = "USD,INR", country = "US" }
322317
# ^------------------------------- any valid payment method type (can be multiple) (for cards this should be card_network)
323318
# If either currency or country isn't provided then, all possible values are accepted
324319

325-
# AWS KMS configuration. Only applicable when the `aws_kms` feature flag is enabled.
326-
[kms]
327-
key_id = "" # The AWS key ID used by the KMS SDK for decrypting data.
328-
region = "" # The AWS region used by the KMS SDK for decrypting data.
329-
330320
[cors]
331321
max_age = 30 # Maximum time (in seconds) for which this CORS request may be cached.
332322
origins = "http://localhost:8080" # List of origins that are allowed to make requests.
@@ -568,3 +558,17 @@ file_storage_backend = "aws_s3" # File storage backend to be used
568558
[file_storage.aws_s3]
569559
region = "us-east-1" # The AWS region used by the AWS S3 for file storage
570560
bucket_name = "bucket1" # The AWS S3 bucket name for file storage
561+
562+
[secrets_management]
563+
secrets_manager = "aws_kms" # Secrets manager client to be used
564+
565+
[secrets_management.aws_kms]
566+
key_id = "kms_key_id" # The AWS key ID used by the KMS SDK for decrypting data.
567+
region = "kms_region" # The AWS region used by the KMS SDK for decrypting data.
568+
569+
[encryption_management]
570+
encryption_manager = "aws_kms" # Encryption manager client to be used
571+
572+
[encryption_management.aws_kms]
573+
key_id = "kms_key_id" # The AWS key ID used by the KMS SDK for decrypting data.
574+
region = "kms_region" # The AWS region used by the KMS SDK for decrypting data.

config/deployments/env_specific.toml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ connection_timeout = 10 # Timeout for database connection in seconds
2121
queue_strategy = "Fifo" # Add the queue strategy used by the database bb8 client
2222

2323
[api_keys]
24-
kms_encrypted_hash_key = "base64_encoded_ciphertext" # Base64-encoded (KMS encrypted) ciphertext of the API key hashing key
25-
hash_key = "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" # API key hashing key. Only applicable when KMS is disabled.
24+
hash_key = "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" # API key hashing key.
2625

2726
[applepay_decrypt_keys]
2827
apple_pay_ppc = "APPLE_PAY_PAYMENT_PROCESSING_CERTIFICATE" # Payment Processing Certificate provided by Apple Pay (https://developer.apple.com/) Certificates, Identifiers & Profiles > Apple Pay Payment Processing Certificate
@@ -99,11 +98,6 @@ vault_encryption_key = "" # public key in pem format, corresponding privat
9998
rust_locker_encryption_key = "" # public key in pem format, corresponding private key in rust locker
10099
vault_private_key = "" # private key in pem format, corresponding public key in rust locker
101100

102-
# KMS configuration. Only applicable when the `kms` feature flag is enabled.
103-
[kms]
104-
key_id = "" # The AWS key ID used by the KMS SDK for decrypting data.
105-
region = "" # The AWS region used by the KMS SDK for decrypting data.
106-
107101
# Locker settings contain details for accessing a card locker, a
108102
# PCI Compliant storage entity which stores payment method information
109103
# like card details
@@ -201,12 +195,9 @@ region = "report_download_config_region" # Region of the buc
201195
# This section provides some secret values.
202196
[secrets]
203197
master_enc_key = "sample_key" # Master Encryption key used to encrypt merchant wise encryption key. Should be 32-byte long.
204-
admin_api_key = "test_admin" # admin API key for admin authentication. Only applicable when KMS is disabled.
205-
kms_encrypted_admin_api_key = "" # Base64-encoded (KMS encrypted) ciphertext of the admin_api_key. Only applicable when KMS is enabled.
206-
jwt_secret = "secret" # JWT secret used for user authentication. Only applicable when KMS is disabled.
207-
kms_encrypted_jwt_secret = "" # Base64-encoded (KMS encrypted) ciphertext of the jwt_secret. Only applicable when KMS is enabled.
208-
recon_admin_api_key = "recon_test_admin" # recon_admin API key for recon authentication. Only applicable when KMS is disabled.
209-
kms_encrypted_recon_admin_api_key = "" # Base64-encoded (KMS encrypted) ciphertext of the recon_admin_api_key. Only applicable when KMS is enabled
198+
admin_api_key = "test_admin" # admin API key for admin authentication.
199+
jwt_secret = "secret" # JWT secret used for user authentication.
200+
recon_admin_api_key = "recon_test_admin" # recon_admin API key for recon authentication.
210201

211202
# Server configuration
212203
[server]
@@ -219,3 +210,17 @@ host = "127.0.0.1"
219210
shutdown_timeout = 30
220211
# HTTP Request body limit. Defaults to 32kB
221212
request_body_limit = 32_768
213+
214+
[secrets_management]
215+
secrets_manager = "aws_kms" # Secrets manager client to be used
216+
217+
[secrets_management.aws_kms]
218+
key_id = "kms_key_id" # The AWS key ID used by the KMS SDK for decrypting data.
219+
region = "kms_region" # The AWS region used by the KMS SDK for decrypting data.
220+
221+
[encryption_management]
222+
encryption_manager = "aws_kms" # Encryption manager client to be used
223+
224+
[encryption_management.aws_kms]
225+
key_id = "kms_key_id" # The AWS key ID used by the KMS SDK for decrypting data.
226+
region = "kms_region" # The AWS region used by the KMS SDK for decrypting data.

0 commit comments

Comments
 (0)