Skip to content

Releases: juspay/hyperswitch

Hyperswitch v0.5.5

11 Apr 07:30
f46eaf3
Compare
Choose a tag to compare

0.5.5 (2023-04-10)

New Features

  • api_models: derive strum::Display for RefundStatus (#846) (4524d4f)
  • allow (de)serializing countries to/from alpha-2, alpha-3 and numeric country codes (#836) (899767c)
  • connector: add authorize, capture, void, psync, refund, rsync for PayPal connector (#747) (36049c1)

Bug Fixes

Other Changes

  • common_utils: put the async ext trait behind a feature (#835) (de29eb6)
  • update ci workflows for common_enums crate (#843) (4511133)

Refactors

  • scheduler: remove scheduler options & adding graceful shutdown to producer (#840) (11df843)
  • router: refactor amount in PaymentsCaptureData from Option to i64 (#821) (b8bcba4)

Hyperswitch v0.5.4

04 Apr 12:42
fb4ec43
Compare
Choose a tag to compare

0.5.4 (2023-04-04)

New Features

  • request: add RequestBuilder method to attach default request headers (#826) (6f61f83)
  • middleware: add middleware to attach default response headers (#824) (6d7b11a)
  • core: added multiple payment_attempt support for payment_intent (#439) (35d3e27)
  • router: added incoming dispute webhooks flow (#769) (a733eaf)

Bug Fixes

  • cards_info: add extra columns to cards_info struct (#813) (442bed0)
  • connector: [Mollie] remove unsupported implementation of Void flow from mollie connector (#808) (eee8304)

Other Changes

  • common_utils: put the signals module behind a feature flag (#814) (fb4ec43)
  • core: replace string with enum for country (#735) (e18bfb2)
  • api_models: put the errors module behind a feature flag (#815) (f14f87a)
  • storage_models: delete client secret when status is succeeded, failed, cancelled (#724) (a05059b)

Refactors

  • drainer, router: KMS decrypt database password when kms feature is enabled (#733) (9d6e4ee)

Hyperswitch v0.5.3

29 Mar 10:54
ac7f850
Compare
Choose a tag to compare

0.5.3 (2023-03-29)

Documentation Changes

New Features

Bug Fixes

  • compatibility: add last_payment_error in stripe payment response (#803) (97b95f0)

Refactors

  • api_models: enhance accepted countries/currencies types (#807) (f9ef313)
  • services: make AppState impl generic using AppStateInfo (#805) (642c3f3)

Hyperswitch v0.5.2

24 Mar 15:53
a28214e
Compare
Choose a tag to compare

0.5.2 (2023-03-24)

Chores

  • prepare for building production Docker images (#794) (6ddc30e)

Bug Fixes

  • connector: [Airwallex] Change Session Token to Init Payment (#798) (a3c0033)

Other Changes

Refactors

  • extract kms module to external_services crate (#793) (029e389)

Hyperswitch v0.5.1

24 Mar 06:55
2cca54d
Compare
Choose a tag to compare

0.5.1 (2023-03-21)

Documentation Changes

  • try_local_system:

New Features

  • pm_list: handle client secret check (#759) (82344fc)
  • add in-memory cache support for config table (#751) (abedaae)
  • compile time optimization (#775) (5b5557b)
  • router:
    • add support for stateful straight through routing (#752) (568bf01)
    • adding metrics for tracking behavior throughout the router crate (#768) (d302b28)
  • core: accept gateway credentials in the request body in payments and refunds (#766) (cb188f9)
  • connector:
    • Add support to provide connector_payment_meta for capture and void request (#770) (6c008ae)
    • [Trustpay] add webhooks (payment and refund events) (#746) (853dfa1)

Bug Fixes

  • process delete response from basilisk-v3 as plaintext instead of JWE (#791) (699ca4f)
  • storage: add serialization for primitivedatetime for diesel structs (#764) (f27732a)

Refactors

  • get connection pool based on olap/oltp features (#743) (a392fb1)

Hyperswitch v0.5.0

21 Mar 10:03
5211edb
Compare
Choose a tag to compare

0.5.0 (2023-03-21)

Build System / Dependencies

Chores

  • merchant_account: remove api_key field (#713) (230fcdd)
  • config: move connector base URLs under the [connectors] table (#723) (df8c8b5)
  • address Rust 1.68 clippy lints (#728) (1ffabb4)

Continuous Integration

  • release: specify fetch-depth for code checkout and use official Docker GitHub actions (#722) (c451368)

Documentation Changes

  • Update naming conventions and added examples (#709) (9841519)
  • openapi: document path parameters for API keys endpoints (#702) (9062dc8)

New Features

  • connector:
    • [Mollie]: add authorize, void, refund, psync, rsync support for mollie connector (#740) (168fa32)
    • [worldline] add webhook support for connector (#721) (13a8ce8)
    • [Trustpay] add authorize (cards 3ds, no3ds and bank redirects), refund, psync, rsync (#717) (e102cae)
    • [Fiserv] add Refunds, Cancel and Wallets flow along with Unit Tests (#593) (cd1c540)
    • Add support for complete authorize payment after 3DS redirection (#741) (ec2b1b1)
  • removing unnecessary logs from console (#753) (1021d1a)
  • Time based deletion of temp card (#729) (db3d316)
  • populate fields from payment attempt in payment list (#736) (b5b3d57)
  • add generic in-memory cache interface (#737) (7f5e5d8)
  • Add HSTS headers to response (#725) (7ed665e)
  • cache reverse lookup fetches on redis (#719) (1a27fac)
  • compatibility: add webhook support for stripe compatibility (#710) (7916050)

Bug Fixes

  • docker-compose: remove port for hyperswitch-server-init in docker-compose.yml (#763) (20b9327)
  • fixing docker compose setup & adding redisinsight (#748) (5c9bec9)
  • kms: log KMS SDK errors using the Debug impl (#720) (468aa87)
  • errors:
    • Replace PaymentMethod with PaymentModethodData in test.rs (#716) (763ee09)
    • use Debug impl instead of Display for error types wrapping error_stack::Report (#714) (4548475)

Other Changes

  • card_fingerprint not sent by basilisk_hs (#754) (5ae2f63)

Refactors

  • merchant_account: add back api_key field for backward compatibility (#761) (661dd48)
  • connector: update add_connector script (#762) (78794ed)
  • metrics: use macros for constructing counter and histogram metrics (#755) (58106d9)
  • kms: share a KMS client for all KMS operations (#744) (a3ff2e8)
  • Basilisk hs integration (#704) (585618e)
  • Add service_name to get and delete request (#738) (8b7ae9c)
  • Add secret to metadata (#706) (d36afbe)
  • client:
    • simplify HTTP client construction (#731) (1756d1c)
    • remove dependence on ROUTER_HTTP_PROXY and ROUTER_HTTPS_PROXY env vars (#730) (c085e46)
  • authentication: authenticate merchant by API keys from API keys table (#712) (afd08d4)
  • api_keys: use a KMS encrypted API key hashing key and remove key ID prefix from plaintext API keys (#639) (3a3b33a)

Tests

  • masking: add suitable feature gates for basic tests (#745) (4859b6e)

Hyperswitch v0.4.0

05 Mar 12:59
3bdc9b0
Compare
Choose a tag to compare

Continuous Integration

  • workflow:
    • adding build only sandbox feature to reduce build time (#664) (d1c9305)
    • run cargo hack only for code changes (#663) (f931c42)

Documentation Changes

New Features

  • session_token: create session token only if pmt is enabled (#703) (e1afeb6)
  • router:
  • list: global filter mapping for payment methods via card network (#694) (adca6bc)
  • store card network for cards (#687) (bfca26d)
  • add support for ANG currency (#681) (03096ef)
  • Add bank redirect mapping to adyen and stripe (#680) (e6f627d)
  • api contract change for wallet (#628) (ff86417)
  • Add support for a redis pubsub interface (#614) (aaf3725)
  • initial nix setup using cargo2nix (#599) (73d0538)
  • connector:
    • [Bambora] Add support for cards Authorize, psync, capture, void, refund, Rsync (#677) (0de5d44)
    • [MultiSafePay] Add support for cards Authorize, psync, capture, void, refund, Rsync (#658) (79aa8f3)
    • [Dlocal] Add support for authorize, capture, void, refund, psync, rsync (#650) (7792de5)
  • pm_list: support for sending bank names (#678) (576f8e1)
  • card_network: add additional enum variants in card network (#671) (db8bc16)
  • stripe:
    • eps, giropay and ideal using stripe (#529) (028e140)
    • get error message for failed redirect payments (#615) (12f25f0)

Bug Fixes

  • Populate amount_captured in case of success (#700) (d622b74)
  • Error Mapping for Bluensap & Card Number for Airwallex (#686) (35a74ba)
  • add currency in verify request data (#619) (32de632)
  • add zero-padded formatting for error code (#627) (63f9b61)
  • check if bank_pm exists and then send request (#679) (76a9b55)
  • connector:
    • convert cents to dollar before sending to connector (#699) (3e88319)
    • fix wordline card number validation issue (#695) (1a87534)
    • fix wordline tests and visa card issuer support (#688) (d0c9dde)
  • adyen: adyen psync fail fix (#691) (2e99152)
  • customer: populate email from customer table if not present in request (#692) (cf71d7a)
  • list:
    • remove enabled payment methods from list customer payment method (#689) (5c29f37)
    • fix card network filtering (#684) (718c8a4)
    • adding config changes for filtering pm based on countries & currencies (#669) (060c541)
  • compatibility:
    • change next_action type and customer request type (#675) (7f22c22)
    • map stripe country_code to payment_request country code (#667) (7044b80)
  • core: send metadata in payments response (#670) (b80f19e)
  • router: allow setup future usage to be updated in payment update and confirm requests (#610) (7fd8221)

Chores

  • connectors: log connector request and response at debug level (#624) (6a487b1)

Other Changes

  • stripe: send statement descriptor to stripe (#707) (641c4d6)
  • use connector error handler for 500 error messages. (#696) (9fe2093)
  • populate failed status and add bank_redirect (#674) (b1685ba)
  • refunds: skip validate refunds for card (#672) (5cdbef0)
  • router/webhooks: expose additional incoming request details to webhooks flow (#637) (1b3b7f5)
  • braintree: create basic auth for braintree (#602) (c47619b)

Refactors

  • add better log to parse struct (#621) (275155a)
  • Pass country and currency as json format in MCA (#523) (d27e6be)
  • use simple uuid instead of hyphens (#605) (c467a47)
  • add payment_issuer and payment_experience in pa (#491) (6656359)
  • router: remove foreign wrapper type (#616) (7bd2008)
  • core:
    • add payment method list route to payment_methods (#682) (5449ce4)
    • make attempt id as mandatory in router_data (#604) (626e467)
  • pm_list:
  • connector: remove peek() on PII info (#642) (46f77d0)
  • connector-template: raise errors instead of using todo!() (#620) (b1a6be5)
  • redirection: From impl for redirection data for ease of use (#613) (e8255b4)

Hyperswitch v0.3.0

26 Feb 10:27
f3224cc
Compare
Choose a tag to compare

Build System / Dependencies

  • docker-compose: increase docker health check interval for hyperswitch-server (#534) (1ba6b8c)

Chores

  • release: port release bug fixes to main branch (#612) (a8d6ce8)

Continuous Integration

Documentation Changes

New Features

  • router:
    • include eligible connectors list in list payment methods (#644) (92771b3)
    • API endpoints for managing API keys (#511) (1bdc895)
  • connector:
    • [Airwallex] add authorize, capture, void, psync, Webhooks support (#646) (6a67dd8)
    • [Bluesnap] add authorize, capture, void, refund, psync, rsync and Webhooks support (#649) (7efdc3c)
    • add authorize, capture, void, refund, psync support for Nuvei (#645) (03a9f5a)
  • Added applepay feature (#636) (1e84c07)
  • add track_caller to functions that perform change_context (#592) (8d2e573)
  • Redis cache for MCA fetch and update (#515) (963cb52)
  • api_models: add error structs (#532) (d107b44)

Bug Fixes

  • connector: update Bluesnap in routable connectors (#654) (64cb2ff)
  • allow errors with status code 200 to pass (#601) (8a8767e)
  • don't call connector if connector transaction id doesn't exist (#525) (326d6be)
  • throw 500 error when redis goes down (#531) (aafb115)
  • router:
    • allow setup future usage to be updated in payment update and confirm requests (#610) (#638) (6c128f8)
    • feature gate openssl deps for basilisk feature (#536) (e495682)
  • checkout: Error Response when wrong api key is passed (#596) (55b6d88)
  • core: use guard for access token result (#522) (903b452)

Other Changes

Refactors

  • router:
    • update payments api contract to accept a list of connectors (#643) (8f1f626)
    • api-key routes refactoring (#600) (e640827)
    • appstate as trait in authentication (#588) (eaf98e6)
  • compatibility: add additional fields to stripe payment and refund response types (#618) (2ea09e3)
  • Throw 500 error on database connection error instead of panic (#527) (f1e3bf4)
  • send full payment object for payment sync (#526) (6c2a1fe)
  • middleware: change visibility to pub (#587) (4884a24)

Hyperswitch v0.2.0

17 Feb 10:05
Compare
Choose a tag to compare

Supported Connectors

Supported Payment Methods

Supported Payment Functionalities

  • Payments (Authorize/Sync/Capture/Cancel)
  • Refunds (Execute/Sync)
  • Saved Cards
  • Mandates (No 3DS)*
  • Customers
  • Merchants
  • ConnectorAccounts

* May not be supported on all connectors