Skip to content

Commit 350792c

Browse files
committed
Merge branch 'main' of github.com:juspay/hyperswitch into cypress-delete-pm
* 'main' of github.com:juspay/hyperswitch: chore(version): 2024.12.23.0 feat(connector): [JPMORGAN] add Payment flows for cards (#6668) refactor(grpc): send `x-tenant-id` and `x-request-id` in grpc headers (#6904) feat(payment_methods_v2): Added Ephemeral auth for v2 (#6813) chore(cypress): payout - fix test cases for adyenplatform bank (#6887) refactor(connector): [Airwallex] add device_data in payment request (#6881) feat(router): add db interface for `/relay` (#6879) feat(payments_v2): implement payments capture v2 (#6722) feat(router): add /relay endpoint (#6870)
2 parents 4a28603 + 0e3a9b6 commit 350792c

File tree

114 files changed

+5825
-625
lines changed

Some content is hidden

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

114 files changed

+5825
-625
lines changed

.github/workflows/cypress-tests-runner.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ env:
1414
CARGO_INCREMENTAL: 0
1515
CARGO_NET_RETRY: 10
1616
PAYMENTS_CONNECTORS: "cybersource stripe"
17+
PAYOUTS_CONNECTORS: "adyenplatform wise"
1718
RUST_BACKTRACE: short
1819
RUSTUP_MAX_RETRIES: 10
1920
RUN_TESTS: ${{ ((github.event_name == 'pull_request') && (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name)) || (github.event_name == 'merge_group')}}
@@ -127,7 +128,7 @@ jobs:
127128
CONNECTOR_AUTH_PASSPHRASE: ${{ secrets.CONNECTOR_AUTH_PASSPHRASE }}
128129
CONNECTOR_CREDS_S3_BUCKET_URI: ${{ secrets.CONNECTOR_CREDS_S3_BUCKET_URI}}
129130
DESTINATION_FILE_NAME: "creds.json.gpg"
130-
S3_SOURCE_FILE_NAME: "2c0936f6-516c-4afb-b62b-e460ce4389bb.json.gpg"
131+
S3_SOURCE_FILE_NAME: "aa328308-b34e-41b7-a590-4fe45cfe7991.json.gpg"
131132
shell: bash
132133
run: |
133134
mkdir -p ".github/secrets" ".github/test"

CHANGELOG.md

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

55
- - -
66

7+
## 2024.12.23.0
8+
9+
### Features
10+
11+
- **connector:** [JPMORGAN] add Payment flows for cards ([#6668](https://github.com/juspay/hyperswitch/pull/6668)) ([`adcddd6`](https://github.com/juspay/hyperswitch/commit/adcddd643c002a5fe3e7c50c0f78fa5a46f210e7))
12+
- **payment_methods_v2:** Added Ephemeral auth for v2 ([#6813](https://github.com/juspay/hyperswitch/pull/6813)) ([`24401bc`](https://github.com/juspay/hyperswitch/commit/24401bc16f9677ce0f5fa70d739e5e6885c7e907))
13+
- **payments_v2:** Implement payments capture v2 ([#6722](https://github.com/juspay/hyperswitch/pull/6722)) ([`977cb70`](https://github.com/juspay/hyperswitch/commit/977cb704e7dcf35d0fa6bc0e3c6d335ad0601521))
14+
- **router:**
15+
- Add /relay endpoint ([#6870](https://github.com/juspay/hyperswitch/pull/6870)) ([`22de8ad`](https://github.com/juspay/hyperswitch/commit/22de8ad132811b636fdb2594649e40b90810f564))
16+
- Add db interface for `/relay` ([#6879](https://github.com/juspay/hyperswitch/pull/6879)) ([`0f8b0b3`](https://github.com/juspay/hyperswitch/commit/0f8b0b3bc854be62942a77d08340510312157c67))
17+
18+
### Bug Fixes
19+
20+
- **connector:**
21+
- Paypal BankRedirects (Ideal/EPS) ([#6864](https://github.com/juspay/hyperswitch/pull/6864)) ([`dcd51a7`](https://github.com/juspay/hyperswitch/commit/dcd51a7fb8df673cc74130ee732542b55783602f))
22+
- [STRIPE] fix stripe mandate ([#6899](https://github.com/juspay/hyperswitch/pull/6899)) ([`9f2ce05`](https://github.com/juspay/hyperswitch/commit/9f2ce05b2591da0d757b267800f42b69fc38e3ee))
23+
- Update mandate PMT configs for Mandate Supported Connectors ([#6903](https://github.com/juspay/hyperswitch/pull/6903)) ([`02f0824`](https://github.com/juspay/hyperswitch/commit/02f0824d303fb9a36ee54123f52176014613a992))
24+
- Cypress reports generation ([#6894](https://github.com/juspay/hyperswitch/pull/6894)) ([`81b324c`](https://github.com/juspay/hyperswitch/commit/81b324caf1bef4f621de30824bfb1f05ef984362))
25+
26+
### Refactors
27+
28+
- **connector:** [Airwallex] add device_data in payment request ([#6881](https://github.com/juspay/hyperswitch/pull/6881)) ([`573974b`](https://github.com/juspay/hyperswitch/commit/573974b3a5d53b279bd3959e400ac682aaacd474))
29+
- **customers_v2:** Include minor fixes for customer v2 flows ([#6876](https://github.com/juspay/hyperswitch/pull/6876)) ([`5cdeaf8`](https://github.com/juspay/hyperswitch/commit/5cdeaf8e6002ad087dba2a562f86b51e97516d29))
30+
- **dynamic_routing:** Add col payment_method_type in dynamic_routing_stats ([#6853](https://github.com/juspay/hyperswitch/pull/6853)) ([`492fd87`](https://github.com/juspay/hyperswitch/commit/492fd871a14e60e02f17fe073544bc40e79a7220))
31+
- **grpc:** Send `x-tenant-id` and `x-request-id` in grpc headers ([#6904](https://github.com/juspay/hyperswitch/pull/6904)) ([`dc0a92d`](https://github.com/juspay/hyperswitch/commit/dc0a92dc108c91d6c5f998af417e382aa7a0d9f1))
32+
33+
### Miscellaneous Tasks
34+
35+
- **cypress:** Payout - fix test cases for adyenplatform bank ([#6887](https://github.com/juspay/hyperswitch/pull/6887)) ([`7540b74`](https://github.com/juspay/hyperswitch/commit/7540b7434766ff9dfa1aa2a56013ac89429dd1e6))
36+
37+
**Full Changelog:** [`2024.12.19.1...2024.12.23.0`](https://github.com/juspay/hyperswitch/compare/2024.12.19.1...2024.12.23.0)
38+
39+
- - -
40+
741
## 2024.12.19.1
842

943
### Features

api-reference-v2/openapi_spec.json

Lines changed: 104 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -5613,6 +5613,21 @@
56135613
"type": "string",
56145614
"description": "User-agent of the browser",
56155615
"nullable": true
5616+
},
5617+
"os_type": {
5618+
"type": "string",
5619+
"description": "The os type of the client device",
5620+
"nullable": true
5621+
},
5622+
"os_version": {
5623+
"type": "string",
5624+
"description": "The os version of the client device",
5625+
"nullable": true
5626+
},
5627+
"device_model": {
5628+
"type": "string",
5629+
"description": "The device model of the client",
5630+
"nullable": true
56165631
}
56175632
}
56185633
},
@@ -6495,88 +6510,6 @@
64956510
"greater_than_equal"
64966511
]
64976512
},
6498-
"ConfirmIntentAmountDetailsResponse": {
6499-
"type": "object",
6500-
"required": [
6501-
"currency",
6502-
"external_tax_calculation",
6503-
"surcharge_calculation",
6504-
"net_amount",
6505-
"amount_capturable"
6506-
],
6507-
"properties": {
6508-
"order_amount": {
6509-
"type": "integer",
6510-
"format": "int64",
6511-
"description": "The payment amount. Amount for the payment in the lowest denomination of the currency, (i.e) in cents for USD denomination, in yen for JPY denomination etc. E.g., Pass 100 to charge $1.00 and 1 for 1¥ since ¥ is a zero-decimal currency. Read more about [the Decimal and Non-Decimal Currencies](https://github.com/juspay/hyperswitch/wiki/Decimal-and-Non%E2%80%90Decimal-Currencies)",
6512-
"example": 6540,
6513-
"minimum": 0
6514-
},
6515-
"currency": {
6516-
"$ref": "#/components/schemas/Currency"
6517-
},
6518-
"shipping_cost": {
6519-
"allOf": [
6520-
{
6521-
"$ref": "#/components/schemas/MinorUnit"
6522-
}
6523-
],
6524-
"nullable": true
6525-
},
6526-
"order_tax_amount": {
6527-
"allOf": [
6528-
{
6529-
"$ref": "#/components/schemas/MinorUnit"
6530-
}
6531-
],
6532-
"nullable": true
6533-
},
6534-
"external_tax_calculation": {
6535-
"$ref": "#/components/schemas/TaxCalculationOverride"
6536-
},
6537-
"surcharge_calculation": {
6538-
"$ref": "#/components/schemas/SurchargeCalculationOverride"
6539-
},
6540-
"surcharge_amount": {
6541-
"allOf": [
6542-
{
6543-
"$ref": "#/components/schemas/MinorUnit"
6544-
}
6545-
],
6546-
"nullable": true
6547-
},
6548-
"tax_on_surcharge": {
6549-
"allOf": [
6550-
{
6551-
"$ref": "#/components/schemas/MinorUnit"
6552-
}
6553-
],
6554-
"nullable": true
6555-
},
6556-
"net_amount": {
6557-
"$ref": "#/components/schemas/MinorUnit"
6558-
},
6559-
"amount_to_capture": {
6560-
"allOf": [
6561-
{
6562-
"$ref": "#/components/schemas/MinorUnit"
6563-
}
6564-
],
6565-
"nullable": true
6566-
},
6567-
"amount_capturable": {
6568-
"$ref": "#/components/schemas/MinorUnit"
6569-
},
6570-
"amount_captured": {
6571-
"allOf": [
6572-
{
6573-
"$ref": "#/components/schemas/MinorUnit"
6574-
}
6575-
],
6576-
"nullable": true
6577-
}
6578-
}
6579-
},
65806513
"Connector": {
65816514
"type": "string",
65826515
"description": "A connector is an integration to fulfill payments",
@@ -6624,6 +6557,7 @@
66246557
"helcim",
66256558
"iatapay",
66266559
"itaubank",
6560+
"jpmorgan",
66276561
"klarna",
66286562
"mifinity",
66296563
"mollie",
@@ -12605,6 +12539,88 @@
1260512539
}
1260612540
}
1260712541
},
12542+
"PaymentAmountDetailsResponse": {
12543+
"type": "object",
12544+
"required": [
12545+
"currency",
12546+
"external_tax_calculation",
12547+
"surcharge_calculation",
12548+
"net_amount",
12549+
"amount_capturable"
12550+
],
12551+
"properties": {
12552+
"order_amount": {
12553+
"type": "integer",
12554+
"format": "int64",
12555+
"description": "The payment amount. Amount for the payment in the lowest denomination of the currency, (i.e) in cents for USD denomination, in yen for JPY denomination etc. E.g., Pass 100 to charge $1.00 and 1 for 1¥ since ¥ is a zero-decimal currency. Read more about [the Decimal and Non-Decimal Currencies](https://github.com/juspay/hyperswitch/wiki/Decimal-and-Non%E2%80%90Decimal-Currencies)",
12556+
"example": 6540,
12557+
"minimum": 0
12558+
},
12559+
"currency": {
12560+
"$ref": "#/components/schemas/Currency"
12561+
},
12562+
"shipping_cost": {
12563+
"allOf": [
12564+
{
12565+
"$ref": "#/components/schemas/MinorUnit"
12566+
}
12567+
],
12568+
"nullable": true
12569+
},
12570+
"order_tax_amount": {
12571+
"allOf": [
12572+
{
12573+
"$ref": "#/components/schemas/MinorUnit"
12574+
}
12575+
],
12576+
"nullable": true
12577+
},
12578+
"external_tax_calculation": {
12579+
"$ref": "#/components/schemas/TaxCalculationOverride"
12580+
},
12581+
"surcharge_calculation": {
12582+
"$ref": "#/components/schemas/SurchargeCalculationOverride"
12583+
},
12584+
"surcharge_amount": {
12585+
"allOf": [
12586+
{
12587+
"$ref": "#/components/schemas/MinorUnit"
12588+
}
12589+
],
12590+
"nullable": true
12591+
},
12592+
"tax_on_surcharge": {
12593+
"allOf": [
12594+
{
12595+
"$ref": "#/components/schemas/MinorUnit"
12596+
}
12597+
],
12598+
"nullable": true
12599+
},
12600+
"net_amount": {
12601+
"$ref": "#/components/schemas/MinorUnit"
12602+
},
12603+
"amount_to_capture": {
12604+
"allOf": [
12605+
{
12606+
"$ref": "#/components/schemas/MinorUnit"
12607+
}
12608+
],
12609+
"nullable": true
12610+
},
12611+
"amount_capturable": {
12612+
"$ref": "#/components/schemas/MinorUnit"
12613+
},
12614+
"amount_captured": {
12615+
"allOf": [
12616+
{
12617+
"$ref": "#/components/schemas/MinorUnit"
12618+
}
12619+
],
12620+
"nullable": true
12621+
}
12622+
}
12623+
},
1260812624
"PaymentAttemptResponse": {
1260912625
"type": "object",
1261012626
"required": [
@@ -13855,16 +13871,11 @@
1385513871
"PaymentMethodIntentConfirm": {
1385613872
"type": "object",
1385713873
"required": [
13858-
"client_secret",
1385913874
"payment_method_data",
1386013875
"payment_method_type",
1386113876
"payment_method_subtype"
1386213877
],
1386313878
"properties": {
13864-
"client_secret": {
13865-
"type": "string",
13866-
"description": "For SDK based calls, client_secret would be required"
13867-
},
1386813879
"customer_id": {
1386913880
"type": "string",
1387013881
"description": "The unique identifier of the customer.",
@@ -14150,7 +14161,7 @@
1415014161
"example": "2024-02-24T11:04:09.922Z",
1415114162
"nullable": true
1415214163
},
14153-
"client_secret": {
14164+
"ephemeral_key": {
1415414165
"type": "string",
1415514166
"description": "For Client based calls",
1415614167
"nullable": true
@@ -14299,14 +14310,6 @@
1429914310
"properties": {
1430014311
"payment_method_data": {
1430114312
"$ref": "#/components/schemas/PaymentMethodUpdateData"
14302-
},
14303-
"client_secret": {
14304-
"type": "string",
14305-
"description": "This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK",
14306-
"example": "secret_k2uj3he2893eiu2d",
14307-
"nullable": true,
14308-
"maxLength": 30,
14309-
"minLength": 30
1431014313
}
1431114314
},
1431214315
"additionalProperties": false
@@ -14467,42 +14470,12 @@
1446714470
},
1446814471
"PaymentsCaptureRequest": {
1446914472
"type": "object",
14470-
"required": [
14471-
"amount_to_capture"
14472-
],
1447314473
"properties": {
14474-
"merchant_id": {
14475-
"type": "string",
14476-
"description": "The unique identifier for the merchant",
14477-
"nullable": true
14478-
},
1447914474
"amount_to_capture": {
1448014475
"type": "integer",
1448114476
"format": "int64",
14482-
"description": "The Amount to be captured/ debited from the user's payment method.",
14483-
"example": 6540
14484-
},
14485-
"refund_uncaptured_amount": {
14486-
"type": "boolean",
14487-
"description": "Decider to refund the uncaptured amount",
14488-
"nullable": true
14489-
},
14490-
"statement_descriptor_suffix": {
14491-
"type": "string",
14492-
"description": "Provides information about a card payment that customers see on their statements.",
14493-
"nullable": true
14494-
},
14495-
"statement_descriptor_prefix": {
14496-
"type": "string",
14497-
"description": "Concatenated with the statement descriptor suffix that’s set on the account to form the complete statement descriptor.",
14498-
"nullable": true
14499-
},
14500-
"merchant_connector_details": {
14501-
"allOf": [
14502-
{
14503-
"$ref": "#/components/schemas/MerchantConnectorDetailsWrap"
14504-
}
14505-
],
14477+
"description": "The Amount to be captured/ debited from the user's payment method. If not passed the full amount will be captured.",
14478+
"example": 6540,
1450614479
"nullable": true
1450714480
}
1450814481
}
@@ -14605,7 +14578,7 @@
1460514578
"$ref": "#/components/schemas/IntentStatus"
1460614579
},
1460714580
"amount": {
14608-
"$ref": "#/components/schemas/ConfirmIntentAmountDetailsResponse"
14581+
"$ref": "#/components/schemas/PaymentAmountDetailsResponse"
1460914582
},
1461014583
"customer_id": {
1461114584
"type": "string",
@@ -16354,7 +16327,7 @@
1635416327
"$ref": "#/components/schemas/IntentStatus"
1635516328
},
1635616329
"amount": {
16357-
"$ref": "#/components/schemas/ConfirmIntentAmountDetailsResponse"
16330+
"$ref": "#/components/schemas/PaymentAmountDetailsResponse"
1635816331
},
1635916332
"customer_id": {
1636016333
"type": "string",
@@ -19451,6 +19424,7 @@
1945119424
"helcim",
1945219425
"iatapay",
1945319426
"itaubank",
19427+
"jpmorgan",
1945419428
"klarna",
1945519429
"mifinity",
1945619430
"mollie",
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
openapi: openapi_spec get /relay/{relay_id}
3+
---
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
openapi: openapi_spec post /relay
3+
---

0 commit comments

Comments
 (0)