mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 19:42:27 +08:00
feat(core): billing_details inclusion in Payment Intent (#5090)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -60,6 +60,7 @@ pub struct PaymentIntent {
|
||||
pub charges: Option<pii::SecretSerdeValue>,
|
||||
pub frm_metadata: Option<pii::SecretSerdeValue>,
|
||||
pub customer_details: Option<Encryption>,
|
||||
pub billing_details: Option<Encryption>,
|
||||
pub merchant_order_reference_id: Option<String>,
|
||||
}
|
||||
|
||||
@ -117,6 +118,7 @@ pub struct PaymentIntentNew {
|
||||
pub charges: Option<pii::SecretSerdeValue>,
|
||||
pub frm_metadata: Option<pii::SecretSerdeValue>,
|
||||
pub customer_details: Option<Encryption>,
|
||||
pub billing_details: Option<Encryption>,
|
||||
pub merchant_order_reference_id: Option<String>,
|
||||
}
|
||||
|
||||
@ -177,6 +179,7 @@ pub enum PaymentIntentUpdate {
|
||||
request_external_three_ds_authentication: Option<bool>,
|
||||
frm_metadata: Option<pii::SecretSerdeValue>,
|
||||
customer_details: Option<Encryption>,
|
||||
billing_details: Option<Encryption>,
|
||||
merchant_order_reference_id: Option<String>,
|
||||
},
|
||||
PaymentAttemptAndAttemptCountUpdate {
|
||||
@ -254,6 +257,7 @@ pub struct PaymentIntentUpdateInternal {
|
||||
pub request_external_three_ds_authentication: Option<bool>,
|
||||
pub frm_metadata: Option<pii::SecretSerdeValue>,
|
||||
pub customer_details: Option<Encryption>,
|
||||
pub billing_details: Option<Encryption>,
|
||||
pub merchant_order_reference_id: Option<String>,
|
||||
}
|
||||
|
||||
@ -291,6 +295,7 @@ impl PaymentIntentUpdate {
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
billing_details,
|
||||
merchant_order_reference_id,
|
||||
} = self.into();
|
||||
PaymentIntent {
|
||||
@ -330,6 +335,7 @@ impl PaymentIntentUpdate {
|
||||
.or(source.request_external_three_ds_authentication),
|
||||
frm_metadata: frm_metadata.or(source.frm_metadata),
|
||||
customer_details: customer_details.or(source.customer_details),
|
||||
billing_details: billing_details.or(source.billing_details),
|
||||
merchant_order_reference_id: merchant_order_reference_id
|
||||
.or(source.merchant_order_reference_id),
|
||||
..source
|
||||
@ -363,6 +369,7 @@ impl From<PaymentIntentUpdate> for PaymentIntentUpdateInternal {
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
billing_details,
|
||||
merchant_order_reference_id,
|
||||
} => Self {
|
||||
amount: Some(amount),
|
||||
@ -388,6 +395,7 @@ impl From<PaymentIntentUpdate> for PaymentIntentUpdateInternal {
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
billing_details,
|
||||
merchant_order_reference_id,
|
||||
..Default::default()
|
||||
},
|
||||
|
||||
@ -890,6 +890,7 @@ diesel::table! {
|
||||
charges -> Nullable<Jsonb>,
|
||||
frm_metadata -> Nullable<Jsonb>,
|
||||
customer_details -> Nullable<Bytea>,
|
||||
billing_details -> Nullable<Bytea>,
|
||||
#[max_length = 255]
|
||||
merchant_order_reference_id -> Nullable<Varchar>,
|
||||
}
|
||||
|
||||
@ -63,5 +63,6 @@ pub struct PaymentIntent {
|
||||
pub charges: Option<pii::SecretSerdeValue>,
|
||||
pub frm_metadata: Option<pii::SecretSerdeValue>,
|
||||
pub customer_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
pub billing_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
pub merchant_order_reference_id: Option<String>,
|
||||
}
|
||||
|
||||
@ -530,6 +530,7 @@ impl behaviour::Conversion for PaymentIntent {
|
||||
charges: self.charges,
|
||||
frm_metadata: self.frm_metadata,
|
||||
customer_details: self.customer_details.map(Encryption::from),
|
||||
billing_details: self.billing_details.map(Encryption::from),
|
||||
merchant_order_reference_id: self.merchant_order_reference_id,
|
||||
})
|
||||
}
|
||||
@ -592,6 +593,10 @@ impl behaviour::Conversion for PaymentIntent {
|
||||
.customer_details
|
||||
.async_lift(inner_decrypt)
|
||||
.await?,
|
||||
billing_details: storage_model
|
||||
.billing_details
|
||||
.async_lift(inner_decrypt)
|
||||
.await?,
|
||||
merchant_order_reference_id: storage_model.merchant_order_reference_id,
|
||||
})
|
||||
}
|
||||
@ -647,6 +652,7 @@ impl behaviour::Conversion for PaymentIntent {
|
||||
charges: self.charges,
|
||||
frm_metadata: self.frm_metadata,
|
||||
customer_details: self.customer_details.map(Encryption::from),
|
||||
billing_details: self.billing_details.map(Encryption::from),
|
||||
merchant_order_reference_id: self.merchant_order_reference_id,
|
||||
})
|
||||
}
|
||||
|
||||
@ -134,6 +134,7 @@ pub struct PaymentIntentNew {
|
||||
pub request_external_three_ds_authentication: Option<bool>,
|
||||
pub charges: Option<pii::SecretSerdeValue>,
|
||||
pub customer_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
pub billing_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
@ -193,6 +194,7 @@ pub enum PaymentIntentUpdate {
|
||||
session_expiry: Option<PrimitiveDateTime>,
|
||||
request_external_three_ds_authentication: Option<bool>,
|
||||
customer_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
billing_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
merchant_order_reference_id: Option<String>,
|
||||
},
|
||||
PaymentAttemptAndAttemptCountUpdate {
|
||||
@ -271,6 +273,7 @@ pub struct PaymentIntentUpdateInternal {
|
||||
pub request_external_three_ds_authentication: Option<bool>,
|
||||
pub frm_metadata: Option<pii::SecretSerdeValue>,
|
||||
pub customer_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
pub billing_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
pub merchant_order_reference_id: Option<String>,
|
||||
}
|
||||
|
||||
@ -300,6 +303,7 @@ impl From<PaymentIntentUpdate> for PaymentIntentUpdateInternal {
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
billing_details,
|
||||
merchant_order_reference_id,
|
||||
} => Self {
|
||||
amount: Some(amount),
|
||||
@ -325,6 +329,7 @@ impl From<PaymentIntentUpdate> for PaymentIntentUpdateInternal {
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
billing_details,
|
||||
merchant_order_reference_id,
|
||||
..Default::default()
|
||||
},
|
||||
@ -566,6 +571,7 @@ impl From<PaymentIntentUpdate> for DieselPaymentIntentUpdate {
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
billing_details,
|
||||
merchant_order_reference_id,
|
||||
} => Self::Update {
|
||||
amount,
|
||||
@ -590,6 +596,7 @@ impl From<PaymentIntentUpdate> for DieselPaymentIntentUpdate {
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details: customer_details.map(Encryption::from),
|
||||
billing_details: billing_details.map(Encryption::from),
|
||||
merchant_order_reference_id,
|
||||
},
|
||||
PaymentIntentUpdate::PaymentAttemptAndAttemptCountUpdate {
|
||||
@ -693,6 +700,7 @@ impl From<PaymentIntentUpdateInternal> for diesel_models::PaymentIntentUpdateInt
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
billing_details,
|
||||
merchant_order_reference_id,
|
||||
} = value;
|
||||
|
||||
@ -728,6 +736,7 @@ impl From<PaymentIntentUpdateInternal> for diesel_models::PaymentIntentUpdateInt
|
||||
request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details: customer_details.map(Encryption::from),
|
||||
billing_details: billing_details.map(Encryption::from),
|
||||
merchant_order_reference_id,
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,7 +151,7 @@ impl TryFrom<&RapydRouterData<&types::PaymentsAuthorizeRouterData>> for RapydPay
|
||||
}
|
||||
_ => None,
|
||||
}
|
||||
.get_required_value("payment_method not implemnted")
|
||||
.get_required_value("payment_method not implemented")
|
||||
.change_context(errors::ConnectorError::NotImplemented(
|
||||
"payment_method".to_owned(),
|
||||
))?;
|
||||
|
||||
@ -341,7 +341,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.first_name.clone())
|
||||
.and_then(|billing_details| billing_details.first_name.clone())
|
||||
})
|
||||
.ok_or_else(missing_field_err(
|
||||
"payment_method_data.billing.address.first_name",
|
||||
@ -364,7 +364,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.last_name.clone())
|
||||
.and_then(|billing_details| billing_details.last_name.clone())
|
||||
})
|
||||
.ok_or_else(missing_field_err(
|
||||
"payment_method_data.billing.address.last_name",
|
||||
@ -378,7 +378,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.line1.clone())
|
||||
.and_then(|billing_details| billing_details.line1.clone())
|
||||
})
|
||||
.ok_or_else(missing_field_err(
|
||||
"payment_method_data.billing.address.line1",
|
||||
@ -391,7 +391,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.city)
|
||||
.and_then(|billing_details| billing_details.city)
|
||||
})
|
||||
.ok_or_else(missing_field_err(
|
||||
"payment_method_data.billing.address.city",
|
||||
@ -421,7 +421,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.line1)
|
||||
.and_then(|billing_details| billing_details.line1)
|
||||
})
|
||||
}
|
||||
|
||||
@ -432,7 +432,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.line2)
|
||||
.and_then(|billing_details| billing_details.line2)
|
||||
})
|
||||
}
|
||||
|
||||
@ -443,7 +443,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.city)
|
||||
.and_then(|billing_details| billing_details.city)
|
||||
})
|
||||
}
|
||||
|
||||
@ -454,7 +454,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.country)
|
||||
.and_then(|billing_details| billing_details.country)
|
||||
})
|
||||
}
|
||||
|
||||
@ -465,7 +465,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.zip)
|
||||
.and_then(|billing_details| billing_details.zip)
|
||||
})
|
||||
}
|
||||
|
||||
@ -476,7 +476,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.state)
|
||||
.and_then(|billing_details| billing_details.state)
|
||||
})
|
||||
}
|
||||
|
||||
@ -487,7 +487,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.first_name)
|
||||
.and_then(|billing_details| billing_details.first_name)
|
||||
})
|
||||
}
|
||||
|
||||
@ -498,7 +498,7 @@ impl<Flow, Request, Response> RouterData for types::RouterData<Flow, Request, Re
|
||||
billing_address
|
||||
.clone()
|
||||
.address
|
||||
.and_then(|billing_address_details| billing_address_details.last_name)
|
||||
.and_then(|billing_details| billing_details.last_name)
|
||||
})
|
||||
}
|
||||
|
||||
@ -615,7 +615,7 @@ impl AddressData for api::Address {
|
||||
fn get_optional_country(&self) -> Option<enums::CountryAlpha2> {
|
||||
self.address
|
||||
.as_ref()
|
||||
.and_then(|billing_address_details| billing_address_details.country)
|
||||
.and_then(|billing_details| billing_details.country)
|
||||
}
|
||||
|
||||
fn get_optional_full_name(&self) -> Option<Secret<String>> {
|
||||
|
||||
@ -3151,6 +3151,7 @@ mod tests {
|
||||
charges: None,
|
||||
frm_metadata: None,
|
||||
customer_details: None,
|
||||
billing_details: None,
|
||||
merchant_order_reference_id: None,
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
@ -3212,6 +3213,7 @@ mod tests {
|
||||
charges: None,
|
||||
frm_metadata: None,
|
||||
customer_details: None,
|
||||
billing_details: None,
|
||||
merchant_order_reference_id: None,
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
@ -3272,6 +3274,7 @@ mod tests {
|
||||
charges: None,
|
||||
frm_metadata: None,
|
||||
customer_details: None,
|
||||
billing_details: None,
|
||||
merchant_order_reference_id: None,
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
|
||||
@ -22,6 +22,7 @@ use crate::{
|
||||
blocklist::utils as blocklist_utils,
|
||||
errors::{self, CustomResult, RouterResult, StorageErrorExt},
|
||||
mandate::helpers as m_helpers,
|
||||
payment_methods::cards::create_encrypted_data,
|
||||
payments::{
|
||||
self, helpers, operations, populate_surcharge_details, CustomerDetails, PaymentAddress,
|
||||
PaymentData,
|
||||
@ -1218,6 +1219,10 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for Paymen
|
||||
.in_current_span(),
|
||||
);
|
||||
|
||||
let billing_address = payment_data.address.get_payment_billing();
|
||||
let billing_details = billing_address
|
||||
.async_and_then(|_| async { create_encrypted_data(key_store, billing_address).await })
|
||||
.await;
|
||||
let m_payment_data_payment_intent = payment_data.payment_intent.clone();
|
||||
let m_customer_id = customer_id.clone();
|
||||
let m_shipping_address_id = shipping_address_id.clone();
|
||||
@ -1263,6 +1268,7 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for Paymen
|
||||
frm_metadata: m_frm_metadata,
|
||||
customer_details,
|
||||
merchant_order_reference_id: None,
|
||||
billing_details,
|
||||
},
|
||||
&m_key_store,
|
||||
storage_scheme,
|
||||
|
||||
@ -1045,6 +1045,16 @@ impl PaymentCreate {
|
||||
.change_context(errors::ApiErrorResponse::InternalServerError)?
|
||||
.map(Secret::new);
|
||||
|
||||
// Derivation of directly supplied Billing Address data in our Payment Create Request
|
||||
// Encrypting our Billing Address Details to be stored in Payment Intent
|
||||
let billing_details = request
|
||||
.billing
|
||||
.clone()
|
||||
.async_and_then(|_| async {
|
||||
create_encrypted_data(key_store, request.billing.clone()).await
|
||||
})
|
||||
.await;
|
||||
|
||||
// Derivation of directly supplied Customer data in our Payment Create Request
|
||||
let raw_customer_details = if request.customer_id.is_none()
|
||||
&& (request.name.is_some()
|
||||
@ -1116,6 +1126,7 @@ impl PaymentCreate {
|
||||
.request_external_three_ds_authentication,
|
||||
charges,
|
||||
frm_metadata: request.frm_metadata.clone(),
|
||||
billing_details,
|
||||
customer_details,
|
||||
merchant_order_reference_id: request.merchant_order_reference_id.clone(),
|
||||
})
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
use std::marker::PhantomData;
|
||||
|
||||
use api_models::{
|
||||
enums::FrmSuggestion, mandates::RecurringDetails, payments::RequestSurchargeDetails,
|
||||
enums::FrmSuggestion,
|
||||
mandates::RecurringDetails,
|
||||
payments::{Address, RequestSurchargeDetails},
|
||||
};
|
||||
use async_trait::async_trait;
|
||||
use common_utils::{
|
||||
@ -18,6 +20,7 @@ use crate::{
|
||||
core::{
|
||||
errors::{self, CustomResult, RouterResult, StorageErrorExt},
|
||||
mandate::helpers as m_helpers,
|
||||
payment_methods::cards::create_encrypted_data,
|
||||
payments::{self, helpers, operations, CustomerDetails, PaymentAddress, PaymentData},
|
||||
utils as core_utils,
|
||||
},
|
||||
@ -218,6 +221,14 @@ impl<F: Send + Clone> GetTracker<F, PaymentData<F>, api::PaymentsRequest> for Pa
|
||||
)
|
||||
.await?;
|
||||
|
||||
let billing_details: Option<Address> = billing_address.as_ref().map(From::from);
|
||||
payment_intent.billing_details = billing_details
|
||||
.clone()
|
||||
.async_and_then(|_| async {
|
||||
create_encrypted_data(key_store, billing_details.clone()).await
|
||||
})
|
||||
.await;
|
||||
|
||||
let payment_method_billing = helpers::create_or_update_address_for_payment_by_request(
|
||||
db,
|
||||
request
|
||||
@ -438,7 +449,7 @@ impl<F: Send + Clone> GetTracker<F, PaymentData<F>, api::PaymentsRequest> for Pa
|
||||
customer_acceptance,
|
||||
address: PaymentAddress::new(
|
||||
shipping_address.as_ref().map(From::from),
|
||||
billing_address.as_ref().map(From::from),
|
||||
billing_details,
|
||||
payment_method_billing.as_ref().map(From::from),
|
||||
business_profile.use_billing_as_payment_method_billing,
|
||||
),
|
||||
@ -716,7 +727,7 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for Paymen
|
||||
.payment_intent
|
||||
.merchant_order_reference_id
|
||||
.clone();
|
||||
|
||||
let billing_details = payment_data.payment_intent.billing_details.clone();
|
||||
payment_data.payment_intent = state
|
||||
.store
|
||||
.update_payment_intent(
|
||||
@ -747,6 +758,7 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for Paymen
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
merchant_order_reference_id,
|
||||
billing_details,
|
||||
},
|
||||
key_store,
|
||||
storage_scheme,
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
use common_utils::{id_type, types::MinorUnit};
|
||||
use common_utils::{crypto::Encryptable, id_type, types::MinorUnit};
|
||||
use diesel_models::enums as storage_enums;
|
||||
use hyperswitch_domain_models::payments::PaymentIntent;
|
||||
use masking::Secret;
|
||||
use time::OffsetDateTime;
|
||||
|
||||
#[derive(serde::Serialize, Debug)]
|
||||
@ -31,6 +32,7 @@ pub struct KafkaPaymentIntent<'a> {
|
||||
pub business_label: Option<&'a String>,
|
||||
pub attempt_count: i16,
|
||||
pub payment_confirm_source: Option<storage_enums::PaymentSource>,
|
||||
pub billing_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
}
|
||||
|
||||
impl<'a> KafkaPaymentIntent<'a> {
|
||||
@ -59,6 +61,7 @@ impl<'a> KafkaPaymentIntent<'a> {
|
||||
business_label: intent.business_label.as_ref(),
|
||||
attempt_count: intent.attempt_count,
|
||||
payment_confirm_source: intent.payment_confirm_source,
|
||||
billing_details: intent.billing_details.clone(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
use common_utils::{id_type, types::MinorUnit};
|
||||
use common_utils::{crypto::Encryptable, id_type, types::MinorUnit};
|
||||
use diesel_models::enums as storage_enums;
|
||||
use hyperswitch_domain_models::payments::PaymentIntent;
|
||||
use masking::Secret;
|
||||
use time::OffsetDateTime;
|
||||
|
||||
#[serde_with::skip_serializing_none]
|
||||
@ -32,6 +33,7 @@ pub struct KafkaPaymentIntentEvent<'a> {
|
||||
pub business_label: Option<&'a String>,
|
||||
pub attempt_count: i16,
|
||||
pub payment_confirm_source: Option<storage_enums::PaymentSource>,
|
||||
pub billing_details: Option<Encryptable<Secret<serde_json::Value>>>,
|
||||
}
|
||||
|
||||
impl<'a> KafkaPaymentIntentEvent<'a> {
|
||||
@ -60,6 +62,7 @@ impl<'a> KafkaPaymentIntentEvent<'a> {
|
||||
business_label: intent.business_label.as_ref(),
|
||||
attempt_count: intent.attempt_count,
|
||||
payment_confirm_source: intent.payment_confirm_source,
|
||||
billing_details: intent.billing_details.clone(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -226,6 +226,7 @@ pub async fn generate_sample_data(
|
||||
charges: None,
|
||||
frm_metadata: Default::default(),
|
||||
customer_details: None,
|
||||
billing_details: None,
|
||||
merchant_order_reference_id: Default::default(),
|
||||
};
|
||||
let payment_attempt = PaymentAttemptBatchNew {
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_aci_card_mandate_payment(web_driver: WebDriver) -> Result<(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/180"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/180"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
Event::Assert(Assert::IsPresent("Mandate ID")),
|
||||
@ -35,7 +35,7 @@ async fn should_make_aci_alipay_payment(web_driver: WebDriver) -> Result<(), Web
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/213"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/213"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("submit-success"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -50,7 +50,7 @@ async fn should_make_aci_interac_payment(web_driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/14"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/14"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='Continue payment']"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='Confirm']"))),
|
||||
@ -66,7 +66,7 @@ async fn should_make_aci_eps_payment(web_driver: WebDriver) -> Result<(), WebDri
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/208"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/208"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("input.button-body.button-short"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("input.button-body.button-short"))),
|
||||
@ -84,7 +84,7 @@ async fn should_make_aci_ideal_payment(web_driver: WebDriver) -> Result<(), WebD
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/211"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/211"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("input.pps-button"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -99,7 +99,7 @@ async fn should_make_aci_sofort_payment(web_driver: WebDriver) -> Result<(), Web
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/212"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/212"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"button.large.button.primary.expand.form-submitter",
|
||||
@ -125,7 +125,7 @@ async fn should_make_aci_giropay_payment(web_driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/209"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/209"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SendKeys(By::Name("sc"), "10")),
|
||||
Event::Trigger(Trigger::SendKeys(By::Name("extensionSc"), "4000")),
|
||||
@ -143,7 +143,7 @@ async fn should_make_aci_trustly_payment(web_driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/13"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/13"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Sleep(2)),
|
||||
Event::Trigger(Trigger::Click(By::XPath(
|
||||
@ -189,7 +189,7 @@ async fn should_make_aci_przelewy24_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/12"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/12"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("pf31"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_adyen_3ds_payment_failed(web_driver: WebDriver) -> Result<(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/177"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/177"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Name("threeDSIframe"))),
|
||||
Event::Assert(Assert::IsPresent("AUTHENTICATION DETAILS")),
|
||||
@ -37,7 +37,7 @@ async fn should_make_adyen_3ds_payment_success(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/62"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/62"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Name("threeDSIframe"))),
|
||||
Event::Assert(Assert::IsPresent("AUTHENTICATION DETAILS")),
|
||||
@ -58,7 +58,7 @@ async fn should_make_adyen_3ds_mandate_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/203"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/203"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
Event::Assert(Assert::IsPresent("Mandate ID")),
|
||||
@ -79,7 +79,7 @@ async fn should_make_adyen_3ds_mandate_with_zero_dollar_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/204"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/204"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
Event::Assert(Assert::IsPresent("Mandate ID")),
|
||||
@ -96,7 +96,7 @@ async fn should_make_adyen_3ds_mandate_with_zero_dollar_payment(
|
||||
async fn should_make_adyen_gpay_payment(web_driver: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = AdyenSeleniumTest {};
|
||||
conn.make_gpay_payment(web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=adyen&gatewaymerchantid=JuspayDEECOM&amount=70.00&country=US¤cy=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=adyen&gatewaymerchantid=JuspayDEECOM&amount=70.00&country=US¤cy=USD"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
]).await?;
|
||||
@ -108,7 +108,7 @@ async fn should_make_adyen_gpay_mandate_payment(
|
||||
) -> Result<(), WebDriverError> {
|
||||
let conn = AdyenSeleniumTest {};
|
||||
conn.make_gpay_payment(web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=adyen&gatewaymerchantid=JuspayDEECOM&amount=70.00&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=7000&mandate_data[mandate_type][multi_use][currency]=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=adyen&gatewaymerchantid=JuspayDEECOM&amount=70.00&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=7000&mandate_data[mandate_type][multi_use][currency]=USD"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
Event::Assert(Assert::IsPresent("Mandate ID")),
|
||||
@ -125,7 +125,7 @@ async fn should_make_adyen_gpay_zero_dollar_mandate_payment(
|
||||
) -> Result<(), WebDriverError> {
|
||||
let conn = AdyenSeleniumTest {};
|
||||
conn.make_gpay_payment(web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=adyen&gatewaymerchantid=JuspayDEECOM&amount=0.00&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=adyen&gatewaymerchantid=JuspayDEECOM&amount=0.00&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
Event::Assert(Assert::IsPresent("Mandate ID")),
|
||||
@ -144,7 +144,7 @@ async fn should_make_adyen_klarna_mandate_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/195"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/195"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Id("klarna-apf-iframe"))),
|
||||
Event::Trigger(Trigger::Sleep(5)),
|
||||
@ -188,7 +188,7 @@ async fn should_make_adyen_alipay_hk_payment(web_driver: WebDriver) -> Result<()
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/162"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/162"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::EitherOr(
|
||||
Assert::IsPresent("Payment Method Not Available"),
|
||||
@ -214,7 +214,7 @@ async fn should_make_adyen_bizum_payment(web_driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/186"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/186"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SendKeys(By::Id("iPhBizInit"), "700000000")),
|
||||
Event::Trigger(Trigger::Click(By::Id("bBizInit"))),
|
||||
@ -234,7 +234,7 @@ async fn should_make_adyen_clearpay_payment(driver: WebDriver) -> Result<(), Web
|
||||
let conn = AdyenSeleniumTest {};
|
||||
conn.make_clearpay_payment(
|
||||
driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/163"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/163"),
|
||||
vec![Event::Assert(Assert::IsPresent("succeeded"))],
|
||||
)
|
||||
.await?;
|
||||
@ -245,7 +245,7 @@ async fn should_make_adyen_paypal_payment(web_driver: WebDriver) -> Result<(), W
|
||||
let conn = AdyenSeleniumTest {};
|
||||
conn.make_paypal_payment(
|
||||
web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/202"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/202"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Id("payment-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -264,7 +264,7 @@ async fn should_make_adyen_ach_payment(web_driver: WebDriver) -> Result<(), WebD
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/58"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/58"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
],
|
||||
@ -278,7 +278,7 @@ async fn should_make_adyen_sepa_payment(web_driver: WebDriver) -> Result<(), Web
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/51"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/51"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
],
|
||||
@ -292,7 +292,7 @@ async fn should_make_adyen_bacs_payment(web_driver: WebDriver) -> Result<(), Web
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/54"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/54"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Status")),
|
||||
Event::Assert(Assert::IsPresent("processing")), //final status of this payment method will remain in processing state
|
||||
@ -307,7 +307,7 @@ async fn should_make_adyen_ideal_payment(web_driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/52"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/52"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::ClassName("btnLink"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -322,7 +322,7 @@ async fn should_make_adyen_eps_payment(web_driver: WebDriver) -> Result<(), WebD
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/61"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/61"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("button[value='authorised']"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -353,7 +353,7 @@ async fn should_make_adyen_bancontact_card_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/68"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/68"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SendKeys(By::Id("username"), user)),
|
||||
Event::Trigger(Trigger::SendKeys(By::Id("password"), pass)),
|
||||
@ -371,7 +371,7 @@ async fn should_make_adyen_wechatpay_payment(web_driver: WebDriver) -> Result<()
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/75"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/75"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("button[value='authorised']"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -386,7 +386,7 @@ async fn should_make_adyen_mbway_payment(web_driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/196"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/196"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Status")),
|
||||
Event::Assert(Assert::IsPresent("processing")), //final status of this payment method will remain in processing state
|
||||
@ -403,7 +403,7 @@ async fn should_make_adyen_ebanking_fi_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/78"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/78"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::ClassName("css-ns0tbt"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -420,7 +420,7 @@ async fn should_make_adyen_onlinebanking_pl_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/197"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/197"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("user_account_pbl_correct"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -440,7 +440,7 @@ async fn should_make_adyen_giropay_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/70"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/70"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SendKeys(
|
||||
By::Css("input[id='tags']"),
|
||||
@ -474,7 +474,7 @@ async fn should_make_adyen_twint_payment(driver: WebDriver) -> Result<(), WebDri
|
||||
conn.make_redirection_payment(
|
||||
driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/170"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/170"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("button[value='authorised']"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -489,7 +489,7 @@ async fn should_make_adyen_walley_payment(web_driver: WebDriver) -> Result<(), W
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/198"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/198"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Teknikmössor AB")),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::ClassName(
|
||||
@ -527,7 +527,7 @@ async fn should_make_adyen_dana_payment(driver: WebDriver) -> Result<(), WebDriv
|
||||
conn.make_redirection_payment(
|
||||
driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/175"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/175"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SendKeys(
|
||||
By::Css("input[type='number']"),
|
||||
@ -556,7 +556,7 @@ async fn should_make_adyen_online_banking_fpx_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/172"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/172"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("button[value='authorised']"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -573,7 +573,7 @@ async fn should_make_adyen_online_banking_thailand_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/184"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/184"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("button[value='authorised']"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -588,7 +588,7 @@ async fn should_make_adyen_touch_n_go_payment(web_driver: WebDriver) -> Result<(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/185"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/185"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("button[value='authorised']"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -607,7 +607,7 @@ async fn should_make_adyen_swish_payment(web_driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/210"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/210"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("status")),
|
||||
Event::Assert(Assert::IsPresent("processing")),
|
||||
@ -624,7 +624,7 @@ async fn should_make_adyen_blik_payment(driver: WebDriver) -> Result<(), WebDriv
|
||||
conn.make_redirection_payment(
|
||||
driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/64"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/64"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Next Action Type")),
|
||||
Event::Assert(Assert::IsPresent("wait_screen_information")),
|
||||
@ -639,7 +639,7 @@ async fn should_make_adyen_momo_atm_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/238"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/238"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Sleep(5)), // Delay for provider to not reject payment for botting
|
||||
Event::Trigger(Trigger::SendKeys(
|
||||
|
||||
@ -14,7 +14,7 @@ async fn should_make_webhook(web_driver: WebDriver) -> Result<(), WebDriverError
|
||||
let conn = AdyenSeleniumTest {};
|
||||
conn.make_webhook_test(
|
||||
web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/104"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/104"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_airwallex_3ds_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/85"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/85"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Query(By::ClassName("title"))),
|
||||
Event::Assert(Assert::Eq(
|
||||
@ -45,7 +45,7 @@ async fn should_make_airwallex_gpay_payment(web_driver: WebDriver) -> Result<(),
|
||||
.airwallex_merchant_name
|
||||
.unwrap();
|
||||
conn.make_gpay_payment(web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=airwallex&gatewaymerchantid={merchant_name}&amount=70.00&country=US¤cy=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=airwallex&gatewaymerchantid={merchant_name}&amount=70.00&country=US¤cy=USD"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Query(By::ClassName("title"))),
|
||||
Event::Assert(Assert::Eq(Selector::Title, "Airwallex - Create 3D Secure Payment")),
|
||||
|
||||
@ -22,7 +22,7 @@ async fn should_make_gpay_payment(web_driver: WebDriver) -> Result<(), WebDriver
|
||||
.authorizedotnet_gateway_merchant_id
|
||||
.unwrap();
|
||||
conn.make_gpay_payment(web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=authorizenet&gatewaymerchantid={pub_key}&amount={amount}&country=US¤cy=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=authorizenet&gatewaymerchantid={pub_key}&amount={amount}&country=US¤cy=USD"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("status")),
|
||||
Event::Assert(Assert::IsPresent("processing")), // This connector status will be processing for one day
|
||||
@ -34,7 +34,7 @@ async fn should_make_paypal_payment(web_driver: WebDriver) -> Result<(), WebDriv
|
||||
let conn = AuthorizedotnetSeleniumTest {};
|
||||
conn.make_paypal_payment(
|
||||
web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/156"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/156"),
|
||||
vec![
|
||||
Event::EitherOr(
|
||||
Assert::IsElePresent(By::Css(".reviewButton")),
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_webhook(web_driver: WebDriver) -> Result<(), WebDriverError
|
||||
let amount = rand::thread_rng().gen_range(50..1000); //This connector detects it as fraudulent payment if the same amount is used for multiple payments so random amount is passed for testing(
|
||||
conn.make_webhook_test(
|
||||
web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/227?amount={amount}"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/227?amount={amount}"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("status")),
|
||||
|
||||
@ -17,7 +17,7 @@ async fn should_make_3ds_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/33"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/33"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("continue-transaction"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_3ds_payment(driver: WebDriver) -> Result<(), WebDriverError
|
||||
conn.make_redirection_payment(
|
||||
driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/200"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/200"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::RunIf(
|
||||
Assert::IsElePresent(By::Id("Cardinal-CCA-IFrame")),
|
||||
@ -48,7 +48,7 @@ async fn should_make_gpay_payment(driver: WebDriver) -> Result<(), WebDriverErro
|
||||
.bluesnap_gateway_merchant_id
|
||||
.unwrap();
|
||||
conn.make_gpay_payment(driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=bluesnap&gatewaymerchantid={pub_key}&amount=11.00&country=US¤cy=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=bluesnap&gatewaymerchantid={pub_key}&amount=11.00&country=US¤cy=USD"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
]).await?;
|
||||
|
||||
@ -14,7 +14,7 @@ async fn should_make_webhook(web_driver: WebDriver) -> Result<(), WebDriverError
|
||||
let conn = BluesnapSeleniumTest {};
|
||||
conn.make_webhook_test(
|
||||
web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/199"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/199"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
|
||||
@ -17,7 +17,7 @@ async fn should_make_frictionless_3ds_payment(c: WebDriver) -> Result<(), WebDri
|
||||
.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/18"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/18"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Google Search")),
|
||||
Event::Trigger(Trigger::Sleep(5)), //url gets updated only after some time, so need this timeout to solve the issue
|
||||
@ -37,7 +37,7 @@ async fn should_make_3ds_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/20"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/20"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Sleep(5)), //url gets updated only after some time, so need this timeout to solve the issue
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Name("cko-3ds2-iframe"))),
|
||||
@ -61,7 +61,7 @@ async fn should_make_gpay_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/73"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/73"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Sleep(10)), //url gets updated only after some time, so need this timeout to solve the issue
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Name("cko-3ds2-iframe"))),
|
||||
|
||||
@ -14,7 +14,7 @@ async fn should_make_webhook(web_driver: WebDriver) -> Result<(), WebDriverError
|
||||
let conn = CheckoutSeleniumTest {};
|
||||
conn.make_webhook_test(
|
||||
web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/18"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/18"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Sleep(8)),
|
||||
|
||||
@ -20,7 +20,7 @@ async fn should_make_gpay_payment(driver: WebDriver) -> Result<(), WebDriverErro
|
||||
.globalpay_gateway_merchant_id
|
||||
.unwrap();
|
||||
conn.make_gpay_payment(driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?amount=10.00&country=US¤cy=USD&gatewayname=globalpayments&gatewaymerchantid={pub_key}"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?amount=10.00&country=US¤cy=USD&gatewayname=globalpayments&gatewaymerchantid={pub_key}"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
]).await?;
|
||||
@ -31,7 +31,7 @@ async fn should_make_globalpay_paypal_payment(driver: WebDriver) -> Result<(), W
|
||||
let conn = GlobalpaySeleniumTest {};
|
||||
conn.make_paypal_payment(
|
||||
driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/46"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/46"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Id("payment-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -50,7 +50,7 @@ async fn should_make_globalpay_ideal_payment(driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/53"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/53"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Choose your Bank")),
|
||||
Event::Trigger(Trigger::Click(By::Css("button.btn.btn-primary"))),
|
||||
@ -76,7 +76,7 @@ async fn should_make_globalpay_giropay_payment(driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/59"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/59"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Choose your Bank")),
|
||||
Event::Trigger(Trigger::Click(By::Css("button.btn.btn-primary"))),
|
||||
@ -102,7 +102,7 @@ async fn should_make_globalpay_eps_payment(driver: WebDriver) -> Result<(), WebD
|
||||
conn.make_redirection_payment(
|
||||
driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/50"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/50"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Choose your Bank")),
|
||||
Event::Trigger(Trigger::Click(By::Css("button.btn.btn-primary"))),
|
||||
@ -128,7 +128,7 @@ async fn should_make_globalpay_sofort_payment(driver: WebDriver) -> Result<(), W
|
||||
conn.make_redirection_payment(
|
||||
driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/63"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/63"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::RunIf(
|
||||
Assert::IsPresent("Wählen"),
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_mollie_paypal_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/32"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/32"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Test profile")),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='paid']"))),
|
||||
@ -39,7 +39,7 @@ async fn should_make_mollie_sofort_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/29"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/29"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Test profile")),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='paid']"))),
|
||||
@ -62,7 +62,7 @@ async fn should_make_mollie_ideal_payment(web_driver: WebDriver) -> Result<(), W
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/36"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/36"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Test profile")),
|
||||
Event::Trigger(Trigger::Click(By::ClassName(
|
||||
@ -85,7 +85,7 @@ async fn should_make_mollie_eps_payment(web_driver: WebDriver) -> Result<(), Web
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/38"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/38"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Test profile")),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='paid']"))),
|
||||
@ -108,7 +108,7 @@ async fn should_make_mollie_giropay_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/41"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/41"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Test profile")),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='paid']"))),
|
||||
@ -131,7 +131,7 @@ async fn should_make_mollie_bancontact_card_payment(c: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/86"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/86"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Test profile")),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='paid']"))),
|
||||
@ -154,7 +154,7 @@ async fn should_make_mollie_przelewy24_payment(c: WebDriver) -> Result<(), WebDr
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/87"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/87"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Test profile")),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='paid']"))),
|
||||
@ -177,7 +177,7 @@ async fn should_make_mollie_3ds_payment(web_driver: WebDriver) -> Result<(), Web
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/148"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/148"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Test profile")),
|
||||
Event::Trigger(Trigger::Click(By::Css("input[value='paid']"))),
|
||||
|
||||
@ -18,7 +18,7 @@ async fn should_make_multisafepay_3ds_payment_success(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/207"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/207"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
],
|
||||
@ -34,7 +34,7 @@ async fn should_make_multisafepay_3ds_payment_failed(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/93"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/93"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("failed")),
|
||||
],
|
||||
@ -48,7 +48,7 @@ async fn should_make_gpay_payment(web_driver: WebDriver) -> Result<(), WebDriver
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/153"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/153"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css("button[class='btn btn-default']"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -63,7 +63,7 @@ async fn should_make_paypal_payment(web_driver: WebDriver) -> Result<(), WebDriv
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/154"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/154"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"button[class='btn btn-msp-success btn-block']",
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_paypal_payment(web_driver: WebDriver) -> Result<(), WebDriv
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/220"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/220"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a.btn.btn-primary.btn-block.margin-bottm-15",
|
||||
@ -36,7 +36,7 @@ async fn should_make_3ds_card_payment(web_driver: WebDriver) -> Result<(), WebDr
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/221"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/221"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Id("threeDSCReqIframe"))),
|
||||
Event::Trigger(Trigger::SendKeys(By::Id("otp"), "1234")),
|
||||
@ -57,7 +57,7 @@ async fn should_make_ideal_payment(web_driver: WebDriver) -> Result<(), WebDrive
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/222"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/222"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a.btn.btn-primary.btn-block.margin-bottm-15",
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_noon_3ds_payment(web_driver: WebDriver) -> Result<(), WebDr
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/176"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/176"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Id("redirectTo3ds1Frame"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Css("iframe[frameborder='0']"))),
|
||||
@ -35,7 +35,7 @@ async fn should_make_noon_3ds_mandate_payment(web_driver: WebDriver) -> Result<(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/214"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/214"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Id("redirectTo3ds1Frame"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Css("iframe[frameborder='0']"))),
|
||||
@ -61,7 +61,7 @@ async fn should_make_noon_non_3ds_mandate_payment(
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/215"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/215"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
Event::Assert(Assert::IsPresent("Mandate ID")),
|
||||
|
||||
@ -14,7 +14,7 @@ impl SeleniumTest for NuveiSeleniumTest {
|
||||
async fn should_make_nuvei_3ds_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = NuveiSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000027891380961&expmonth=10&expyear=25&cvv=123&amount=200&country=US¤cy=USD"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000027891380961&expmonth=10&expyear=25&cvv=123&amount=200&country=US¤cy=USD"))),
|
||||
Event::Assert(Assert::IsPresent("Expiry Year")),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Query(By::ClassName("title"))),
|
||||
@ -31,7 +31,7 @@ async fn should_make_nuvei_3ds_payment(c: WebDriver) -> Result<(), WebDriverErro
|
||||
async fn should_make_nuvei_3ds_mandate_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = NuveiSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000027891380961&expmonth=10&expyear=25&cvv=123&amount=200&country=US¤cy=USD&setup_future_usage=off_session&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=in%20sit&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=7000&mandate_data[mandate_type][multi_use][currency]=USD&mandate_data[mandate_type][multi_use][start_date]=2022-09-10T00:00:00Z&mandate_data[mandate_type][multi_use][end_date]=2023-09-10T00:00:00Z&mandate_data[mandate_type][multi_use][metadata][frequency]=13&return_url={CHEKOUT_BASE_URL}/payments"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000027891380961&expmonth=10&expyear=25&cvv=123&amount=200&country=US¤cy=USD&setup_future_usage=off_session&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=in%20sit&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=7000&mandate_data[mandate_type][multi_use][currency]=USD&mandate_data[mandate_type][multi_use][start_date]=2022-09-10T00:00:00Z&mandate_data[mandate_type][multi_use][end_date]=2023-09-10T00:00:00Z&mandate_data[mandate_type][multi_use][metadata][frequency]=13&return_url={CHECKOUT_BASE_URL}/payments"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Query(By::ClassName("title"))),
|
||||
Event::Assert(Assert::Eq(Selector::Title, "ThreeDS ACS Emulator - Challenge Page")),
|
||||
@ -47,7 +47,7 @@ async fn should_make_nuvei_3ds_mandate_payment(c: WebDriver) -> Result<(), WebDr
|
||||
async fn should_make_nuvei_gpay_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = NuveiSeleniumTest {};
|
||||
conn.make_gpay_payment(c,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=nuveidigital&gatewaymerchantid=googletest&amount=10.00&country=IN¤cy=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=nuveidigital&gatewaymerchantid=googletest&amount=10.00&country=IN¤cy=USD"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
]).await?;
|
||||
@ -58,7 +58,7 @@ async fn should_make_nuvei_pypl_payment(c: WebDriver) -> Result<(), WebDriverErr
|
||||
let conn = NuveiSeleniumTest {};
|
||||
conn.make_paypal_payment(
|
||||
c,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/5"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/5"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Id("payment-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -75,7 +75,7 @@ async fn should_make_nuvei_pypl_payment(c: WebDriver) -> Result<(), WebDriverErr
|
||||
async fn should_make_nuvei_giropay_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = NuveiSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/bank-redirect?amount=1.00&country=DE¤cy=EUR&paymentmethod=giropay"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/bank-redirect?amount=1.00&country=DE¤cy=EUR&paymentmethod=giropay"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("bank-redirect-btn"))),
|
||||
Event::Assert(Assert::IsPresent("You are about to make a payment using the Giropay service.")),
|
||||
Event::Trigger(Trigger::Click(By::Id("ctl00_ctl00_mainContent_btnConfirm"))),
|
||||
@ -99,7 +99,7 @@ async fn should_make_nuvei_giropay_payment(c: WebDriver) -> Result<(), WebDriver
|
||||
async fn should_make_nuvei_ideal_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = NuveiSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/bank-redirect?amount=10.00&country=NL¤cy=EUR&paymentmethod=ideal&processingbank=ing"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/bank-redirect?amount=10.00&country=NL¤cy=EUR&paymentmethod=ideal&processingbank=ing"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("bank-redirect-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Your account will be debited:")),
|
||||
Event::Trigger(Trigger::SelectOption(By::Id("ctl00_ctl00_mainContent_ServiceContent_ddlBanks"), "ING Simulator")),
|
||||
@ -116,7 +116,7 @@ async fn should_make_nuvei_ideal_payment(c: WebDriver) -> Result<(), WebDriverEr
|
||||
async fn should_make_nuvei_sofort_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = NuveiSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/bank-redirect?amount=10.00&country=DE¤cy=EUR&paymentmethod=sofort"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/bank-redirect?amount=10.00&country=DE¤cy=EUR&paymentmethod=sofort"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("bank-redirect-btn"))),
|
||||
Event::Assert(Assert::IsPresent("SOFORT")),
|
||||
Event::Trigger(Trigger::ChangeQueryParam("sender_holder", "John Doe")),
|
||||
@ -130,7 +130,7 @@ async fn should_make_nuvei_sofort_payment(c: WebDriver) -> Result<(), WebDriverE
|
||||
async fn should_make_nuvei_eps_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = NuveiSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/bank-redirect?amount=10.00&country=AT¤cy=EUR&paymentmethod=eps&processingbank=ing"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/bank-redirect?amount=10.00&country=AT¤cy=EUR&paymentmethod=eps&processingbank=ing"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("bank-redirect-btn"))),
|
||||
Event::Assert(Assert::IsPresent("You are about to make a payment using the EPS service.")),
|
||||
Event::Trigger(Trigger::SendKeys(By::Id("ctl00_ctl00_mainContent_ServiceContent_txtCustomerName"), "John Doe")),
|
||||
|
||||
@ -17,7 +17,7 @@ async fn should_make_paypal_paypal_wallet_payment(
|
||||
let conn = PaypalSeleniumTest {};
|
||||
conn.make_paypal_payment(
|
||||
web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/21"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/21"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Css("#payment-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -36,7 +36,7 @@ async fn should_make_paypal_ideal_payment(web_driver: WebDriver) -> Result<(), W
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/181"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/181"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Name("Successful"))),
|
||||
Event::Assert(Assert::IsPresent("processing")),
|
||||
@ -51,7 +51,7 @@ async fn should_make_paypal_giropay_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/233"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/233"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Name("Successful"))),
|
||||
Event::Assert(Assert::IsPresent("processing")),
|
||||
@ -66,7 +66,7 @@ async fn should_make_paypal_eps_payment(web_driver: WebDriver) -> Result<(), Web
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/234"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/234"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Name("Successful"))),
|
||||
Event::Assert(Assert::IsPresent("processing")),
|
||||
@ -81,7 +81,7 @@ async fn should_make_paypal_sofort_payment(web_driver: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/235"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/235"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Name("Successful"))),
|
||||
Event::Assert(Assert::IsPresent("processing")),
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_no_3ds_card_payment(web_driver: WebDriver) -> Result<(), We
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/72"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/72"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Sleep(1)),
|
||||
Event::Assert(Assert::IsPresent("status")),
|
||||
@ -30,7 +30,7 @@ async fn should_make_no_3ds_card_payment(web_driver: WebDriver) -> Result<(), We
|
||||
async fn should_make_gpay_payment(web_driver: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = PayUSeleniumTest {};
|
||||
conn.make_gpay_payment(web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=payu&gatewaymerchantid=459551&amount=70.00&country=US¤cy=PLN"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=payu&gatewaymerchantid=459551&amount=70.00&country=US¤cy=PLN"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("Status")),
|
||||
Event::Assert(Assert::IsPresent("processing")),
|
||||
|
||||
@ -66,7 +66,7 @@ pub enum Assert<'a> {
|
||||
IsPresentNow(&'a str),
|
||||
}
|
||||
|
||||
pub static CHEKOUT_BASE_URL: &str = "https://hs-payments-test.netlify.app";
|
||||
pub static CHECKOUT_BASE_URL: &str = "https://hs-payments-test.netlify.app";
|
||||
#[async_trait]
|
||||
pub trait SeleniumTest {
|
||||
fn get_saved_testcases(&self) -> serde_json::Value {
|
||||
@ -524,7 +524,7 @@ pub trait SeleniumTest {
|
||||
self.complete_actions(
|
||||
&web_driver,
|
||||
vec![Event::Trigger(Trigger::Goto(&format!(
|
||||
"{CHEKOUT_BASE_URL}/events"
|
||||
"{CHECKOUT_BASE_URL}/events"
|
||||
)))],
|
||||
)
|
||||
.await?;
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_3ds_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/37"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/37"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::ClassName("btn-success"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -35,7 +35,7 @@ async fn should_make_giropay_payment(c: WebDriver) -> Result<(), WebDriverError>
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/39"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/39"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::ClassName("btn-success"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -54,7 +54,7 @@ async fn should_make_ideal_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/42"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/42"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::ClassName("btn-success"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -73,7 +73,7 @@ async fn should_make_sofort_payment(c: WebDriver) -> Result<(), WebDriverError>
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/43"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/43"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::ClassName("btn-success"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -92,7 +92,7 @@ async fn should_make_eps_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/157"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/157"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::ClassName("btn-success"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
|
||||
@ -14,7 +14,7 @@ impl SeleniumTest for StripeSeleniumTest {
|
||||
async fn should_make_3ds_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = StripeSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000000000003063&expmonth=10&expyear=25&cvv=123&amount=100&country=US¤cy=USD"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000000000003063&expmonth=10&expyear=25&cvv=123&amount=100&country=US¤cy=USD"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("test-source-authorize-3ds"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
@ -27,7 +27,7 @@ async fn should_make_3ds_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
async fn should_make_3ds_mandate_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
let conn = StripeSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000002500003155&expmonth=10&expyear=25&cvv=123&amount=10&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD&return_url={CHEKOUT_BASE_URL}/payments"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000002500003155&expmonth=10&expyear=25&cvv=123&amount=10&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD&return_url={CHECKOUT_BASE_URL}/payments"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("test-source-authorize-3ds"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -46,7 +46,7 @@ async fn should_fail_recurring_payment_due_to_authentication(
|
||||
) -> Result<(), WebDriverError> {
|
||||
let conn = StripeSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000002760003184&expmonth=10&expyear=25&cvv=123&amount=10&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD&return_url={CHEKOUT_BASE_URL}/payments"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000002760003184&expmonth=10&expyear=25&cvv=123&amount=10&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD&return_url={CHECKOUT_BASE_URL}/payments"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("test-source-authorize-3ds"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -64,7 +64,7 @@ async fn should_make_3ds_mandate_with_zero_dollar_payment(
|
||||
) -> Result<(), WebDriverError> {
|
||||
let conn = StripeSeleniumTest {};
|
||||
conn.make_redirection_payment(c, vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000002500003155&expmonth=10&expyear=25&cvv=123&amount=0&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD&return_url={CHEKOUT_BASE_URL}/payments"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/card?cname=CL-BRW1&ccnum=4000002500003155&expmonth=10&expyear=25&cvv=123&amount=0&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD&return_url={CHECKOUT_BASE_URL}/payments"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("test-source-authorize-3ds"))),
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
@ -88,7 +88,7 @@ async fn should_make_gpay_payment(c: WebDriver) -> Result<(), WebDriverError> {
|
||||
.stripe_pub_key
|
||||
.unwrap();
|
||||
conn.make_gpay_payment(c,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=stripe&gpaycustomfields[stripe:version]=2018-10-31&gpaycustomfields[stripe:publishableKey]={pub_key}&amount=70.00&country=US¤cy=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=stripe&gpaycustomfields[stripe:version]=2018-10-31&gpaycustomfields[stripe:publishableKey]={pub_key}&amount=70.00&country=US¤cy=USD"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
]).await?;
|
||||
@ -104,7 +104,7 @@ async fn should_make_gpay_mandate_payment(c: WebDriver) -> Result<(), WebDriverE
|
||||
.stripe_pub_key
|
||||
.unwrap();
|
||||
conn.make_gpay_payment(c,
|
||||
&format!("{CHEKOUT_BASE_URL}/gpay?gatewayname=stripe&gpaycustomfields[stripe:version]=2018-10-31&gpaycustomfields[stripe:publishableKey]={pub_key}&amount=70.00&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD"),
|
||||
&format!("{CHECKOUT_BASE_URL}/gpay?gatewayname=stripe&gpaycustomfields[stripe:version]=2018-10-31&gpaycustomfields[stripe:publishableKey]={pub_key}&amount=70.00&country=US¤cy=USD&mandate_data[customer_acceptance][acceptance_type]=offline&mandate_data[customer_acceptance][accepted_at]=1963-05-03T04:07:52.723Z&mandate_data[customer_acceptance][online][ip_address]=127.0.0.1&mandate_data[customer_acceptance][online][user_agent]=amet%20irure%20esse&mandate_data[mandate_type][multi_use][amount]=700&mandate_data[mandate_type][multi_use][currency]=USD"),
|
||||
vec![
|
||||
Event::Assert(Assert::IsPresent("succeeded")),
|
||||
Event::Assert(Assert::IsPresent("Mandate ID")),
|
||||
@ -123,7 +123,7 @@ async fn should_make_stripe_klarna_payment(c: WebDriver) -> Result<(), WebDriver
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/19"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/19"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Id("klarna-apf-iframe"))),
|
||||
Event::RunIf(
|
||||
@ -172,7 +172,7 @@ async fn should_make_afterpay_payment(c: WebDriver) -> Result<(), WebDriverError
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/22"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/22"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a[class='common-Button common-Button--default']",
|
||||
@ -193,7 +193,7 @@ async fn should_make_stripe_alipay_payment(c: WebDriver) -> Result<(), WebDriver
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/35"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/35"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"button[class='common-Button common-Button--default']",
|
||||
@ -217,7 +217,7 @@ async fn should_make_stripe_ideal_bank_redirect_payment(
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/2"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/2"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a[class='common-Button common-Button--default']",
|
||||
@ -240,7 +240,7 @@ async fn should_make_stripe_giropay_bank_redirect_payment(
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/1"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/1"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a[class='common-Button common-Button--default']",
|
||||
@ -261,7 +261,7 @@ async fn should_make_stripe_eps_bank_redirect_payment(c: WebDriver) -> Result<()
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/26"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/26"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a[class='common-Button common-Button--default']",
|
||||
@ -284,7 +284,7 @@ async fn should_make_stripe_bancontact_card_redirect_payment(
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/28"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/28"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a[class='common-Button common-Button--default']",
|
||||
@ -305,7 +305,7 @@ async fn should_make_stripe_p24_redirect_payment(c: WebDriver) -> Result<(), Web
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/31"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/31"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a[class='common-Button common-Button--default']",
|
||||
@ -326,7 +326,7 @@ async fn should_make_stripe_sofort_redirect_payment(c: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/34"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/34"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
"a[class='common-Button common-Button--default']",
|
||||
@ -347,7 +347,7 @@ async fn should_make_stripe_ach_bank_debit_payment(c: WebDriver) -> Result<(), W
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/56"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/56"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::SendKeys(
|
||||
By::Css("input[class='p-CodePuncher-controllingInput']"),
|
||||
@ -369,7 +369,7 @@ async fn should_make_stripe_sepa_bank_debit_payment(c: WebDriver) -> Result<(),
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/67"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/67"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Status")),
|
||||
Event::Assert(Assert::IsPresent("processing")),
|
||||
@ -385,7 +385,7 @@ async fn should_make_stripe_affirm_paylater_payment(
|
||||
let conn = StripeSeleniumTest {};
|
||||
conn.make_affirm_payment(
|
||||
driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/110"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/110"),
|
||||
vec![Event::Assert(Assert::IsPresent("succeeded"))],
|
||||
)
|
||||
.await?;
|
||||
|
||||
@ -14,7 +14,7 @@ async fn should_make_webhook(web_driver: WebDriver) -> Result<(), WebDriverError
|
||||
let conn = StripeSeleniumTest {};
|
||||
conn.make_webhook_test(
|
||||
web_driver,
|
||||
&format!("{CHEKOUT_BASE_URL}/saved/16"),
|
||||
&format!("{CHECKOUT_BASE_URL}/saved/16"),
|
||||
vec![
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("status")),
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_trustpay_3ds_payment(web_driver: WebDriver) -> Result<(), W
|
||||
conn.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/206"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/206"))),
|
||||
Event::Trigger(Trigger::Sleep(1)),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Click(By::Css(
|
||||
|
||||
@ -16,7 +16,7 @@ async fn should_make_card_non_3ds_payment(c: WebDriver) -> Result<(), WebDriverE
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/71"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/71"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("status")),
|
||||
Event::Assert(Assert::IsPresent("processing")),
|
||||
@ -31,7 +31,7 @@ async fn should_make_worldline_ideal_redirect_payment(c: WebDriver) -> Result<()
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/49"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/49"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
Event::Assert(Assert::ContainsAny(
|
||||
@ -51,7 +51,7 @@ async fn should_make_worldline_giropay_redirect_payment(
|
||||
conn.make_redirection_payment(
|
||||
c,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/48"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/48"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Assert(Assert::IsPresent("Google")),
|
||||
Event::Assert(Assert::ContainsAny(
|
||||
|
||||
@ -17,7 +17,7 @@ async fn should_make_zen_3ds_payment(web_driver: WebDriver) -> Result<(), WebDri
|
||||
.make_redirection_payment(
|
||||
web_driver,
|
||||
vec![
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_BASE_URL}/saved/201"))),
|
||||
Event::Trigger(Trigger::Goto(&format!("{CHECKOUT_BASE_URL}/saved/201"))),
|
||||
Event::Trigger(Trigger::Click(By::Id("card-submit-btn"))),
|
||||
Event::Trigger(Trigger::Sleep(10)), //url gets updated only after some time, so need this timeout to solve the issue
|
||||
Event::Trigger(Trigger::SwitchFrame(By::Name("cko-3ds2-iframe"))),
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
-- This file should undo anything in `up.sql`
|
||||
ALTER TABLE payment_intent DROP COLUMN IF EXISTS billing_details;
|
||||
@ -0,0 +1,2 @@
|
||||
-- Your SQL goes here
|
||||
ALTER TABLE payment_intent ADD COLUMN IF NOT EXISTS billing_details BYTEA DEFAULT NULL;
|
||||
Reference in New Issue
Block a user