Skip to content

Latest commit

 

History

History
2864 lines (1858 loc) · 224 KB

CHANGELOG.md

File metadata and controls

2864 lines (1858 loc) · 224 KB

Changelog

All notable changes to HyperSwitch will be documented here.


1.51.1 (2023-10-05)

Bug Fixes

  • router: Make payment type optional in payments request (#2465) (b5cc748)

Refactors

  • router:
    • Renamed Verify flow to SetupMandate (#2455) (80f3b1e)
    • Remove the payment type column in payment intent (#2462) (980aa44)

Miscellaneous Tasks

  • Fix the failing formatting check for external contributors (#2467) (bb2ba08)

Full Changelog: v1.51.0...v1.51.1


1.51.0 (2023-10-05)

Features

  • connector:
  • payment_methods: Bank details support for payment method data in pmt (#2385) (e86c032)
  • router: Add support for payment_type field in payment intent (#2448) (f116728)

Bug Fixes

  • connector: Use enum to deserialize latest_charge in stripe psync response (#2444) (05ee47a)
  • payments: Move validations of payment intent before attempt (#2440) (7fb5c04)
  • Return appropriate error message during webhook call for invalid merchant_secret adyen (#2450) (db7f9fa)

Testing

  • postman: Update postman collection files (a9221d4)

Full Changelog: v1.50.0...v1.51.0


1.50.0 (2023-10-04)

Features

  • connector:
    • [Stax] Use connector_response_reference_id as reference to merchant (#2415) (099b241)
    • [PowerTranz] Use connector_response_reference_id as reference to merchant (#2413) (0d703c7)
    • [Payeezy] Use connector_response_reference_id as reference to merchant (#2410) (485c09d)
    • [Square] Use reference_id as reference to merchant (#2434) (591c9b7)
  • router:
    • Remove unnecessary lookups in refund and payment_attempt kv flow (#2425) (f720aec)
    • [OpenNode] response reference id (#2416) (3bfea72)
    • Add profile id and extra filters in lists (#2379) (ab2cde7)

Bug Fixes

  • CI: Fix spell check for CI pull request (#2439) (04f2e11)
  • router: Merchant account delete does not delete the merchant_key_store (#2367) (35f7ce0)

Refactors

  • config: Update payment method filter for apple pay (#2423) (d177b4d)
  • payment_methods: Add requires_cvv config while creating merchant account (#2431) (6e5ab0d)
  • webhook: Add a function to retrieve payment_id (#2447) (409913f)

Build System / Dependencies

  • deps: Address undeclared crate or module errors on Windows for scheduler crate (#2411) (4225238)

Full Changelog: v1.49.0...v1.50.0


1.49.0 (2023-10-03)

Features

  • connector: [Nuvei] Add order id as the reference id (#2408) (d5d876b)
  • pm_auth: Added pm_auth_config to merchant_connector_account (#2183) (abfdea2)
  • pm_list: [Trustpay] add bank_redirect - blik pm type required field info for trustpay (#2390) (d81762a)
  • webhooks: Webhooks effect tracker (#2260) (5048d24)

Bug Fixes

  • CI: Fix spell check for CI pull request (#2420) (3b10b1c)
  • cards: Allow card cvc 000 (#2387) (f0dc374)
  • configs: Add lock_settings in docker_compose.toml (#2396) (14fec5c)
  • connector: [noon] add connector_auth params and update description (#2429) (0aa6b30)
  • payment_methods: prioritized apple_pay_combined deserialization over apple_pay (#2393) (f12ce9c)
  • Temp support for ach gocardless with existing api contracts (#2395) (d43fbcc)

Refactors

  • connector:
    • [Klarna] Expand wildcard match arms (#2403) (89cb63b)
    • [Klarna] Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2414) (ee7efd0)
    • [Cryptopay] Update PSync with connector_request_reference_id (#2388) (3680541)
  • router: Add #[cfg(not(feature = "kms"))] feature flag to test the simplified apple pay flow locally (#2200) (e5ad9c5)

Testing

  • postman: Update postman collection files (34099ba)

Documentation

Miscellaneous Tasks

Full Changelog: v1.48.1+hotfix.1...v1.49.0


1.48.1 (2023-09-28)

Bug Fixes

  • [Gocardless] add region in customer create request based on country (#2389) (c293cb6)

Full Changelog: v1.48.0...v1.48.1


1.48.0 (2023-09-27)

Features

  • core: Create surcharge_metadata field in payment attempt (#2371) (934542e)
  • router:
    • Append payment_id to secondary key for payment_intent in kv flow (#2378) (ee91552)
    • Pass customers address in retrieve customer (#2376) (f6cfb05)

Bug Fixes

  • db: Merchant_account cache invalidation based on publishable_key (#2365) (22a8291)
  • router: Allow address updates in payments update flow (#2375) (0d3dd00)

Refactors

  • connector:
    • [Payme]Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2194) (77b51d5)
    • [bluesnap] add refund status and webhooks (#2374) (fe43458)
  • Insert requires cvv config to configs table if not found in db (#2208) (68b3310)

Full Changelog: v1.47.0...v1.48.0


1.47.0 (2023-09-27)

Features

  • connector_response: Kv for connector response table (#2207) (cefa291)

Bug Fixes

  • connector:
    • Make webhook source verification mandatory for adyen (#2360) (3d7e22a)
    • [noon] Create psync struct from webhook resource object (#2370) (f12a438)
  • merchant_connector_account: Use appropriate key when redacting (#2363) (54645cd)
  • router:
  • [stripe] Add customer balance in StripePaymentMethodDetailsResponse (#2369) (67a3e8f)

Refactors

  • connector:
    • [bluesnap]Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2193) (6db60b8)
    • [Zen] Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2196) (7fd79e0)
    • [Paypal]Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2191) (2e97869)
    • [Cryptopay]Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2195) (d8c3845)

Miscellaneous Tasks

  • config: [Multisafepay] Add configs for card mandates for Multisafepay (#2372) (af3b9e9)

Full Changelog: v1.46.0...v1.47.0


1.46.0 (2023-09-25)

Features

  • payment_attempt: Add kv for find last successful attempt (#2206) (d3157f0)
  • payments: Add api locking for payments core (#1898) (5d66156)

Bug Fixes

  • compatibility: Update BillingDetails mappings in SCL (#1926) (a48f986)
  • connector: [stripe] use display impl for expiry date (#2359) (35622af)
  • drainer: Ignore errors in case the stream is empty (#2261) (53de86f)
  • Add health metric to drainer (#2217) (4e8471b)

Refactors

  • Enable logs feature flag in router crate (#2358) (e4af381)

Testing

  • postman: Update postman collection files (d7affab)

Full Changelog: v1.45.0...v1.46.0


1.45.0 (2023-09-22)

Features

Bug Fixes

  • router: Fix attempt status for technical failures in psync flow (#2252) (2b8bd03)

Refactors

  • connector:
    • [Checkout]Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2192) (aa8d0dd)
    • [Trustpay] Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2197) (583b9aa)
  • core: Eliminate business profile database queries in payments confirm flow (#2190) (90e4392)

Full Changelog: v1.44.0...v1.45.0


1.44.0 (2023-09-22)

Features

  • connector: [Trustpay] Add descriptor for card payment method for trustpay (#2256) (b9ddc4f)
  • db: Add find_config_by_key_unwrap_or (#2214) (2bd2526)

Bug Fixes

  • connector: Fix dispute webhook failure bug in checkout during get_webhook_resource_object (#2257) (1d73be0)

Refactors

  • connector:
    • [Stripe] refactor stripe payment method not implemented errors (#1927) (417f793)
    • [Adyen] Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2209) (3d18f20)

Miscellaneous Tasks

  • CODEOWNERS: Update CODEOWNERS (#2254) (7af4c92)
  • deps: Bump phonenumber from 0.3.2+8.13.9 to 0.3.3+8.13.9 (#2255) (8f3721d)

Full Changelog: v1.43.1...v1.44.0


1.43.1 (2023-09-21)

Bug Fixes

Full Changelog: v1.43.0...v1.43.1


1.43.0 (2023-09-21)

Features

  • connector: [Gocardless] add support for Ach, Sepa, Becs payment methods (#2180) (3efce90)
  • core: Add support for webhook additional source verification call for paypal (#2058) (2a9e09d)
  • db: Enable caching for merchant_account fetch using publishable key (#2186) (eb10aca)
  • router: Add kv implementation for address for payment flows (#2177) (afff3e1)

Bug Fixes

  • connector:
  • env: Remove EUR currency from clearpay_afterpay in stripe connector (#2213) (9009ab2)

Refactors

  • router: Refactor customer <> address in customers and payments flow (#2158) (8ee2ce1)

Full Changelog: v1.42.0...v1.43.0


1.42.0 (2023-09-20)

Features

  • connector: [Trustpay] Add Blik payment method for trustpay (#2152) (d0eec9e)

Bug Fixes

  • connector: [SQUARE] Fix payments cancel issue (#2162) (081545e)

Refactors

  • configs: Make TOML file an optional source of application configuration (#2185) (69fbebf)
  • core: Error thrown for wrong mca in applepay_verification flow change from 5xx to 4xx (#2189) (656e710)

Full Changelog: v1.41.0...v1.42.0


1.41.0 (2023-09-20)

Features

  • connector: [Gocardless] add boilerplate code (#2179) (6a64180)

Bug Fixes

  • core: Add merchant_id to gpay merchant info (#2170) (5643ecf)
  • Remove x-request-id from headers before connector calls (#2182) (680505f)
  • Handle 5xx during multiple capture call (#2148) (e8d948e)

Refactors

  • connector: [Adyen] psync validation check for adyen (#2160) (386e820)
  • core: Add additional parameters in AppState and refactor AppState references (#2123) (a0a8ef2)
  • router: Use billing address for payment method list filters as opposed to shipping address (#2176) (b3d5d3b)
  • Remove redundant validate_capture_method call (#2171) (1ea823b)

Full Changelog: v1.40.1+hotfix.1...v1.41.0


1.40.1 (2023-09-18)

Refactors

  • connector: [Bluesnap] Enahnce 3ds Flow (#2115) (272f5e4)
  • Set merchant_id as MERCHANT_ID_NOT_FOUND for traces and metrics if not found (#2156) (d40fae8)

Full Changelog: v1.40.0...v1.40.1


1.40.0 (2023-09-15)

Features

  • connector: (adyen) add support for multiple partial capture adyen (#2102) (9668a74)
  • pm_auth: Add plaid to connector list (#2166) (0bc99ad)

Bug Fixes

  • router: Move get_connector_tokenization_action_when_confirm_true above call_create_connector_customer_if_required (#2167) (15418a6)
  • Make amount_capturable zero when payment intent status is processing (#2163) (d848b55)

Refactors

  • router: Add camel_case for the applepay request (#2172) (4c36fcb)

Testing

  • postman: Update postman collection files (b30d82d)

Full Changelog: v1.39.2...v1.40.0


1.39.2 (2023-09-14)

Bug Fixes

  • router: Add scoped error enum for customer error (#1988) (5c5058d)

Refactors

  • connector: [BraintreeGraphQl] Enhance currency Mapping with ConnectorCurrencyCommon Trait (#2143) (05696d3)
  • router:
    • Changed the storage of applepay_verified_domains from business_profile to merchant_connector_account table (#2147) (caa385a)
    • Get route for applepay_verified_domains (#2157) (fb1760b)
  • Add instrument to trackers for payment_confirm (#2164) (c804954)

Testing

  • postman: Update postman collection files (089bb64)

Full Changelog: v1.39.1+hotfix.1...v1.39.2


1.39.1 (2023-09-13)

Bug Fixes

  • connector: [SQUARE] Add uri authority in Webhooks (#2138) (daa0759)
  • core: Update amount_capturable in update trackers (#2142) (bed8326)
  • Payment status fix in trustpay for 3ds and wallets (#2146) (9b92d04)

Refactors

  • connector: [Stripe] add support for more incoming woocommerce Stripe disputes webhooks (#2150) (e023eb8)
  • masking: Move masking implementations to masking crate (#2135) (9d74a75)
  • Move Request and RequestBuilder structs to common_utils crate (#2145) (21be67a)

Testing

  • postman: Update postman collection files (be397de)

Full Changelog: v1.39.0...v1.39.1


1.39.0 (2023-09-12)

Features

  • connector:
    • [Braintree] implement 3DS card payment for braintree (#2095) (d63cbbd)
    • [payme] Add support for dispute webhooks (#2089) (341163b)
  • core:
    • Enable payments void for multiple partial capture (#2048) (a81bfe2)
    • Add runtime flag to disable dummy connector (#2100) (d52fe7f)
  • db: Implement ReverseLookupInterface for MockDb (#2119) (f2df2d6)
  • router:
    • Disable temp locker call for connector-payment_method flow based on env (#2120) (fea5c4d)
    • New get route for derivation of verified applepay domain (#2121) (177d8e5)
    • Added new webhook URL to support merchant_connector_id (#2006) (82b36e8)

Bug Fixes

  • connector: [SQUARE] Throw Error for Partial Capture of Payments (#2133) (cc8847c)
  • core: [Bluesnap] Add secondary_base_url for script (#2124) (1407049)
  • payment_methods: Default card fetch to locker call (#2125) (ffe9009)
  • refactor: [Paypal] refactor paypal not implemented payment methods errors (#1974) (ca9fb0c)
  • router: Move connector customer create flow to call_connector_service (#2137) (4d3e6bc)
  • router/scheduler: Replace the occurrences of gen_range with a safer alternative (#2126) (94ac5c0)
  • webhooks: Fix database queries in webhook (#2139) (eff280f)
  • Eliminate recursive call while updating config in database (#2128) (a3dd8b7)

Refactors

  • connector: [Zen] refactor Zen payment methods not implemented errors (#1955) (b0c4ee2)
  • pm_list: Get profile_id from business_details in list pm (#2131) (90868b9)

Testing

  • postman: Update postman collection files (7e29adb)

Full Changelog: v1.38.0...v1.39.0


1.38.0 (2023-09-11)

Features

  • confirm: Reduce the database calls to 2 stages in case of non-retry (#2113) (28b102d)
  • core: Accept payment_confirm_source header in capture call and store in payment_intent (#2116) (2f272d2)
  • router: Saving verified domains to business_profile table (#2109) (73da641)

Bug Fixes

  • router: validate_psync_reference_id only if call_connector_action is trigger in psync flow (#2106) (60c5fdb)
  • Implement persistent caching for config table retrieval (#2044) (25e82a1)

Refactors

  • core: Use profile id to find connector (#2020) (5b29c25)
  • storage_impl: Split payment attempt models to domain + diesel (#2010) (ad4b7de)

Testing

  • connector: Skip ui sanity tests for external contributors (#2118) (f5fed94)

Full Changelog: v1.37.0...v1.38.0


1.37.0 (2023-09-10)

Features

  • connector:
    • (checkout.com) add support for multiple captures PSync (#2043) (517c5c4)
    • [Cryptopay]Add reference id for cryptopay (#2107) (576648b)
  • db: Implement BusinessProfileInterface for MockDb (#2101) (0792605)
  • payments: Make database calls parallel for payments_confirm operation (#2098) (fea075e)

Bug Fixes

  • connector: Revert checkout apple pay to tokenization flow (#2110) (cc5add6)
  • Null value in session token in next action (#2111) (f015394)

Refactors

  • connector:
    • [Stripe] Using connector_request_reference_id as object_reference_id for Webhooks (#2064) (e659e70)
    • [Adyen] refactor adyen payment method not implemented errors (#1950) (955534e)

Full Changelog: v1.36.0...v1.37.0


1.36.0 (2023-09-07)

Features

  • apple_pay: Add support for pre decrypted apple pay token (#2056) (75ee632)

Refactors

  • connector:
    • [Payme] Rename types to follow naming conventions (#2096) (98d7005)
    • [Payme] Response Handling for Preprocessing (#2097) (bdf4832)
  • router: Changed auth of verify_apple_pay from mid to jwt (#2094) (8246f4e)

Miscellaneous Tasks

Full Changelog: v1.35.0...v1.36.0


1.35.0 (2023-09-06)

Features

  • connector:
  • payment_methods: Store necessary payment method data in payment_methods table (#2073) (3c93552)

Bug Fixes

  • connector: [STAX] Incoming amount will be processed in higher unit (#2091) (de9e0fe)
  • router: Send connection_closed errors as 5xx instead of 2xx (#2093) (4d58bdb)

Refactors

  • refunds: Add success RefundStatus in should_call_refund check (#2081) (9cae5de)
  • scheduler: Move scheduler to new crate to support workflows in multiple crates (#1681) (d4221f3)

Testing

  • postman: Update postman collection files (25f8c35)

Full Changelog: v1.34.1...v1.35.0


1.34.1 (2023-09-05)

Bug Fixes

Refactors

  • router: New separate routes for applepay merchant verification (#2083) (dc908f6)

Testing

  • postman: Update postman collection files (#2070) (cfa6ae8)

Full Changelog: v1.34.0...v1.34.1


1.34.0 (2023-09-04)

Features

  • frm:
    • Enum variant misspelled changed from fullfillment to fulfillment (#2065) (e1cebd4)
    • Add support to accept and decline payment when manually reviewed by merchant for risky transaction (#2071) (229f111)

Refactors

  • Include binary name in service field in log entries (#2077) (20d44ac)

Documentation

  • postman: Update documentation for postman tests (#2057) (119aeb4)

Full Changelog: v1.33.0...v1.34.0


1.33.0 (2023-09-03)

Features

  • api: Use ApiClient trait in AppState (#2067) (29fd2ea)
  • connector:
    • [Zen] Use connector_request_reference_id as Transaction Id to Retrieve Payments (#2052) (5b92c39)
    • [Bluesnap] Add dispute webhooks support (#2053) (f8410b5)
    • [Paypal] Add manual capture for paypal wallet (#2072) (99ff82e)
  • pm_list: Add card - credit pm type required field info for connectors (#2075) (a882d76)
  • webhooks: Webhook source verification (#2069) (8b22f38)

Bug Fixes

  • connector:
    • [Paypal] fix PSync for redirection flow for PayPal (#2068) (e730c73)
    • [STAX] Add ACH Payment Filter for Bank Debits (#2074) (a12a370)
  • router: Correct limit for payments list by filters (#2060) (b7d6d31)

Refactors

  • connector: [Shift4] refactor connector authorize request struct (#1888) (e44c32d)
  • router: Return generic message for UnprocessableEntity in make_pm_data (#2050) (38ab6e5)

Full Changelog: v1.32.0...v1.33.0


1.32.0 (2023-08-31)

Features

  • connector: [Square] Implement Card Payments for Square (#1902) (c9fe389)
  • core: Connector specific validation for Payment Sync (#2005) (098dc89)
  • router:
    • Verify service for applepay merchant registration (#2009) (636b871)
    • Send connector timeouts and connection closures as 2xx response instead of giving 5xx response (#2047) (31088b6)

Bug Fixes

  • connector: [Bluesnap] make error_name as optional field (#2045) (ab85617)
  • mock_db: Insert merchant for mock_db (#1984) (fb39795)

Refactors

  • router: Fixed unprocessable entity error message to custom message (#1979) (655b388)

Testing

  • postman: Update event file format to latest supported (#2055) (eeee0ed)

Documentation

  • CONTRIBUTING: Fix open a discussion link (#2054) (58105d4)

Miscellaneous Tasks

Full Changelog: v1.31.0...v1.32.0


1.31.0 (2023-08-30)

Features

  • core: Conditionally return captures list during payment sync. (#2033) (c2aa014)

Bug Fixes

  • configs: Fix supported connectors in multiple_api_version_supported_connectors table (#2051) (416ad8f)
  • connector: [Cryptopay] fix amount to its currency base unit (#2049) (d3f1858)

Full Changelog: v1.30.0...v1.31.0


1.30.0 (2023-08-29)

Features

  • connector:
    • [HELCIM] Add template code for Helcim (#2019) (d804b23)
    • (globalpay) add support for multilple partial capture (#2035) (a93eea7)
    • (checkout_dot_com) add support for multiple partial captures (#1977) (784702d)
  • router: Add total count for payments list (#1912) (7a5c841)

Bug Fixes

  • connector: Change 5xx to 4xx for Coinbase and Iatapay (#1975) (e64d5a3)

Refactors

Full Changelog: v1.29.0...v1.30.0


1.29.0 (2023-08-29)

Features

  • connector: [Paypal] add support for payment and refund webhooks (#2003) (ade27f0)

Bug Fixes

  • connector: [Payme] populate error message in case of 2xx payment failures (#2037) (aeebc5b)
  • router: Remove attempt_count in payments list response and add it in payments response (#2008) (23b8d34)

Miscellaneous Tasks

Full Changelog: v1.28.1...v1.29.0


1.28.1 (2023-08-28)

Bug Fixes

  • connector: [Noon] handle 2 digit exp year and 3ds checked status (#2022) (322c615)

Refactors

  • postman: Remove routing algorithm struct from merchant account create (#2032) (3d4f750)

Full Changelog: v1.28.0...v1.28.1


1.28.0 (2023-08-28)

Features

  • connector: [CashToCode] perform currency based connector credentials mapping (#2025) (7c0c3b6)

Full Changelog: v1.27.2...v1.28.0


1.27.2 (2023-08-27)

Bug Fixes

  • request: Add idle_pool_connection_timeout as a config (#2016) (6247996)

Refactors

  • core: Authenticate client secret with fulfilment time (#2026) (1e44c8d)

Full Changelog: v1.27.1...v1.27.2


1.27.1 (2023-08-25)

Bug Fixes

  • locker: Accept the incoming token as the basilisk token if it is a mandate payment (#2013) (ac63794)
  • payment: Fix max limit on payment intents list (#2014) (a888953)

Testing

  • connector: Add support for adyen webhooks (#1999) (fcaca76)

Full Changelog: v1.27.0...v1.27.1


1.27.0 (2023-08-24)

Features

  • api_client: Add api client trait (#1919) (97b2747)
  • connector: [Braintree] Add Authorize, Capture, Void, PSync, Refund, Rsync for Braintree GraphQL API (#1962) (820f615)

Bug Fixes

  • connector:
    • [Paypal] fix amount to its currency base unit for Paypal Bank redirects (#2002) (4accb41)
    • [Trustpay] Add missing payment status codes in failure check (#1997) (e889749)
    • Fix payme error response deserialization error (#1989) (16facdf)
    • [Bluesnap] Update incoming Webhooks flow (#1982) (8c066d3)

Testing

  • Move Postman collections to directory structure (#1995) (b7e4048)

Miscellaneous Tasks

  • creds: Updated the API Keys to not use wrong creds (#2001) (ad991c0)

Full Changelog: v1.26.0...v1.27.0


1.26.0 (2023-08-23)

Features

  • business_profile: Add profile id in affected tables and modify api contract (#1971) (fe8d4c2)
  • connector: Fail payment authorize when capture_method is manual_method (#1893) (bca9d50)
  • core: Add psync for multiple partial captures (#1934) (5657ad6)
  • pm_list: Add card pm required field info for connectors (#1918) (52e0176)
  • router:
    • Add relevant metrics and logs for manual retries flow (#1985) (1b346fc)
    • Add fields in payments list response (#1987) (abc736b)
    • Add attempt_count in list payments response (#1990) (f0cc0fb)

Bug Fixes

  • test_utils: Remove cmd alias for std::process::Command (#1981) (c161530)
  • webhooks:
    • Send stripe compatible webhooks for stripe compatible merchants (#1986) (36631ad)
    • Handling errors inside source verification (#1994) (f690c5f)

Performance

  • db: Add index for attempt_id merchant_id (#1993) (57d22b9)

Refactors

  • core: Made authenticate_client_secret function public (#1992) (6986772)

Full Changelog: v1.25.1...v1.26.0


1.25.1 (2023-08-22)

Bug Fixes

  • Storage of generic payment methods in permanent locker (#1799) (19ee324)

Full Changelog: v1.25.0...v1.25.1


1.25.0 (2023-08-22)

Features

  • storage_impl: Split payment intent interface implementation (#1946) (88d65a6)

Bug Fixes

  • core: Update Webhooks Event Mapping and Forced Psync preconditions (#1970) (8cf1f75)

Full Changelog: v1.24.0...v1.25.0


1.24.0 (2023-08-21)

Features

  • router: Add total count for refunds list (#1935) (84967d3)

Bug Fixes

Full Changelog: v1.23.0...v1.24.0


1.23.0 (2023-08-18)

Features

  • business_profile: Add business profile table and CRUD endpoints (#1928) (53956d6)

Bug Fixes

  • connector: [CashToCode] Transform minor units to major units (#1964) (ff2efe8)
  • payment_methods: Return parent_payment_method_token for other payment methods (BankTransfer, Wallet, BankRedirect) (#1951) (156430a)

Refactors

  • compatibility: Changed MCA decode 500 error to 422 (#1958) (0d85c1f)

Full Changelog: v1.22.0...v1.23.0


1.22.0 (2023-08-18)

Features

  • router: Send 2xx payments response for all the connector http responses (2xx, 4xx etc.) (#1924) (0ab6827)

Bug Fixes

  • connector: [Payme] Fix for partial capture validation (#1939) (3d62cb0)

Full Changelog: v1.21.2...v1.22.0


1.21.2 (2023-08-17)

Bug Fixes

  • connector: [Braintree] fix status mapping for braintree (#1941) (d30fefb)
  • frm: Added fraud_check_last_step field in fraud_check table to support 3DS transaction in frm (#1944) (9a39345)

Refactors

  • connector: Remove payment experience from Not Supported Payment Methods error (#1937) (c5cf029)

Full Changelog: v1.21.1...v1.21.2


1.21.1 (2023-08-15)

Bug Fixes

  • connector: [Braintree] add merchant_account_id field in authorize request (#1916) (68df9d6)

Refactors

  • storage_impl: Integrate the composite store from external crate (#1921) (9f199d9)

Documentation

Full Changelog: v1.21.0...v1.21.1


1.21.0 (2023-08-14)

Features

  • generics: Add metrics for database calls (#1901) (bb6ec49)

Bug Fixes

  • frm: Add new column frm_config instead of alterning the existing… (#1925) (8d916fe)
  • Add diesel migration to update local db (#1812) (97a495c)

Refactors

  • storage: Add redis structs to storage impls (#1910) (3e26966)

Full Changelog: v1.20.0...v1.21.0


1.20.0 (2023-08-11)

Features

  • connector: [PayMe] Implement preprocessing flow for cards (#1904) (38b9c07)
  • router: Add webhook source verification support for multiple mca of the same connector (#1897) (3554fec)

Bug Fixes

  • connector:
    • [STAX] Add currency filter for payments through Stax (#1911) (5bc7592)
    • [Paypal] send valid error_reason in all the error responses (#1914) (3df9441)
  • payment_methods: Delete token when a payment reaches terminal state (#1818) (07020d0)

Refactors

  • storage: Add a separate crate to represent store implementations (#1853) (32b731d)

Miscellaneous Tasks

  • webhooks: Ignore payment not found in webhooks (#1886) (29f068b)

Full Changelog: v1.19.0...v1.20.0


1.19.0 (2023-08-10)

Features

  • connector: [Adyen] implement Japanese convenience stores (#1819) (a6fdf6d)
  • docs: Add multiple examples support and webhook schema (#1864) (f8ef52c)

Bug Fixes

  • connector:
    • [ACI] Response Handling in case of ErrorResponse (#1870) (14f599d)
    • [Adyen] Response Handling in case of RefusalResponse (#1877) (c35a571)
  • router: Handle JSON connector response parse error (#1892) (393c2ab)

Refactors

  • connector: Update the connector_template (#1895) (5fe96d4)
  • Remove unnecessary debug logs from payment method list api (#1884) (ba82f17)

Documentation

  • Add architecture and monitoring diagram of hyperswitch (#1825) (125ef2b)

Miscellaneous Tasks

  • configs: Add payout_connector_list config to toml (#1909) (c1e5626)
  • Add connector functionality validation based on connector_type (#1849) (33c6d71)
  • Remove spaces at beginning of commit messages when generating changelogs (#1906) (7d13226)

Full Changelog: v1.18.0...v1.19.0


1.18.0 (2023-08-09)

Features

  • connector:
    • [Adyen] Add support for card redirection (KNET, BENEFIT) (#1816) (62461f1)
    • [Checkout] unify error code, message and reason in error response (#1855) (e8a51c2)
    • Unified error message & errorCode for blueSnap connector (#1856) (222afee)
    • [Adyen] Implement Open Banking Uk in Bank Redirects (#1802) (b9f1270)
    • [Adyen] Implement Momo Atm(Napas) in Card Redirects (#1820) (8ae6737)
    • [Stax] Implement Bank Debits and Webhooks for Connector Stax (#1832) (0f2bb6c)
  • pm_list: Add pm required field info for crypto pay (#1891) (c205f06)
  • router: Add support for multiple partial capture (#1721) (c333fb7)

Bug Fixes

  • router:
    • Add serde(transparent) annotation for PaymentMethodMetadata (#1899) (2d83917)
    • Send error_reason as error_message in payments and refund flows (#1878) (6982194)

Refactors

  • access_token: Handle timeout errors gracefully (#1882) (cc4136f)
  • authorize_flow: Suppress error while saving a card to locker after successful payment (#1874) (3cc4548)

Testing

  • connector: Add support for webhook tests (#1863) (7b2c419)

Full Changelog: v1.17.1...v1.18.0


1.17.1 (2023-08-07)

Bug Fixes

  • connector: [DummyConnector] add new icons and fix we_chat_pay (#1845) (985ff6b)
  • kms: Fix kms decryption for jwe keys (#1872) (ddc0302)

Revert

  • Ci: use sccache-action for caching compilation artifacts (#1880) (a988018)

Full Changelog: v1.17.0...v1.17.1


1.17.0 (2023-08-07)

Features

  • config: Add config support to pt_mapping along with redis (#1861) (b03dd24)
  • connector: [Payme] Add Sync, RSync & webhook flow support (#1862) (8057980)

Bug Fixes

  • core: If frm is not called, send None in frm_message instead of initial values in update tracker (#1867) (3250204)

Revert

  • Fix(core): add validation for all the connector auth_type (#1833) (ae3d25e)

Full Changelog: v1.16.0...v1.17.0


1.16.0 (2023-08-04)

Features

Bug Fixes

  • webhooks: Do not send duplicate webhooks (#1850) (0d996b8)

Refactors

  • connector: Use utility function to raise payment method not implemented errors (#1847) (f2fcc25)
  • payment_methods: Add requires_cvv field to customer payment method list api object (#1852) (2dec2ca)

Full Changelog: v1.15.0...v1.16.0


1.15.0 (2023-08-03)

Features

  • connector:
    • [Boku] Implement Authorize, Psync, Refund and Rsync flow (#1699) (9cba7da)
    • add support for bank redirect for Paypal (#1107) (57887bd)
    • [Adyen] implement Adyen bank transfers and voucher payments in Indonesia (#1804) (9977f9d)
    • Unified errorCode and errorMessage map error reason as errorMessage in Stripe Connector (#1797) (c464cc5)

Refactors

  • common_enums: Added derive for additional traits in FutureU… (#1848) (8f6583f)
  • config: Add new type for kms encrypted values (#1823) (73ed7ae)

Full Changelog: v1.14.1...v1.15.0


1.14.1 (2023-08-02)

Bug Fixes

  • Include merchant reference in CreateIntentRequest (#1846) (db55ed0)

Full Changelog: v1.14.0...v1.14.1


1.14.0 (2023-08-02)

Features

  • Connector: [Stripe] Implement Cashapp Wallet (#1103) (dadd13e)
  • connector:
    • [iatapay] fix refund amount, hardcode IN for UPI, send merchant payment id (#1824) (505aa21)
    • [Adyen] implement Swish for Adyen (#1701) (cf30255)
    • [Trustpay] unify error_code, error_message and error_reason in error response (#1817) (8a638e4)
    • [Stax] Implement Cards for Connector Stax (#1773) (f492d0a)
    • [Adyen] Implement Boleto Bancario in Vouchers and Add support for Voucher in Next Action (#1657) (801946f)
    • [Adyen] Add support for Blik (#1727) (30e41a9)
  • core: Added key should_cancel_transaction in update trackers to support Frm Pre flow cancellation (#1811) (5d6510e)
  • payment_methods: Added value Field in required Field for Pre-filling (#1827) (e047a11)
  • pii: Implement a masking strategy for UPI VPAs (#1641) (e3a33bb)

Bug Fixes

  • connector:
    • [Stripe] change payment_method name Wechatpay to wechatpayqr (#1813) (208d619)
    • Refactor capture and refund flow for Connectors (#1821) (d06adc7)
    • [Payme] Fix refund request fields (#1831) (6f8be0c)
    • [Airwallex] Psync response (#1826) (8f65819)
    • Refactor psync and rsync for connectors (#1830) (7a0d6f6)
  • payments:
    • All AdditionalCardInfo fields optional (#1840) (a1cb255)
    • Write a foreign_from implementation for payment_method_data and add missing payment methods in helpers.rs (#1801) (50298c1)
  • ui-tests:
  • Request amount fix for trustpay apple pay (#1837) (3da69f3)

Refactors

  • multiple_mca: Make primary_business_detail optional and remove default values (#1677) (9c7ac62)
  • redis: Invoke redis_conn() method instead of cloning redis_conn property in StorageInterface (#1552) (f32fdec)
  • router: Include currency conversion utility functions as Currency methods (#1790) (2c9c8f0)
  • ui_tests: Move ui_tests to test_utils crate to reduce development time (#1822) (5773faf)

Full Changelog: v1.13.2...v1.14.0


1.13.2 (2023-08-01)

Bug Fixes

  • webhook: Provide acknowledgment for webhooks with unsupported event types (#1815) (28a371b)

Full Changelog: v1.13.1...v1.13.2


1.13.1 (2023-07-31)

Bug Fixes

  • connector: [Trustpay] send billing address name as cardholder name (#1806) (71b75c6)
  • logs: Remove request from logs (#1810) (5ad3950)

Testing

  • connector: Refactor UI test for connectors (#1807) (34ff408)

Full Changelog: v1.13.0...v1.13.1


1.13.0 (2023-07-28)

Features

  • dummy_connector: Add 3DS Flow, Wallets and Pay Later for Dummy Connector (#1781) (8186c77)
  • router: Validate payment method type in payments request against given payment method data for non-card flows (#1236) (7607b6b)

Bug Fixes

  • Connector: [Noon] Update ApplePay Payment Struct (#1794) (b96687c)
  • router: Add validation for all the connector auth type (#1748) (1cda7ad)

Documentation

Full Changelog: v1.12.0...v1.13.0


1.12.0 (2023-07-27)

Features

  • connector: [Zen] Add Latam Payment Methods (#1670) (4df67ad)
  • core: Changed frm_config format type in merchant_connector_account and added frm_message in payments response (#1543) (c284f41)
  • errors: Add GenericDuplicateError inApiErrorResponse (#1792) (7f94716)
  • router:
    • Add grouping and priority logic in connector utils to handle multiple errors in connector flows (#1765) (e6a5e9f)
    • Apply filters on payments (#1744) (04c3de7)
  • Api contract for gift cards (#1634) (8369626)

Bug Fixes

  • connector:
    • [Powertranz] Fix response handling for https status code other than 200 (#1775) (4805a94)
    • [Klarna] Handle error response with both error_messages and error_message fields (#1783) (9cfdce0)
  • router: Add manual retry flag in Re-direction url (#1791) (20f6644)

Refactors

  • core: Use secrets for connector AuthType in connector integration (#1441) (d068569)

Revert

  • Feat(connector): [Adyen] Add pix support for adyen (#1795) (38f14b9)

Full Changelog: v1.11.0...v1.12.0


1.11.0 (2023-07-26)

Features

  • compatibility: Add wallet mandate support setup intent and connector_metadata field (#1767) (af9a458)
  • connector:
  • db: Implement MerchantKeyStoreInterface for MockDb (#1772) (f3baf2f)
  • macro: Add config validation macro for connectors (#1755) (37a0651)
  • router: Add merchant_id check for manual_retry_allowed flag sent in payments response (#1785) (435c939)

Bug Fixes

  • connector:
    • [Bluesnap] Populate Error Reason and Update error handling (#1787) (5c6bcb5)
    • [Tsys] Update endpoint and unit tests (#1730) (8223f8b)
  • redis_interface: Add back Redis pool connect step (#1789) (1f8e790)

Refactors

  • fix: [Mollie] Add support for both HeaderKey and BodyKey AuthType (#1761) (07c60f8)
  • redis_interface: Remove the Drop implementation on RedisConnectionPool (#1786) (ac17b11)

Testing

  • UI-tests: Allow ignoring connector tests at runtime (#1766) (884f284)
  • connector: [Nexinets] Add UI test for Nexinets Payment methods (#1784) (bf62a7c)

Full Changelog: v1.10.2...v1.11.0


1.10.2 (2023-07-25)

Bug Fixes

  • connector: [Paypal] fix amount to its currency base unit (#1780) (f40d144)

Revert

  • Connector_label in webhook url is reverted back to connector_name (#1779) (a229c37)

Full Changelog: v1.10.1...v1.10.2


1.10.1 (2023-07-25)

Bug Fixes

  • config: Detect duplicate config insert and throw appropriate error (#1777) (1ab4226)
  • connector:
    • [Paypal] Fix payment status for PayPal cards (#1749) (88b4b96)
    • Apple pay not working because of payment_method_type[] field stripe (#1759) (039a859)
  • core: Address 500 when deleting payment method and add logs to postman collections (#1695) (df3970f)
  • router:
    • Validate schedule time before scheduling API key expiry reminder (#1776) (7b1dc78)
    • Restricted unknown customer_id to be pass in payment confirm and update call (#1758) (32c7324)

Refactors

  • payments: Dont update client secret on payment intent status update (#1778) (b719725)

Documentation

  • postman: Added a note about how postman now requires you to fork a collection in order to send a request (#1769) (1afc548)

Miscellaneous Tasks

  • config: [Paypal] Add configs for PayPal mandates for adyen (#1774) (bad9b94)

Full Changelog: v1.10.0...v1.10.1


1.10.0 (2023-07-21)

Features

  • connector:

Bug Fixes

  • compatibility: Map connector_metadata to core request (#1753) (f340860)
  • connector:
    • [Authorizedotnet] Convert amount from cents to dollar before sending to connector (#1756) (a685a9a)
    • [Adyen] Fix error message for fraud check from Adyen connector (#1763) (78ce8f7)
  • router: Add additional card info in payment response (#1745) (a891708)
  • template: Address add_connector.sh throwing errors when creating new connector template (#1679) (3951561)
  • Remove payout test cases from connector-template (#1757) (d433a98)

Testing

Full Changelog: v1.9.0...v1.10.0


1.9.0 (2023-07-20)

Features

Bug Fixes

  • adyen_ui: Ignore tests failing from connector side (#1751) (e0f4507)
  • connector:
    • [PowerTranz] error message from response_code in absence of errors object & comment billing and shipping as it is optional (#1738) (54f7ab7)
    • Update amount captured after webhook call and parse error responses from connector properly (#1680) (cac9f50)
    • Deserialization error due to latest_charge stripe (#1740) (c53631e)
    • Stripe mandate failure and other ui tests failures (#1742) (ea119eb)

Testing

  • connector:
    • [Authorizedotnet] Add UI test for Authorizedotnet Payment methods (#1736) (f44cc1e)
    • [Adyen] Add UI test for Adyen Payment methods (#1648) (2e9b783)
    • [Noon] Add test for Noon Payment methods (#1714) (f06e5dc)

Full Changelog: v1.8.0...v1.9.0


1.8.0 (2023-07-19)

Features

  • connector:
  • merchant_account: Add is_recon_enabled field in merchant_account (#1713) (7549cd3)

Bug Fixes

  • connector:
    • [PowerTranz] resolve pr comments and add comments (#1726) (432a8e0)
    • [PowerTranz] fix rsync not implemented error (#1734) (d52b564)
    • [PowerTranz] removing optional field shipping address (#1737) (63eac1f)
  • webhook: Do not fail webhook verification if merchant_secret is not set by merchant (#1732) (374f2c2)

Testing

  • connector: [Aci] Add UI test for Aci Payment Methods (#1702) (fe7a5b0)

Full Changelog: v1.7.0...v1.8.0


1.7.0 (2023-07-18)

Features

Bug Fixes

  • build: Add a standalone Redis mode in docker-compose installation (#1661) (ee1f6cc)
  • router: Add parsing for connector_request_reference_id env (#1731) (110fbe9)

Refactors

  • router: Remove WebhookApiErrorSwitch and implement error mapping using ErrorSwitch (#1660) (a7c66dd)

Full Changelog: v1.6.0...v1.7.0


1.6.0 (2023-07-17)

Features

  • compatibility:
    • [upi] add upi pm in compatibility layer, convert amount to base unit in iatapay (#1711) (5213656)
    • Add support for stripe compatible webhooks (#1728) (87ae99f)
  • connector:
  • mandates: Recurring payment support for bank redirect and bank debit payment method for stripe (#1119) (14c2d72)
  • router:
    • Add attempt_count field in attempt update record of payment_intent (#1725) (95de3a5)
    • Restricted customer update in payments-confirm and payments-update call via clientAuth (#1659) (94a5eb3)

Bug Fixes

  • ci: Run UI tests only for 15mins max in case of build failure (#1718) (16a2c46)
  • connector:
    • [Adyen] Fix Klarna mandates for Adyen (#1717) (c34a049)
    • [Adyen] Add bizum in common enums (#1719) (cbde4a6)
    • [Multisafepay] Fix bug in Paypal payment decline and cancel (#1647) (a77ab42)
  • payments: Populate mandate_data in the response body of the PaymentsCreate endpoint (#1715) (fb149cb)
  • refunds: Modify refund fields to process updating of refund_reason (#1544) (9890570)
  • router: Convert ephemeral to client secret auth list payment_method_customer (#1602) (5fbd1cc)

Refactors

  • pm_list: Update required fields for a payment method (#1720) (8dd9fcc)

Revert

  • Refactor(pm_list): Update required fields for a payment method (#1724) (c6f7455)

Full Changelog: v1.5.0...v1.6.0


1.5.0 (2023-07-14)

Features

  • connector:
    • [Tsys] Add template code for Tsys connector (#1704) (7609895)
    • [Authorizedotnet] Add Wallet support (#1223) (05540ea)
    • [Adyen] Add support for PayPal wallet mandates (#1686) (82fd844)
  • router: Add expand attempts support in payments retrieve response (#1678) (8572f1d)
  • Filter out payment_methods which does not support mandates during list api call (#1318) (07aef53)
  • Add organization_id to merchant account (#1611) (7025b78)

Bug Fixes

  • api_keys: Fix API key being created for non-existent merchant account (#1712) (c9e20dc)
  • router: Decrease payment method token time based on payment_intent creation time (#1682) (ce1d205)
  • ui-test: Run UI tests only on merge-queue (#1709) (cb0ca0c)
  • Store and retrieve merchant secret from MCA table for webhooks source verification (#1331) (a6645bd)

Refactors

  • CI-push: Move merge_group to CI-push (#1696) (08cca88)
  • payment_methods: Remove legacy locker code as it is not been used (#1666) (8832dd6)

Testing

  • connector:

Miscellaneous Tasks

Full Changelog: v1.4.0...v1.5.0


1.4.0 (2023-07-13)

Features

  • connector:
    • [Globepay] add authorize and psync flow (#1639) (c119bfd)
    • [PowerTranz] Add cards support for PowerTranz connector (#1687) (07120bf)
  • payments: Add client secret in redirect response (#1693) (f7d369a)
  • router: Add connector_response_reference_id in payments response (#1664) (a3ea5dc)

Bug Fixes

  • compatibility:
    • Fix mismatched fields in the payments flow (#1640) (e0113b9)
    • Fix AddressDetails in the customers flow (#1654) (f48d6c4)

Refactors

  • enums: Move enums from storage_models and api_models crates to common_enums crate (#1265) (c0e1d4d)
  • payment_methods: Fix db insert for payment method create (#1651) (73f91a5)
  • storage: Update crate name to diesel models (#1685) (5a0e8be)

Testing

  • connector: [Trustpay] Add ui test for card 3ds (#1683) (3f756e5)

Full Changelog: v1.3.0...v1.4.0


1.3.0 (2023-07-12)

Features

  • payments: Dont delete client secret on success status (#1692) (5216d22)
  • Convert QrData into Qr data image source url (#1674) (55ff761)

Refactors

  • Include binary name in crates_to_filter for logging (#1689) (123b34c)

Full Changelog: v1.2.0...v1.3.0


1.2.0 (2023-07-11)

Features

  • connector: [PowerTranz] Add template code for PowerTranz connector (#1650) (f56f9d6)
  • payments: Add client_secret auth for payments retrieve (#1663) (b428298)
  • pm_list: Add required field info for crypto pay (#1655) (6d4943d)
  • router: Add connector_request_reference_id in router_data based on merchant config (#1627) (865db94)

Bug Fixes

  • CI: Fix msrv checks on github run on push to main (#1645) (05ea08b)
  • core:
    • Fix wallet payments throwing Invalid 'payment_method_type' provided and UI test issues (#1633) (307a470)
    • Add Payment_Method_data in Redirection Form (#1668) (b043ce6)
  • locker: Remove delete_locker_payment_method_by_lookup_key from payments_operation_core (#1636) (b326c18)
  • middleware: Include x-request-id header in access-control-expose-headers header value (#1673) (b1ae981)
  • router:
    • Use Connector enum for connector_name field in MerchantConnectorCreate (#1637) (e750a73)
    • Remove requires_customer_action status to payment confirm (#1624) (69454ec)
  • Map not found error properly in db_not found (#1671) (fbd40b5)

Full Changelog: v1.1.1...v1.2.0


1.1.0 (2023-07-07)

Features

  • connector:
    • [Globepay] Add template code for Globepay connector (#1623) (06f92c2)
    • [Payme] add Authorize, Sync, Capture, Refund, Refund Sync, Mandate & web hooks support for cards (#1594) (093cc6a)
  • router: Get filters for payments (#1600) (d5891ec)
  • Add cache for api_key and mca tables (#1212) (fc9057e)

Bug Fixes

  • router: Desc payment list for pagination (#1556) (f77fdb7)

Full Changelog: v1.0.5...v1.1.0


1.0.5 (2023-07-06)

Features

  • connector: [Stripe] Add support for WeChat Pay and Qr code support in next action (#1555) (a15a77d)
  • test: Add support to run UI tests in CI pipeline (#1539) (21f5e20)

Bug Fixes

  • connector: [Rapyd] Add router_return_url in 3DS request (#1621) (e913bfc)

Refactors

Full Changelog: v1.0.4...v1.0.5


1.0.4 (2023-07-05)

Features

  • connector: [DummyConnector] add new dummy connectors (#1609) (cf7b672)
  • payments: Add connector_metadata, metadata and feature_metadata fields in payments, remove udf field (#1595) (e713b62)
  • router:
    • Modify attempt_id generation logic to accommodate payment_id as prefix (#1596) (82e1bf0)
    • Add card_info in payment_attempt table if not provided in request (#1538) (5628985)
  • List payment_methods with the required fields in each method (#1310) (6447b04)

Bug Fixes

  • payment_methods: Return an empty array when the merchant does not have any payment methods (#1601) (04c60d7)

Refactors

  • fix: [Nuvei] fix currency conversion issue in nuvei cards (#1605) (1b22638)
  • redis_interface: Changed the in the get_options value from true to false (#1606) (737aeb6)
  • router: Add psync task to process tracker after building connector request in payments flow (#1603) (e978e9d)

Miscellaneous Tasks

  • connector-template: Update connector template code (#1612) (8c90d0a)

Full Changelog: v1.0.3...v1.0.4


1.0.3 (2023-07-04)

Features

  • compatibility: Add straight through routing and udf mapping in setup intent (#1536) (1e87f3d)
  • connector:
    • [Adyen] implement Alipay HK for Adyen (#1547) (2f9c289)
    • [Mollie] Implement Przelewy24 and BancontactCard Bank Redirects for Mollie connector (#1303) (f091be6)
    • [Multisafepay] implement Googlepay for Multisafepay (#1456) (2136326)
    • [TrustPay] Add Google Pay support (#1515) (47cd08a)
    • [Airwallex] Implement Google Pay in Wallets (#1316) (7489c87)
    • [Multisafepay] implement Paypal for Multisafepay (#1459) (2c10e0b)
  • db: Implement ConfigInterface for MockDb (#1586) (2ac1f2e)
  • email: Implement process_tracker for scheduling email when api_key is about to expire (#1233) (ee7cdef)
  • payment_method: [upi] add new payment method and use in iatapay (#1528) (2d11bf5)
  • payments: Add field manual_retry_allowed in payments response (#1298) (44b8da4)
  • router:
  • Feat: add merchant_name field in the response body (#1280) (dd4ba63)
  • Add GenericNotFoundError error response and set_key_if_not_exists_with_expiry Redis command (#1526) (9a88a32)

Bug Fixes

  • disputes: Update 4xx error for Files - Delete endpoint (#1531) (eabe16c)
  • payment_method: Do not save card in locker in case of error from connector (#1341) (9794079) by [email protected]
  • Return nick name for each card while listing saved cards (#1391) (4808af3)
  • Add appropriate printable text for Result returned from delete_tokenized_data() (#1369) (cebe993)

Refactors

  • connector: [ACI] Use verbose names for InstructionSource variants (#1575) (df01f8f)
  • payment_methods: Added clone derivation for PaymentMethodId (#1568) (6739b59)
  • payments_start: Remove redundant call to fetch payment method data (#1574) (6dd61b6)
  • Add payment id and merchant id to logs (#1548) (9a48c9e)

Miscellaneous Tasks


1.0.2 (2023-06-30)

Features

  • connector:
    • [Opayo] Add script generated template code (#1295) (60e15dd)
    • [ACI] implement Card Mandates for ACI (#1174) (15c2a70)
    • [cryptopay] add new connector cryptopay, authorize, sync, webhook and testcases (#1511) (7bb0aa5)
  • router: Add filters for refunds (#1501) (88860b9)

Testing

  • connector: Add tests for Paypal, Adyen and Airwallex (#1290) (cd4dbcb)

Full Changelog: v1.0.1...v1.0.2


1.0.1 (2023-06-28)

Features

  • connector:
  • db: Implement EphemeralKeyInterface for MockDb (#1285) (8c93904)
  • router:
    • Implement PaymentMethodInterface for MockDB (#1535) (772fc84)
    • Add connector_transaction_id in payments response (#1542) (1a8f5ff)

Bug Fixes

  • connector:
    • [Braintree] Map SubmittedForSettlement status to Pending instead of Charged (#1508) (9cc14b8)
    • [Cybersource] Throw proper unauthorised message (#1529) (3e284b0)
    • [Bluesnap] add cardholder info in bluesnap payment request (#1540) (0bc1e04)
  • payment_methods: Return appropriate error when basilisk locker token expires (#1517) (9969c93)
  • routes: Register handler for retrieve disput evidence endpoint (#1516) (6bc4188)
  • Invalidate all cache on invalidate cache route (#1498) (2c6cc6a)
  • Add 3ds card_holder_info and 2 digit expiry year (#1560) (5f83fae)
  • Add config create route back (#1559) (379d1d1)

Performance

  • logging: Remove redundant heap allocation present in the logging framework (#1487) (b1ed934)

Refactors

  • mandates: Refactor mandates to check for misleading error codes in mandates (#1377) (a899c97)

Testing

  • connector:
    • [Checkout] Add tests for 3DS and Gpay (#1267) (218803a)
    • [Adyen] Add test for bank debits, bank redirects, and wallets (#1260) (eddcc34)
    • [Bambora] Add tests for 3DS (#1254) (295d41a)
    • [Mollie] Add tests for PayPal, Sofort, Ideal, Giropay and EPS (#1246) (9ea9e55)
    • Add tests for Globalpay and Bluesnap (#1281) (c5ff6ed)
    • [Shift4] Add tests for 3DS and Bank Redirect (#1250) (041ecbb)

Miscellaneous Tasks

  • connector: [Payme] disable payme connector in code (#1561) (3cd4746)

Full Changelog: v1.0.0...v1.0.1


1.0.0 (2023-06-23)

Features

Bug Fixes

  • compatibility: Add metadata object in both payment_intent and setup_intent request (#1519) (6ec6272)
  • configs: Remove pix and twint from pm_filters for adyen (#1509) (c1e8ad1)
  • connector:
    • [NMI] Fix Psync flow (#1474) (2fdd14c)
    • [DummyConnector] change dummy connector names (#1328) (6645c4d)
    • [ACI] fix cancel and refund request encoder (#1507) (cf72dcd)
    • Convert state of US and CA in ISO format for cybersource connector (#1506) (4a047ce)
    • [Trustpay] handle errors fields as optional in TrustpayErrorResponse object (#1514) (efe1ed9)
    • [TrustPay] change the request encoding (#1530) (692d370)
    • Fix url_encode issue for paypal and payu (#1534) (e296a49)
  • core: payment_method_type not set in the payment attempt when making a recurring mandate payment (#1415) (38b9e59)
  • encryption: Do not log encrypted binary data (#1352) (b0c103a)
  • errors: Use format!() for RefundNotPossibleError (#1518) (1da411e)
  • payments: Fix client secret parsing (#1358) (2b71d4d)
  • process_tracker: Log and ignore the duplicate entry error (#1502) (424e77c)
  • update_trackers: Handle preprocessing steps status update (#1496) (b452314)
  • Add requires_customer_action status to payment confirm (#1500) (6944415)
  • Update adyen payment method supported countries and currencies in development.toml (#1401) (5274f53)

Refactors

  • core: Rename MandateTxnType to MandateTransactionType (#1322) (1069172)
  • fix: [Stripe] Fix bug in Stripe (#1505) (957d5e0)
  • refunds: Refactor refunds create to check for unintended 5xx (#1332) (ff17b62)
  • Add serde rename_all for refund enums (#1520) (0c86243)

Build System / Dependencies

  • deps: Bump openssl from 0.10.54 to 0.10.55 (#1503) (c4f9029)

Full Changelog: v0.6.0...v1.0.0


0.6.0 (2023-06-20)

Features

  • compatibility:
    • Add receipt_ipaddress and user_agent in stripe compatibility (#1417) (de2a6e8)
    • Wallet support compatibility layer (#1214) (3e64321)
  • connector:
    • [Noon] Add Card Payments, Capture, Void and Refund (#1207) (2761036)
    • [Noon] Add Card Mandates and Webhooks Support (#1243) (ba8a17d)
    • [Noon] Add reference id in Order Struct (#1371) (f0cd5ee)
    • [Zen] add apple pay redirect flow support for zen connector (#1383) (b3b16fc)
    • Mask pii information in connector request and response for stripe, bluesnap, checkout, zen (#1435) (5535159)
    • Add request & response logs for top 4 connector (#1427) (1e61f39)
    • [Noon] Add GooglePay, ApplePay, PayPal Support (#1450) (8ebcc1c)
    • [Zen] add google pay redirect flow support (#1454) (3a225b2)
  • core: Add signature to outgoing webhooks (#1249) (3534cac)
  • db:
    • Implement RefundInterface for MockDb (#1277) (10691c5)
    • Implement DisputeInterface for MockDb (#1345) (e5e39a7)
    • Implement LockerMockInterface for MockDb (#1347) (1322aa7)
    • Implement MerchantConnectorAccountInterface for MockDb (#1248) (b002c97)
    • Implement MandateInterface for MockDb (#1387) (2555c37)
  • headers: Add optional header masking feature to outbound request (#1320) (fc6acd0)
  • kms: Reduce redundant kms calls (#1264) (71a17c6)
  • logging: Logging the request payload during BeginRequest (#1247) (253eead)
  • metrics:
  • order_details: Adding order_details both inside and outside of metadata, in payments request, for backward compatibility (#1344) (913b833)
  • payment: Customer ip field inclusion (#1370) (11a827a)
  • response-log:
    • Add logging to the response (#1433) (96c5efe)
    • Add logging to the response for stripe compatibility layer (#1470) (96c71e1)
  • router:
    • Implement CardsInfoInterface for MockDB (#1262) (cbff605)
    • Add mandate connector to payment data (#1392) (7933e98)
    • [Bluesnap] add kount frms session_id support for bluesnap connector (#1403) (fbaecdc)
    • Add caching for MerchantKeyStore (#1409) (fda3fb4)
  • Use subscriber client for subscription in pubsub (#1297) (864d855)
  • Encrypt PII fields before saving it in the database (#1043) (fa392c4)
  • Add error type for empty connector list (#1363) (b2da920)
  • Add new error response for 403 (#1330) (49d5ad7)
  • Applepay through trustpay (#1422) (8032e02)

Bug Fixes

  • api_models: Fix bank namings (#1315) (a8f2494)
  • config: Fix docker compose local setup (#1372) (d21fcc7)
  • connector:
    • [Authorizedotnet] Fix webhooks (#1261) (776c833)
    • [Checkout] Fix error message in error handling (#1221) (22b2fa3)
    • [coinbase] remove non-mandatory fields (#1252) (bfd7dad)
    • [Rapyd] Fix payment response structure (#1258) (3af3a3c)
    • [Adyen] Address Internal Server Error when calling PSync without redirection (#1311) (b966525)
    • [opennode] webhook url fix (#1364) (e484193)
    • [Zen] fix additional base url required for Zen apple pay checkout integration (#1394) (7955007)
    • [Bluesnap] Throw proper error message for redirection scenario (#1367) (4a8de77)
    • [coinbase][opennode][bitpay] handle error response (#1406) (301c3dc)
    • [Zen][ACI] Error handling and Mapping (#1436) (8a4f4a4)
    • [Bluesnap] fix expiry year (#1426) (92c8222)
    • [Shift4]Add Refund webhooks (#1307) (1691bea)
    • [Shift4] validate pretask for threeds cards (#1428) (2c1dcff)
    • Fix trustpay error response for transaction status api (#1445) (7db94a6)
    • Fix for sending refund_amount in connectors refund request (#1278) (016857f)
    • Use reference as payment_id in trustpay (#1444) (3645c49)
    • Implement ConnectorErrorExt for error_stack::Result<T, ConnectorError> (#1382) (3ef1d29)
    • [Adyen] fix charged status for Auto capture payment (#1462) (6c818ef)
    • [Adyen] fix unit test (#1469) (6e581c6)
    • [Airwallex] Fix refunds (#1468) (1b2841b)
    • [Zen] Convert the amount to base denomination in order_details (#1477) (7ca62d3)
    • [Shift4] Fix incorrect deserialization of webhook event type (#1463) (b44f35d)
    • [Trustpay] add missing failure status (#1485) (ecf16b0)
    • [Trustpay] add reason to all the error responses (#1482) (1d216db)
  • core:
    • Remove missing_required_field_error being thrown in should_add_task_to_process_tracker function (#1239) (3857d06)
    • Return an empty array when the customer does not have any payment methods (#1431) (6563587)
    • Fix amount capturable in payments response (#1437) (5bc1aab)
    • Save payment_method_type when creating a record in the payment_method table (#1378) (76cb15e)
    • Add validation for card expiry month, expiry year and card cvc (#1416) (c40617a)
  • currency: Add RON and TRY currencies (#1455) (495a98f)
  • error: Propagate MissingRequiredFields api_error (#1244) (798881a)
  • kms: Add metrics to external_services kms (#1237) (28f0d1f)
  • list: Add mandate type in payment_method_list (#1238) (9341191)
  • locker: Remove unnecessary assertions for locker_id on BasiliskLocker when saving cards (#1337) (23458bc)
  • logging: Fix traces export through opentelemetry (#1355) (b2b9dc0)
  • payments: Do not delete client secret on payment failure (#1226) (c1b631b)
  • refund: Change amount to refund_amount (#1268) (24c3a42)
  • router:
    • Subscriber return type (#1292) (55bb117)
    • Hotfixes for stripe webhook event mapping and reference id retrieval (#1368) (5c2232b)
    • [Trustpay] fix email & user-agent information as mandatory fields in trustpay card payment request (#1414) (7ef011a)
    • [Trustpay] fix email & user-agent information as mandatory fields in trustpay card payment request (#1418) (c596d12)
    • Fix payment status updation for 2xx error responses (#1457) (a7ac4af)
  • router/webhooks:
    • Use api error response for returning errors from webhooks core (#1305) (cd0cf40)
    • Correct webhook error mapping and make source verification optional for all connectors (#1333) (7131509)
    • Map webhook event type not found errors to 422 (#1340) (61bacd8)
  • session_token: Log error only when it occurs (#1136) (ebf3de4)
  • stripe: Fix logs on stripe connector integration (#1448) (c42b436)
  • Remove multiple call to locker (#1230) (b3c6b1f)
  • Populate meta_data in payment_intent (#1240) (1ac3eb0)
  • Merchant webhook config should be looked up in config table instead of redis (#1241) (48e5375)
  • Invalidation of in-memory cache (#1270) (e78b3a6)
  • Customer id is not mandatory during confirm (#1317) (1261791)
  • Certificate decode failed when creating the session token for applepay (#1385) (8497c55)
  • Update customer data if passed in payments (#1402) (86f679a)
  • Fix some fields not being updated during payments create, update and confirm (#1451) (1764085)

Refactors

  • api_models: Follow naming convention for wallets & paylater payment method data enums (#1338) (6c0d136)
  • auth_type: Updated auth type in update tracker and also changed the default flow to non-3ds from 3ds (#1424) (1616051)
  • compatibility: Map connector to routing in payments request for backward compatibility (#1339) (166688a)
  • compatibility, connector: Add holder name and change trust pay merchant_ref id to payment_id (d091549)
  • configs: Make kms module and KmsDecrypt pub (#1274) (f0db993)
  • connector:
    • Update error handling for Nexinets, Cybersource (#1151) (2ede8ad)
    • [Zen] refactor connector_meta_data for zen connector applepay session data (#1390) (0575b26)
  • connector_customer: Incorrect mapping of connector customer (#1275) (ebdfde7)
  • core:
    • Generate response hash key if not specified in create merchant account request (#1232) (7b74cab)
    • Add 'redirect_response' field to CompleteAuthorizeData (#1222) (77e60c8)
    • Use HMAC-SHA512 to calculate payments response hash (#1302) (7032ea8)
    • Accept customer data in customer object (#1447) (cff1ce6)
    • Move update trackers after build request (#1472) (6114fb6)
    • Update trackers for preprocessing steps (#1481) (8fffc16)
  • disputes: Resolve incorrect 5xx error mappings for disputes (#1360) (c9b400e)
  • errors:
  • fix:
  • mca: Use separate struct for connector metadata (#1465) (8d20578)
  • payments:
    • Attempt to address unintended 5xx and 4xx in payments (#1376) (cf64862)
    • Add udf field and remove refactor metadata (#1466) (6419953)
  • process_tracker: Attempt to identify unintended 5xx in process_tracker (#1359) (d8adf4c)
  • router:
    • Router_parameters field inclusion (#1251) (16cd325)
    • Remove pii-encryption-script feature and use of timestamps for decryption (#1350) (9f2832f)
    • Infer ip address for online mandates from request headers if absent (#1419) (a1a009d)
    • Send 200 response for 5xx status codes received from connector (#1440) (1e5d2a2)
  • webhook: Added the unknown field to the webhook_event_status of every connector (#1343) (65d4a95)
  • Make NextAction as enum (#1234) (a359b76)
  • Make bank names optional in payment method data (#1483) (8198559)

Testing

  • connector:
  • postman-collection: Add Github action to run postman collection (#1272) (92c7767)
  • selenium: Read config from CONNECTOR_AUTH_FILE_PATH environment variable and fix bugs in UI tests (#1225) (d9a16ed)

Documentation

Miscellaneous Tasks

  • common_utils: Apply the new type pattern for phone numbers (#1286) (98e73e2)
  • config:
    • Add bank config for online_banking_poland, online_banking_slovakia (#1220) (ee5466a)
    • Add bank config for przelewy24 (#1460) (3ee97cd)
  • migrations: Shrink merchant_id column of merchant_key_store to 64 characters (#1476) (0fdd6ec)
  • Address Rust 1.70 clippy lints (#1334) (b681f78)

Build System / Dependencies

  • deps:
  • docker: Use debian:bookworm-slim as base image for builder and runner stages (#1473) (5eb0333)
  • Unify sandbox and production cargo features as release (#1356) (695d3cd)

Full Changelog: v0.5.15...v0.6.0


0.5.15 (2023-05-19)

Features

  • connector:
    • [Bluesnap] Add support for ApplePay (#1178) (919c03e)
    • Add Interac as Payment Method Type (#1205) (afceda5)
    • [Authorizedotnet] implement Capture flow and webhooks for Authorizedotnet (#1171) (2d49ce5)
  • db: Implement AddressInterface for MockDb (#968) (39405bb)
  • documentation: Add polymorphic generate_schema macro (#1183) (53aa5ac)
  • email: Integrate email service using AWS SES (#1158) (07e0fcb)
  • frm_routing_algorithm: Added frm_routing_algorithm to merchant_account table, to be consumed for frm selection (#1161) (ea98145)
  • payments: Add support for manual retries in payments confirm call (#1170) (1f52a66)
  • redis_interface: Implement MGET command (#1206) (93dcd98)
  • router:
  • traces: Add support for aws xray (#1194) (8947e1c)
  • ACH transfers (#905) (23bca66)
  • SEPA and BACS bank transfers through stripe (#930) (cf00059)

Bug Fixes

  • connector: [Checkout] Fix incoming webhook event mapping (#1197) (912a108)
  • core: Add ephemeral key to payment_create response when customer_id is mentioned (#1133) (f394c4a)
  • mandate: Throw DuplicateMandate Error if mandate insert fails (#1201) (186bd72)
  • merchant_connector_account: Add validation for the disabled flag (#1141) (600dc33)
  • router:
  • utils: Fix bug in email validation (#1180) (5e51b6b)
  • Fix(connector) : Added signifyd to routableconnectors for frm (#1182) (2ce5d5f)
  • Handle unique constraint violation error gracefully (#1202) (b3fd174)

Refactors

  • mandate: Allow merchant to pass the mandate details and customer acceptance separately (#1188) (6c41cdb)
  • Use strum::EnumString implementation for connector name conversions (#1052) (2809425)

Documentation

Miscellaneous Tasks

  • CODEOWNERS: Add hyperswitch-maintainers as default owners for all files (#1210) (985670d)
  • git-cliff: Simplify git-cliff config files (#1213) (bd0069e)

Revert

  • connector: Fix stripe status to attempt status map (#1179) (bd8868e)
  • Fix(connector): Added signifyd to routableconnectors for frm (#1203) (dbc5bc5)

0.5.14 (2023-05-16)

Features

  • connector:
    • [Stripe] implement Bancontact Bank Redirect for stripe (#1169) (5b22e96)
    • [Noon] Add script generated template code (#1164) (bfaf75f)
    • [Adyen] implement BACS Direct Debits for Adyen (#1159) (9f47f20)
  • router: Add retrieve dispute evidence API (#1114) (354ee01)
  • Add accounts in-memory cache (#1086) (da4d721)

Bug Fixes

  • connector:
    • [Checkout] Change error handling condition for empty response (#1168) (e3fcfdd)
    • Change payment method handling in dummy connector (#1175) (32a3722)

Refactors

  • connector: Update error handling for Paypal, Checkout, Mollie to include detailed messages (#1150) (e044c2f)

Documentation


0.5.13 (2023-05-15)

Features

  • config: Add API route set_config (#1144) (f31926b)
  • connector:
    • Add payment, refund urls for dummy connector (#1084) (fee0e9d)
    • [ACI] Implement Trustly Bank Redirect (#1130) (46b40ec)
    • Add multiple dummy connectors and enable them (#1147) (8a35f7c)
    • [ACI] Implement Alipay and MB WAY Wallets (#1140) (d7cfb4a)
    • [Stripe] Implement Przelewy24 bank redirect (#1111) (54ff02d)
  • error:
    • Add feature-gated stacktrace to error received from API (#1104) (bf2352b)
    • Add DateTimeParsingError and EmailParsingError variants to ParsingError enum (#1146) (7eed8e7)
  • payment_request: Add field amount to OrderDetails and make order_details a Vec in payments_create request (#964) (60e8c73)
  • router:

Bug Fixes

  • connector:
    • [Adyen] fix status mapping for Adyen authorize, capture, refund API (#1149) (2932a5f)
    • Fix Stripe status to attempt status map (#1132) (8b85647)
  • mandate: Allow card details to be provided in case of network transaction id (#1138) (cc121d0)

0.5.12 (2023-05-11)

Features

  • Connector: [ACI] Implement Przelewy24 Bank Redirect (#1064) (cef8914)
  • connector:
    • [Iatapay] Implement AccessTokenAuth, Authorize, PSync, Refund, RSync and testcases (#1034) (a2527b5)
    • [bitpay] Add new crypto connector bitpay & testcases for all crypto connectors (#919) (f70f10a)
    • Add connector nmi with card, applepay and googlepay support (#771) (baf5fd9)
    • [ACI] Implement Interac Online Bank Redirect (#1108) (0177f1d)
  • pm_list: Add pm list support for bank_debits (#1120) (dfc6be4)

Bug Fixes

  • connector: Fix checkout error response type (#1124) (5fd1614)
  • connector_customer: Create connector_customer on requirement basis (#1097) (e833a1d)
  • google_pay: Allow custom fields in GpayTokenParameters for google pay via stripe (#1125) (f790099)
  • mandate: Only trigger mandate procedure on successful connector call (#1122) (a904d2b)
  • payments: Fix address_insert error propagation in get_address_for_payment_request function (#1079) (da3b520)
  • router: Fix webhooks flow for checkout connector (#1126) (7f3ceb4)

Refactors

  • api_models:
    • Remove unused mapping of attempt status to intent status (#1127) (45ccc41)
    • Derive serialize onPaymentsCaptureRequest struct (#1129) (e779ee7)
  • errors: Add parsing error types for context info (#911) (0d46690)

Revert

  • Refactor(merchant_account): add back api_key field for backward compatibility (#761) (#1062) (f481abb)

0.5.11 (2023-05-10)

Features

  • Connector:
    • [Adyen]Implement ACH Direct Debits for Adyen (#1033) (eee55bd)
    • [Stripe] Implemented Alipay Digital Wallet (#1048) (7c7185b)
    • [Stripe] Implement Wechatpay Digital Wallet (#1049) (93947ea)
  • cards: Add credit card number validation (#889) (d6e71b9)
  • connector:
    • Mandates for alternate payment methods via Adyen (#1046) (4403634)
    • Add klarna, afterpay support in Nuvei (#1081) (0bb0437)
    • Add dispute and refund webhooks for Airwallex (#1021) (8c34114)
    • Add bank redirect support for worldline (#1060) (bc4ac52)
    • [Adyen] Implement SEPA Direct debits for Adyen (#1055) (7f796a6)
  • refunds: Add connector field in refund response (#1059) (3fe24b3)
  • router:
    • Added retrieval flow for connector file uploads and added support for stripe connector (#990) (38aa9ea)
    • Add disputes block in payments retrieve response (#1038) (1304d91)
  • Allow payment cancels for more statuses (#1027) (a2a6bab)

Bug Fixes

  • applepay: Rename applepay_session_response to lowercase (#1090) (736a236)
  • router: Fix recursion bug in straight through algorithm (#1080) (aa610c4)
  • tests: Remove ui tests from ci pipeline (#1082) (2ab7f83)
  • Connector-customer-id missing bug fix (#1085) (c5db5c3)

Refactors

  • router: Add id field in MerchantConnectorAccountNotFound (#1098) (5214e22)

Documentation

Miscellaneous Tasks


0.5.10 (2023-05-08)

Features

  • common_utils:
  • connector:
    • Add authorize, capture, void, psync, refund, rsync for Forte connector (#955) (f0464bc)
    • Add dummy connector template code (#970) (e5cc0d9)
    • Add payment routes for dummy connector (#980) (4ece376)
    • [Bluesnap] add cards 3DS support (#1057) (9c331e4)
    • Mandates for alternate payment methods via Stripe (#1041) (64721b8)
  • errors: Add reverse errorswitch trait for foreign errors (#909) (ab55d21)

Bug Fixes

  • common_utils: Manually implement diesel queryable for email newtype (#1072) (3519649)
  • connector:
    • [worldline] fix worldline unit test (#1054) (3131bc8)
    • [ACI] Add amount currency conversion and update error codes (#1065) (b760cba)
  • mandate:
    • Make payment_method_data optional for mandate scenario (#1032) (9cb3fa2)
    • Fix payment_method_data becoming empty when mandate_id is not present (#1077) (5c5c3ef)
  • redis: Fix recreation on redis connection pool (#1063) (982c27f)
  • Impl Drop for RedisConnectionPool (#1051) (3d05e50)
  • Throw PreconditionFailed error when routing_algorithm is not configured (#1017) (8853702)

Refactors

  • compatibility: Refactor stripe compatibility routes using web::resource (#1022) (92ae2d9)
  • router:
    • Nest the straight through algorithm column in payment attempt (#1040) (64fa21e)
    • Add the connector_label field to DuplicateMerchantConnectorAccount error message (#1044) (b3772f8)
    • Include payment method type in connector choice for session flow (#1036) (73b8988)
  • Use newtype pattern for email addresses (#819) (b8e2b1c)

0.5.9 (2023-05-04)

Features

  • api_models: Derive Serialize, Eq, PartialEq, strum::Display on RefundStatus (#989) (22a5372)
  • cards: Validate card security code and expiration (#874) (0b7bc7b)
  • connector:
    • [ACI] Add banking redirect support for EPS, Giropay, iDEAL, and Sofortueberweisung (#890) (c86f2c0)
    • Add dispute webhooks for Stripe (#918) (0df2244)
    • Add Cards(3ds & non3ds),bank_redirects ,wallets(Paypal,Applepay) and Mandates support to nexinets (#898) (eea05f5)
  • pm_list: Add available capture methods filter (#999) (36cc13d)
  • router: Added support for optional defend dispute api call and added evidence submission flow for checkout connector (#979) (4728d94)
  • PG Agnostic mandate using network_txns_id (Adyen, Authorizedotnet, Stripe) (#855) (ed99655)
  • Expire client secret after a merchant configurable intent fufliment time (#956) (03a9643)

Bug Fixes

  • refund_list: Updated refund list response status code when no refunds found. (#974) (4e0489c)
  • refund_sync: Add validation for missing connector_refund_id (#1013) (4397c8e)
  • storage_models: Fix incorrect field order in MerchantConnectorAccount (#976) (c9e8a9b)
  • Fix internal server errors on merchant connector account creation (#1026) (c31b4b4)
  • Remove old data while deserialization error from cache (#1010) (23b5647)
  • Passing connector_name instead of ConnectorCallType (#1050) (c888635)

Refactors

  • config: Add independent toggles for enabling traces and metrics (#1020) (af71828)
  • stripe: Return all the missing fields in a request (#935) (e9fc34f)
  • Use CountryAlpha2 instead of CountryCode for country codes (#904) (2cff019)

Documentation

Miscellaneous Tasks

  • Add git-cliff configs for generating changelogs and release notes (#1047) (68360d4)

Build System / Dependencies


0.5.8 (2023-04-25)

Chores

Continuous Integration

  • connector-sanity-tests: run tests on being queued for merge (#960) (067dc709)
  • manual-release: fix EXTRA_FEATURES not being passed correctly (#912) (9c9c52f9)

Documentation Changes

  • dashboard: add button that links to dashboard (#934) (96f9e806)

New Features

  • connector:
    • add 3ds for Bambora and Support Html 3ds response (#817) (20bea23b)
    • [Nuvei] add support for bank redirect Eps, Sofort, Giropay, Ideal (#870) (c1a25b30)
    • [Checkout] add GooglePay, ApplePay and Webhooks support (#875) (3fce1407)
  • router:
    • added dispute accept api, file module apis and dispute evidence submission api (#900) (bdf1e514)
    • add new payment methods for Bank redirects, BNPL and wallet (#864) (304081cb)
  • compatibility: add refund retrieve endpoint which accepts gateway creds (#958) (bcbf4c88)
  • Core: gracefully shutdown router/scheduler if Redis is unavailable (#891) (13185999)
  • core: [Stripe] add bank debits payment method to stripe (#906) (f624eb52)
  • support gpay and applepay session response for all connectors (#839) (d23e14c5)
  • add relevant ids for payment calls & make json logs (#908) (93b69e74)
  • [Bluesnap] add GooglePay, ApplePay support (#985) (897250e)
  • [Zen] add Cards 3DS, Non-3DS, GooglePay, ApplePay and Webhooks support (#962) (71c39b)

Bug Fixes

  • different parent payment method token for different payment me… (#982) (2f378345)
  • config: fix Tempo config for Tempo 2.0 (#959) (811cd523)
  • stripe: add setup intent sync for stripe (#953) (ab7fc23a)
  • connector:
  • connector-template: Address unused import and mismatched types in connector-template (#910) (891683e0)

Other Changes

  • try_local_system: replace Postman collection links with development collection (#937) (ccc0c3f9)
  • pr-template: add API contract changes and update contributing docs with recent labels (#936) (3e2a7eae)
  • errors: make StorageErrorExt generic on errors (#928) (e161d92c)

Refactors

  • db: remove connector_transaction_id from PaymentAttemptNew (#949) (57327b82)
  • api_keys: use merchant_id and key_id to query the table (#939) (40898c0a)

0.5.7 (2023-04-18)

New Features

  • connector:
    • [Shift4] add support for card 3DS payment (#828) (29999fe5)
    • [Nuvei] add support for card mandates (#818) (298a0a49)
  • bank_redirects: modify api contract for sofort (#880) (fc2e4514)
    • add template code for connector forte (#854) (7a581a6)
    • add template code for connector nexinets (#852) (dee5f61)

Bug Fixes

  • connector: [coinbase] make metadata as option parameter (#887) (f5728955)
  • Update events table after notifying merchant (#871) (013026)
  • stripe: remove cancel reason validation for stripe (#876) (fa44c1f6)

Enhancement

  • payments: make TokenizationAction clonable (#895)

Integration

  • Frm integration with hyperswitch (#857)

Refactors

  • use lowercase names for run environment and config files (#801) (ffaa8da0)
  • derive Serialize and Deserialize to Country enum (#882) (456c16fb)
  • storage_models, errors: impl StorageErrorExt for error_stack::Result<T, errors::StorageError> (#886) (b4020294)
  • router: KMS decrypt secrets when kms feature is enabled (#868) (8905e663)

0.5.6 2023-04-14

Build System / Dependencies

  • deps: bump fred from 5.2.0 to 6.0.0 (#869) (01bc162d)

Continuous Integration

  • manual_release: add multiple_mca feature in ci (#872) (aebb4dca)

New Features

  • core: add backwards compatibility for multiple mca (#866) (cf902f19)
  • router:
    • added dispute retrieve and dispute list apis (#842) (acab7671)
    • separate straight through algorithm in separate column in payment attempt (#863) (01f86c49)
  • connector:
    • [Airwallex] add multiple redirect support for 3DS (#811) (d1d58e33)
    • [Worldpay] add support for webhook (#820) (23511166)
    • [Coinbase] [Opennode] Add support for crypto payments via PG redirection (#834) (b3d14737)
  • multiple connector account support for the same country (#816) (6188d515)
  • connector tokenization flow (#750) (29da1dfa)
  • process_tracker: changing runner selection to dyn dispatch (#853) (18b84c42)

Bug Fixes

  • merchant_account: change primary_business_details to vec in update (#877) (396d24fe)
  • redis deserialization issue in tokenization call (#878) (5e9d7d6b)
  • duplication check fix in basilisk-hs (#881) (b12762e7)

Refactors

  • Tokenization: remove ConnectorCallType from tokenization call (#862) (0d047e08)
  • router_env: improve logging setup (#847) (1b94d25f)
  • refund_type: Feat/add copy derive (#849) (ccf03273)

0.5.5 (2023-04-10)

New Features

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

Bug Fixes

  • Add locker sign keyid in env (#844) (70dff140)

Other Changes

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

Refactors

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

0.5.4 (2023-04-04)

New Features

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

Bug Fixes

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

Other Changes

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

Refactors

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

0.5.3 (2023-03-29)

Documentation Changes

  • rfc: add rfc template & first RFC (#806) (01a5e0a0)

New Features

  • cards info api (#749) (b15b8f7b)
  • connector: [Nuvei] add webhook support (#795) (20b4372b)

Bug Fixes

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

Refactors

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

0.5.2 (2023-03-24)

Chores

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

Bug Fixes

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

Other Changes

  • router: change MAX_ID_LENGTH to 64 (#792) (346bd954)

Refactors

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

0.5.1 (2023-03-21)

Documentation Changes

  • try_local_system:
    • add Ubuntu on WSL2 setup instructions (#767) (1d2166cf)
    • add API key creation step (#765) (4b268068)

New Features

  • pm_list: handle client secret check (#759) (82344fc4)
  • add in-memory cache support for config table (#751) (abedaae4)
  • compile time optimization (#775) (5b5557b7)
  • router:
    • add support for stateful straight through routing (#752) (568bf01a)
    • adding metrics for tracking behavior throughout the router crate (#768) (d302b286)
  • router_env:
    • making metric flow as a trait for extensibility (#797) (df699e2b)
  • core: accept gateway credentials in the request body in payments and refunds (#766) (cb188f92)
  • connector:
    • Add support to provide connector_payment_meta for capture and void request (#770) (6c008ae6)
    • [Trustpay] add webhooks (payment and refund events) (#746) (853dfa16)

Bug Fixes

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

Refactors

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

0.5.0 (2023-03-21)

Build System / Dependencies

  • deps: update deps (#734) (16bc886c)

Chores

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

Continuous Integration

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

Documentation Changes

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

New Features

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

Bug Fixes

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

Other Changes

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

Refactors

  • merchant_account: add back api_key field for backward compatibility (#761) (661dd48a)
  • connector: update add_connector script (#762) (78794ed6)
  • metrics: use macros for constructing counter and histogram metrics (#755) (58106d91)
  • kms: share a KMS client for all KMS operations (#744) (a3ff2e8d)
  • Basilisk hs integration (#704) (585618e5)
  • Add service_name to get and delete request (#738) (8b7ae9c3)
  • Add secret to metadata (#706) (d36afbed)
  • client:
    • simplify HTTP client construction (#731) (1756d1c4)
    • remove dependence on ROUTER_HTTP_PROXY and ROUTER_HTTPS_PROXY env vars (#730) (c085e460)
  • authentication: authenticate merchant by API keys from API keys table (#712) (afd08d42)
  • api_keys: use a KMS encrypted API key hashing key and remove key ID prefix from plaintext API keys (#639) (3a3b33ac)

Tests

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

0.3.0 (2023-03-05)

Chores

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

Continuous Integration

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

Documentation Changes

  • openapi: document security schemes (#676) (c5fda7ac)

New Features

  • session_token: create session token only if pmt is enabled (#703) (e1afeb64)
  • router:
    • serve OpenAPI docs at /docs (#698) (ed2907e1)
    • added incoming refund webhooks flow (#683) (f12abbce)
  • list: global filter mapping for payment methods via card network (#694) (adca6bca)
  • store card network for cards (#687) (bfca26d9)
  • add support for ANG currency (#681) (03096eff)
  • Add bank redirect mapping to adyen and stripe (#680) (e6f627d9)
  • api contract change for wallet (#628) (ff86417e)
  • Add support for a redis pubsub interface (#614) (aaf37250)
  • initial nix setup using cargo2nix (#599) (73d0538d)
  • connector:
    • [Bambora] Add support for cards Authorize, psync, capture, void, refund, Rsync (#677) (0de5d441)
    • [MultiSafePay] Add support for cards Authorize, psync, capture, void, refund, Rsync (#658) (79aa8f3d)
    • [Dlocal] Add support for authorize, capture, void, refund, psync, rsync (#650) (7792de55)
  • pm_list: support for sending bank names (#678) (576f8e1f)
  • card_network: add additional enum variants in card network (#671) (db8bc164)
  • stripe:
    • eps, giropay and ideal using stripe (#529) (028e1401)
    • get error message for failed redirect payments (#615) (12f25f05)

Bug Fixes

  • Populate amount_captured in case of success (#700) (d622b743)
  • Error Mapping for Bluensap & Card Number for Airwallex (#686) (35a74baf)
  • add currency in verify request data (#619) (32de632d)
  • add zero-padded formatting for error code (#627) (63f9b612)
  • check if bank_pm exists and then send request (#679) (76a9b557)
  • connector:
    • convert cents to dollar before sending to connector (#699) (3e883192)
    • fix wordline card number validation issue (#695) (1a875348)
    • fix wordline tests and visa card issuer support (#688) (d0c9dded)
  • adyen: adyen psync fail fix (#691) (2e99152d)
  • customer: populate email from customer table if not present in request (#692) (cf71d7aa)
  • list:
    • remove enabled payment methods from list customer payment method (#689) (5c29f37a)
    • fix card network filtering (#684) (718c8a42)
    • adding config changes for filtering pm based on countries & currencies (#669) (060c5419)
  • compatibility:
    • change next_action type and customer request type (#675) (7f22c22c)
    • map stripe country_code to payment_request country code (#667) (7044b80b)
  • core: send metadata in payments response (#670) (b80f19e2)
  • router: allow setup future usage to be updated in payment update and confirm requests (#610) (7fd82211)

Other Changes

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

Refactors

  • add better log to parse struct (#621) (275155a8)
  • Pass country and currency as json format in MCA (#523) (d27e6be5)
  • use simple uuid instead of hyphens (#605) (c467a47a)
  • add payment_issuer and payment_experience in pa (#491) (66563595)
  • router: remove foreign wrapper type (#616) (7bd2008a)
  • core:
    • add payment method list route to payment_methods (#682) (5449ce46)
    • make attempt id as mandatory in router_data (#604) (626e467e)
  • pm_list:
    • pm_list for bank redirects (#685) (2701cceb)
    • modify pm list to support new api contract (#657) (a2616d87)
  • connector: remove peek() on PII info (#642) (46f77d07)
  • connector-template: raise errors instead of using todo!() (#620) (b1a6be5a)
  • redirection: From impl for redirection data for ease of use (#613) (e8255b4a)

0.3.0 (2023-02-25)

Build System / Dependencies

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

Chores

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

Continuous Integration

  • run CI checks on merge queue events (#530) (c7b9e9c1)

Documentation Changes

  • add_connector: fix typo (#584) (a4f3abf3)

New Features

  • router:
    • include eligible connectors list in list payment methods (#644) (92771b3b)
    • API endpoints for managing API keys (#511) (1bdc8955)
  • connector:
    • [Airwallex] add authorize, capture, void, psync, Webhooks support (#646) (6a67dd8b)
    • [Bluesnap] add authorize, capture, void, refund, psync, rsync and Webhooks support (#649) (7efdc3c5)
    • add authorize, capture, void, refund, psync support for Nuvei (#645) (03a9f5a9)
  • Added applepay feature (#636) (1e84c07c)
  • add track_caller to functions that perform change_context (#592) (8d2e573a)
  • Redis cache for MCA fetch and update (#515) (963cb528)
  • api_models: add error structs (#532) (d107b44f)

Bug Fixes

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

Other Changes

  • router:
    • webhooks enhancement (#637) (#641) (3bc9feb0)
    • api keys path params (#609) (effa7a00)

Refactors

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

0.2.1 (2023-02-17)

Fixes


0.2.0 (2023-01-23) - Initial Release

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