Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
0c2fc75
fix(script): fixed script
May 30, 2025
08e64b3
feat:authipay implementation
Jun 2, 2025
a688ba7
feat:authipay fixes
Jun 3, 2025
b431312
authipay fixes
Jun 5, 2025
c6f7b6f
fixes
Jun 5, 2025
5c5d68c
format fixes
Jun 5, 2025
d52179c
feat: authipay fixes
Jun 16, 2025
744d808
authipay fixes
Jun 17, 2025
68f9578
fix tests and flows
Jun 18, 2025
4e1b3bb
Merge branch 'main' into authipay_integration
iemyashasvi Jun 18, 2025
12622e9
chore: run formatter
hyperswitch-bot[bot] Jun 18, 2025
3fdfc52
docs(openapi): re-generate OpenAPI specification
hyperswitch-bot[bot] Jun 18, 2025
c54ea08
Update Utils.js
iemyashasvi Jun 19, 2025
a67b926
fixes
Jun 19, 2025
49707c5
(fixes):authipay
Jun 20, 2025
4268858
refactor
Jun 20, 2025
3850b31
Merge branch 'main' into authipay_integration
iemyashasvi Jun 20, 2025
6e3a097
chore(cypress): run formatter and address lints
hyperswitch-bot[bot] Jun 20, 2025
1b78f96
Merge branch 'main' into authipay_integration
iemyashasvi Jul 2, 2025
111e61e
chore: run formatter
hyperswitch-bot[bot] Jul 2, 2025
fc52f8f
Merge branch 'main' into authipay_integration
iemyashasvi Jul 2, 2025
49cd06c
chore: run formatter
hyperswitch-bot[bot] Jul 2, 2025
1cddce1
cypress Test cases added
Jul 4, 2025
ecd2cf6
Merge branch 'main' into authipay_integration
iemyashasvi Jul 4, 2025
24e99e6
chore: run formatter
hyperswitch-bot[bot] Jul 4, 2025
5e4e33f
chore(cypress): run formatter and address lints
hyperswitch-bot[bot] Jul 4, 2025
abbb476
Merge branch 'main' into authipay_integration
iemyashasvi Jul 4, 2025
2668faa
(chore):Merge fixes
Jul 4, 2025
277553f
(chore):cypress fixes -remove redundant code
Jul 7, 2025
1366ef4
chore(cypress): run formatter and address lints
hyperswitch-bot[bot] Jul 7, 2025
0bfe371
Merge branch 'main' into authipay_integration
iemyashasvi Jul 7, 2025
612d075
Merge branch 'main' into authipay_integration
iemyashasvi Jul 8, 2025
b2c1d70
chore: run formatter
hyperswitch-bot[bot] Jul 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions api-reference/v1/openapi_spec_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -10916,6 +10916,7 @@
"Connector": {
"type": "string",
"enum": [
"authipay",
"adyenplatform",
"stripe_billing_test",
"phonypay",
Expand Down Expand Up @@ -27926,6 +27927,7 @@
"type": "string",
"description": "RoutableConnectors are the subset of Connectors that are eligible for payments routing",
"enum": [
"authipay",
"adyenplatform",
"stripe_billing_test",
"phonypay",
Expand Down
2 changes: 2 additions & 0 deletions api-reference/v2/openapi_spec_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -8123,6 +8123,7 @@
"Connector": {
"type": "string",
"enum": [
"authipay",
"adyenplatform",
"stripe_billing_test",
"phonypay",
Expand Down Expand Up @@ -22643,6 +22644,7 @@
"type": "string",
"description": "RoutableConnectors are the subset of Connectors that are eligible for payments routing",
"enum": [
"authipay",
"adyenplatform",
"stripe_billing_test",
"phonypay",
Expand Down
2 changes: 2 additions & 0 deletions config/config.example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ airwallex.base_url = "https://api-demo.airwallex.com/"
amazonpay.base_url = "https://pay-api.amazon.com/v2"
applepay.base_url = "https://apple-pay-gateway.apple.com/"
archipel.base_url = "https://{{merchant_endpoint_prefix}}/ArchiPEL/Transaction/v1"
authipay.base_url = "https://prod.emea.api.fiservapps.com/sandbox/ipp/payments-gateway/v2"
authorizedotnet.base_url = "https://apitest.authorize.net/xml/v1/request.api"
bambora.base_url = "https://api.na.bambora.com"
bamboraapac.base_url = "https://demo.ippayments.com.au/interface/api"
Expand Down Expand Up @@ -343,6 +344,7 @@ cards = [
"adyen",
"adyenplatform",
"archipel",
"authipay",
"authorizedotnet",
"celero",
"coinbase",
Expand Down
1 change: 1 addition & 0 deletions config/deployments/integration_test.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ airwallex.base_url = "https://api-demo.airwallex.com/"
amazonpay.base_url = "https://pay-api.amazon.com/v2"
applepay.base_url = "https://apple-pay-gateway.apple.com/"
archipel.base_url = "https://{{merchant_endpoint_prefix}}/ArchiPEL/Transaction/v1"
authipay.base_url = "https://prod.emea.api.fiservapps.com/sandbox/ipp/payments-gateway/v2/"
authorizedotnet.base_url = "https://apitest.authorize.net/xml/v1/request.api"
bambora.base_url = "https://api.na.bambora.com"
bamboraapac.base_url = "https://demo.ippayments.com.au/interface/api"
Expand Down
1 change: 1 addition & 0 deletions config/deployments/production.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ airwallex.base_url = "https://api.airwallex.com/"
amazonpay.base_url = "https://pay-api.amazon.com/v2"
applepay.base_url = "https://apple-pay-gateway.apple.com/"
archipel.base_url = "https://{{merchant_endpoint_prefix}}/ArchiPEL/Transaction/v1"
authipay.base_url = "https://prod.emea.api.fiservapps.com/ipp/payments-gateway/v2/"
authorizedotnet.base_url = "https://api.authorize.net/xml/v1/request.api"
bambora.base_url = "https://api.na.bambora.com"
bamboraapac.base_url = "https://www.bambora.co.nz/interface/api/dts.asmx"
Expand Down
1 change: 1 addition & 0 deletions config/deployments/sandbox.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ airwallex.base_url = "https://api-demo.airwallex.com/"
amazonpay.base_url = "https://pay-api.amazon.com/v2"
applepay.base_url = "https://apple-pay-gateway.apple.com/"
archipel.base_url = "https://{{merchant_endpoint_prefix}}/ArchiPEL/Transaction/v1"
authipay.base_url = "https://prod.emea.api.fiservapps.com/sandbox/ipp/payments-gateway/v2"
authorizedotnet.base_url = "https://apitest.authorize.net/xml/v1/request.api"
bambora.base_url = "https://api.na.bambora.com"
bamboraapac.base_url = "https://demo.ippayments.com.au/interface/api"
Expand Down
2 changes: 2 additions & 0 deletions config/development.toml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ cards = [
"airwallex",
"amazonpay",
"archipel",
"authipay",
"authorizedotnet",
"bambora",
"bamboraapac",
Expand Down Expand Up @@ -227,6 +228,7 @@ airwallex.base_url = "https://api-demo.airwallex.com/"
amazonpay.base_url = "https://pay-api.amazon.com/v2"
applepay.base_url = "https://apple-pay-gateway.apple.com/"
archipel.base_url = "https://{{merchant_endpoint_prefix}}/ArchiPEL/Transaction/v1"
authipay.base_url = "https://prod.emea.api.fiservapps.com/sandbox/ipp/payments-gateway/v2/"
authorizedotnet.base_url = "https://apitest.authorize.net/xml/v1/request.api"
bambora.base_url = "https://api.na.bambora.com"
bamboraapac.base_url = "https://demo.ippayments.com.au/interface/api"
Expand Down
2 changes: 2 additions & 0 deletions config/docker_compose.toml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ airwallex.base_url = "https://api-demo.airwallex.com/"
amazonpay.base_url = "https://pay-api.amazon.com/v2"
applepay.base_url = "https://apple-pay-gateway.apple.com/"
archipel.base_url = "https://{{merchant_endpoint_prefix}}/ArchiPEL/Transaction/v1"
authipay.base_url = "https://prod.emea.api.fiservapps.com/sandbox/ipp/payments-gateway/v2/"
authorizedotnet.base_url = "https://apitest.authorize.net/xml/v1/request.api"
bambora.base_url = "https://api.na.bambora.com"
bamboraapac.base_url = "https://demo.ippayments.com.au/interface/api"
Expand Down Expand Up @@ -251,6 +252,7 @@ cards = [
"airwallex",
"amazonpay",
"archipel",
"authipay",
"authorizedotnet",
"bambora",
"bamboraapac",
Expand Down
18 changes: 17 additions & 1 deletion config/payment_required_fields_v2.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@ common = [
{ required_field = "payment_method_data.billing.address.last_name", display_name = "card_holder_name", field_type = "user_full_name" }
]

[required_fields.Card.Debit.fields.Authipay]
common = [
{ required_field = "payment_method_data.card.card_number", display_name = "card_number", field_type = "user_card_number" },
{ required_field = "payment_method_data.card.card_exp_month", display_name = "card_exp_month", field_type = "user_card_expiry_month" },
{ required_field = "payment_method_data.card.card_exp_year", display_name = "card_exp_year", field_type = "user_card_expiry_year" },
{ required_field = "payment_method_data.card.card_cvc", display_name = "card_cvc", field_type = "user_card_cvc" }
]

[required_fields.Card.Debit.fields.Bambora]
non_mandate = [
{ required_field = "payment_method_data.card.card_number", display_name = "card_number", field_type = "user_card_number" },
Expand Down Expand Up @@ -546,6 +554,14 @@ common = [
{ required_field = "payment_method_data.card.card_cvc", display_name = "card_cvc", field_type = "user_card_cvc" }
]

[required_fields.Card.Credit.fields.Authipay]
common = [
{ required_field = "payment_method_data.card.card_number", display_name = "card_number", field_type = "user_card_number" },
{ required_field = "payment_method_data.card.card_exp_month", display_name = "card_exp_month", field_type = "user_card_expiry_month" },
{ required_field = "payment_method_data.card.card_exp_year", display_name = "card_exp_year", field_type = "user_card_expiry_year" },
{ required_field = "payment_method_data.card.card_cvc", display_name = "card_cvc", field_type = "user_card_cvc" }
]

[required_fields.Card.Credit.fields.Bambora]
non_mandate = [
{ required_field = "payment_method_data.card.card_number", display_name = "card_number", field_type = "user_card_number" },
Expand Down Expand Up @@ -2341,4 +2357,4 @@ non_mandate = [
[required_fields.card_redirect.momo_atm.fields.Adyen]
common = []
mandate = []
non_mandate = []
non_mandate = []
5 changes: 5 additions & 0 deletions crates/common_enums/src/connector_enums.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ pub use crate::PaymentMethodType;
#[strum(serialize_all = "snake_case")]
/// RoutableConnectors are the subset of Connectors that are eligible for payments routing
pub enum RoutableConnectors {
Authipay,
Adyenplatform,
#[cfg(feature = "dummy_connector")]
#[serde(rename = "stripe_billing_test")]
Expand Down Expand Up @@ -184,6 +185,7 @@ pub enum RoutableConnectors {
#[serde(rename_all = "snake_case")]
#[strum(serialize_all = "snake_case")]
pub enum Connector {
Authipay,
Adyenplatform,
#[cfg(feature = "dummy_connector")]
#[serde(rename = "stripe_billing_test")]
Expand Down Expand Up @@ -404,6 +406,7 @@ impl Connector {
| Self::DummyConnector7 => false,
Self::Aci
// Add Separate authentication support for connectors
| Self::Authipay
| Self::Adyen
| Self::Adyenplatform
| Self::Airwallex
Expand Down Expand Up @@ -551,6 +554,7 @@ impl Connector {
impl From<RoutableConnectors> for Connector {
fn from(routable_connector: RoutableConnectors) -> Self {
match routable_connector {
RoutableConnectors::Authipay => Self::Authipay,
RoutableConnectors::Adyenplatform => Self::Adyenplatform,
#[cfg(feature = "dummy_connector")]
RoutableConnectors::DummyBillingConnector => Self::DummyBillingConnector,
Expand Down Expand Up @@ -673,6 +677,7 @@ impl TryFrom<Connector> for RoutableConnectors {

fn try_from(connector: Connector) -> Result<Self, Self::Error> {
match connector {
Connector::Authipay => Ok(Self::Authipay),
Connector::Adyenplatform => Ok(Self::Adyenplatform),
#[cfg(feature = "dummy_connector")]
Connector::DummyBillingConnector => Ok(Self::DummyBillingConnector),
Expand Down
2 changes: 2 additions & 0 deletions crates/connector_configs/src/connector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ pub struct ConnectorTomlConfig {
#[serde_with::skip_serializing_none]
#[derive(Debug, Deserialize, serde::Serialize, Clone)]
pub struct ConnectorConfig {
pub authipay: Option<ConnectorTomlConfig>,
pub juspaythreedsserver: Option<ConnectorTomlConfig>,
pub aci: Option<ConnectorTomlConfig>,
pub adyen: Option<ConnectorTomlConfig>,
Expand Down Expand Up @@ -369,6 +370,7 @@ impl ConnectorConfig {
let connector_data = Self::new()?;
match connector {
Connector::Aci => Ok(connector_data.aci),
Connector::Authipay => Ok(connector_data.authipay),
Connector::Adyen => Ok(connector_data.adyen),
Connector::Adyenplatform => Err("Use get_payout_connector_config".to_string()),
Connector::Airwallex => Ok(connector_data.airwallex),
Expand Down
16 changes: 15 additions & 1 deletion crates/connector_configs/toml/development.toml
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,21 @@ required=true
type="MultiSelect"
options=["PAN_ONLY", "CRYPTOGRAM_3DS"]


[authipay]
[[authipay.credit]]
payment_method_type = "Mastercard"
[[authipay.credit]]
payment_method_type = "Visa"
[[authipay.debit]]
payment_method_type = "Mastercard"
[[authipay.debit]]
payment_method_type = "Visa"
[authipay.connector_auth.SignatureKey]
api_key="API Key"
api_secret="API Secret"
key1="Merchant ID"
[authipay.connector_webhook_details]
merchant_secret="Source verification key"

[authorizedotnet]
[[authorizedotnet.credit]]
Expand Down
16 changes: 16 additions & 0 deletions crates/connector_configs/toml/production.toml
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,22 @@ key1="Client ID"
[airwallex.connector_webhook_details]
merchant_secret="Source verification key"

[authipay]
[[authipay.credit]]
payment_method_type = "Mastercard"
[[authipay.credit]]
payment_method_type = "Visa"
[[authipay.debit]]
payment_method_type = "Mastercard"
[[authipay.debit]]
payment_method_type = "Visa"
[authipay.connector_auth.SignatureKey]
api_key="API Key"
api_secret="API Secret"
key1="Merchant ID"
[authipay.connector_webhook_details]
merchant_secret="Source verification key"

[authorizedotnet]
[[authorizedotnet.credit]]
payment_method_type = "Mastercard"
Expand Down
16 changes: 15 additions & 1 deletion crates/connector_configs/toml/sandbox.toml
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,21 @@ required=true
type="MultiSelect"
options=["PAN_ONLY", "CRYPTOGRAM_3DS"]


[authipay]
[[authipay.credit]]
payment_method_type = "Mastercard"
[[authipay.credit]]
payment_method_type = "Visa"
[[authipay.debit]]
payment_method_type = "Mastercard"
[[authipay.debit]]
payment_method_type = "Visa"
[authipay.connector_auth.SignatureKey]
api_key="API Key"
api_secret="API Secret"
key1="Merchant ID"
[authipay.connector_webhook_details]
merchant_secret="Source verification key"

[authorizedotnet]
[[authorizedotnet.credit]]
Expand Down
21 changes: 11 additions & 10 deletions crates/hyperswitch_connectors/src/connectors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ pub mod adyenplatform;
pub mod airwallex;
pub mod amazonpay;
pub mod archipel;
pub mod authipay;
pub mod authorizedotnet;
pub mod bambora;
pub mod bamboraapac;
Expand Down Expand Up @@ -115,16 +116,16 @@ pub mod zsl;
pub use self::dummyconnector::DummyConnector;
pub use self::{
aci::Aci, adyen::Adyen, adyenplatform::Adyenplatform, airwallex::Airwallex,
amazonpay::Amazonpay, archipel::Archipel, authorizedotnet::Authorizedotnet, bambora::Bambora,
bamboraapac::Bamboraapac, bankofamerica::Bankofamerica, barclaycard::Barclaycard,
billwerk::Billwerk, bitpay::Bitpay, bluesnap::Bluesnap, boku::Boku, braintree::Braintree,
cashtocode::Cashtocode, celero::Celero, chargebee::Chargebee, checkbook::Checkbook,
checkout::Checkout, coinbase::Coinbase, coingate::Coingate, cryptopay::Cryptopay,
ctp_mastercard::CtpMastercard, cybersource::Cybersource, datatrans::Datatrans,
deutschebank::Deutschebank, digitalvirgo::Digitalvirgo, dlocal::Dlocal, dwolla::Dwolla,
ebanx::Ebanx, elavon::Elavon, facilitapay::Facilitapay, fiserv::Fiserv, fiservemea::Fiservemea,
fiuu::Fiuu, forte::Forte, getnet::Getnet, globalpay::Globalpay, globepay::Globepay,
gocardless::Gocardless, gpayments::Gpayments, helcim::Helcim, hipay::Hipay,
amazonpay::Amazonpay, archipel::Archipel, authipay::Authipay, authorizedotnet::Authorizedotnet,
bambora::Bambora, bamboraapac::Bamboraapac, bankofamerica::Bankofamerica,
barclaycard::Barclaycard, billwerk::Billwerk, bitpay::Bitpay, bluesnap::Bluesnap, boku::Boku,
braintree::Braintree, cashtocode::Cashtocode, celero::Celero, chargebee::Chargebee,
checkbook::Checkbook, checkout::Checkout, coinbase::Coinbase, coingate::Coingate,
cryptopay::Cryptopay, ctp_mastercard::CtpMastercard, cybersource::Cybersource,
datatrans::Datatrans, deutschebank::Deutschebank, digitalvirgo::Digitalvirgo, dlocal::Dlocal,
dwolla::Dwolla, ebanx::Ebanx, elavon::Elavon, facilitapay::Facilitapay, fiserv::Fiserv,
fiservemea::Fiservemea, fiuu::Fiuu, forte::Forte, getnet::Getnet, globalpay::Globalpay,
globepay::Globepay, gocardless::Gocardless, gpayments::Gpayments, helcim::Helcim, hipay::Hipay,
hyperswitch_vault::HyperswitchVault, iatapay::Iatapay, inespay::Inespay, itaubank::Itaubank,
jpmorgan::Jpmorgan, juspaythreedsserver::Juspaythreedsserver, klarna::Klarna,
mifinity::Mifinity, mollie::Mollie, moneris::Moneris, multisafepay::Multisafepay,
Expand Down
Loading
Loading