mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 09:07:09 +08:00
feat(connector): [Adyen] implement Online Banking Thailand for Adyen (#1585)
Co-authored-by: Sangamesh Kulkarni <59434228+Sangamesh26@users.noreply.github.com>
This commit is contained in:
@ -319,6 +319,11 @@ payout_eligibility = true # Defaults the eligibility of a payout method to tru
|
|||||||
|
|
||||||
[pm_filters.adyen]
|
[pm_filters.adyen]
|
||||||
online_banking_fpx = {country = "MY", currency = "MYR"}
|
online_banking_fpx = {country = "MY", currency = "MYR"}
|
||||||
|
online_banking_thailand = {country = "TH", currency = "THB"}
|
||||||
|
|
||||||
[bank_config.online_banking_fpx]
|
[bank_config.online_banking_fpx]
|
||||||
adyen = { banks = "affin_bank,agro_bank,alliance_bank,am_bank,bank_islam,bank_muamalat,bank_rakyat,bank_simpanan_nasional,cimb_bank,hong_leong_bank,hsbc_bank,kuwait_finance_house,may_bank,ocbc_bank,public_bank,rhb_bank,standard_chartered_bank,uob_bank"}
|
adyen = { banks = "affin_bank,agro_bank,alliance_bank,am_bank,bank_islam,bank_muamalat,bank_rakyat,bank_simpanan_nasional,cimb_bank,hong_leong_bank,hsbc_bank,kuwait_finance_house,may_bank,ocbc_bank,public_bank,rhb_bank,standard_chartered_bank,uob_bank"}
|
||||||
|
|
||||||
|
|
||||||
|
[bank_config.online_banking_thailand]
|
||||||
|
adyen = {banks = "bangkok_bank,krungsri_bank,krung_thai_bank,the_siam_commercial_bank,kasikorn_bank"}
|
||||||
@ -197,6 +197,9 @@ stripe = { banks = "alior_bank,bank_millennium,bank_nowy_bfg_sa,bank_pekao_sa,ba
|
|||||||
[bank_config.online_banking_fpx]
|
[bank_config.online_banking_fpx]
|
||||||
adyen = { banks = "affin_bank,agro_bank,alliance_bank,am_bank,bank_islam,bank_muamalat,bank_rakyat,bank_simpanan_nasional,cimb_bank,hong_leong_bank,hsbc_bank,kuwait_finance_house,may_bank,ocbc_bank,public_bank,rhb_bank,standard_chartered_bank,uob_bank"}
|
adyen = { banks = "affin_bank,agro_bank,alliance_bank,am_bank,bank_islam,bank_muamalat,bank_rakyat,bank_simpanan_nasional,cimb_bank,hong_leong_bank,hsbc_bank,kuwait_finance_house,may_bank,ocbc_bank,public_bank,rhb_bank,standard_chartered_bank,uob_bank"}
|
||||||
|
|
||||||
|
[bank_config.online_banking_thailand]
|
||||||
|
adyen = {banks = "bangkok_bank,krungsri_bank,krung_thai_bank,the_siam_commercial_bank,kasikorn_bank"}
|
||||||
|
|
||||||
[pm_filters.default]
|
[pm_filters.default]
|
||||||
google_pay = { country = "AL,DZ,AS,AO,AG,AR,AU,AT,AZ,BH,BY,BE,BR,BG,CA,CL,CO,HR,CZ,DK,DO,EG,EE,FI,FR,DE,GR,HK,HU,IN,ID,IE,IL,IT,JP,JO,KZ,KE,KW,LV,LB,LT,LU,MY,MX,NL,NZ,NO,OM,PK,PA,PE,PH,PL,PT,QA,RO,RU,SA,SG,SK,ZA,ES,LK,SE,CH,TW,TH,TR,UA,AE,GB,US,UY,VN" }
|
google_pay = { country = "AL,DZ,AS,AO,AG,AR,AU,AT,AZ,BH,BY,BE,BR,BG,CA,CL,CO,HR,CZ,DK,DO,EG,EE,FI,FR,DE,GR,HK,HU,IN,ID,IE,IL,IT,JP,JO,KZ,KE,KW,LV,LB,LT,LU,MY,MX,NL,NZ,NO,OM,PK,PA,PE,PH,PL,PT,QA,RO,RU,SA,SG,SK,ZA,ES,LK,SE,CH,TW,TH,TR,UA,AE,GB,US,UY,VN" }
|
||||||
apple_pay = { country = "AU,CN,HK,JP,MO,MY,NZ,SG,TW,AM,AT,AZ,BY,BE,BG,HR,CY,CZ,DK,EE,FO,FI,FR,GE,DE,GR,GL,GG,HU,IS,IE,IM,IT,KZ,JE,LV,LI,LT,LU,MT,MD,MC,ME,NL,NO,PL,PT,RO,SM,RS,SK,SI,ES,SE,CH,UA,GB,AR,CO,CR,BR,MX,PE,BH,IL,JO,KW,PS,QA,SA,AE,CA,UM,US", currency = "AUD,CHF,CAD,EUR,GBP,HKD,SGD,USD" }
|
apple_pay = { country = "AU,CN,HK,JP,MO,MY,NZ,SG,TW,AM,AT,AZ,BY,BE,BG,HR,CY,CZ,DK,EE,FO,FI,FR,GE,DE,GR,GL,GG,HU,IS,IE,IM,IT,KZ,JE,LV,LI,LT,LU,MT,MD,MC,ME,NL,NO,PL,PT,RO,SM,RS,SK,SI,ES,SE,CH,UA,GB,AR,CO,CR,BR,MX,PE,BH,IL,JO,KW,PS,QA,SA,AE,CA,UM,US", currency = "AUD,CHF,CAD,EUR,GBP,HKD,SGD,USD" }
|
||||||
@ -254,6 +257,7 @@ kakao_pay = {country = "KR", currency = "KRW"}
|
|||||||
momo = {country = "VN", currency = "VND"}
|
momo = {country = "VN", currency = "VND"}
|
||||||
gcash = {country = "PH", currency = "PHP"}
|
gcash = {country = "PH", currency = "PHP"}
|
||||||
online_banking_fpx = {country = "MY", currency = "MYR"}
|
online_banking_fpx = {country = "MY", currency = "MYR"}
|
||||||
|
online_banking_thailand = {country = "TH", currency = "THB"}
|
||||||
|
|
||||||
[pm_filters.braintree]
|
[pm_filters.braintree]
|
||||||
paypal = { currency = "AUD,BRL,CAD,CNY,CZK,DKK,EUR,HKD,HUF,ILS,JPY,MYR,MXN,TWD,NZD,NOK,PHP,PLN,GBP,RUB,SGD,SEK,CHF,THB,USD" }
|
paypal = { currency = "AUD,BRL,CAD,CNY,CZK,DKK,EUR,HKD,HUF,ILS,JPY,MYR,MXN,TWD,NZD,NOK,PHP,PLN,GBP,RUB,SGD,SEK,CHF,THB,USD" }
|
||||||
|
|||||||
@ -202,6 +202,10 @@ payout_eligibility = true
|
|||||||
|
|
||||||
[pm_filters.adyen]
|
[pm_filters.adyen]
|
||||||
online_banking_fpx = {country = "MY", currency = "MYR"}
|
online_banking_fpx = {country = "MY", currency = "MYR"}
|
||||||
|
online_banking_thailand = {country = "TH", currency = "THB"}
|
||||||
|
|
||||||
[bank_config.online_banking_fpx]
|
[bank_config.online_banking_fpx]
|
||||||
adyen = { banks = "affin_bank,agro_bank,alliance_bank,am_bank,bank_islam,bank_muamalat,bank_rakyat,bank_simpanan_nasional,cimb_bank,hong_leong_bank,hsbc_bank,kuwait_finance_house,may_bank,ocbc_bank,public_bank,rhb_bank,standard_chartered_bank,uob_bank"}
|
adyen = { banks = "affin_bank,agro_bank,alliance_bank,am_bank,bank_islam,bank_muamalat,bank_rakyat,bank_simpanan_nasional,cimb_bank,hong_leong_bank,hsbc_bank,kuwait_finance_house,may_bank,ocbc_bank,public_bank,rhb_bank,standard_chartered_bank,uob_bank"}
|
||||||
|
|
||||||
|
[bank_config.online_banking_thailand]
|
||||||
|
adyen = {banks = "bangkok_bank,krungsri_bank,krung_thai_bank,the_siam_commercial_bank,kasikorn_bank"}
|
||||||
@ -395,6 +395,11 @@ pub enum BankNames {
|
|||||||
VolkswagenBank,
|
VolkswagenBank,
|
||||||
AliorBank,
|
AliorBank,
|
||||||
Boz,
|
Boz,
|
||||||
|
BangkokBank,
|
||||||
|
KrungsriBank,
|
||||||
|
KrungThaiBank,
|
||||||
|
TheSiamCommercialBank,
|
||||||
|
KasikornBank,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(
|
#[derive(
|
||||||
|
|||||||
@ -860,6 +860,10 @@ pub enum BankRedirectData {
|
|||||||
#[schema(value_type = BankNames)]
|
#[schema(value_type = BankNames)]
|
||||||
issuer: api_enums::BankNames,
|
issuer: api_enums::BankNames,
|
||||||
},
|
},
|
||||||
|
OnlineBankingThailand {
|
||||||
|
#[schema(value_type = BankNames)]
|
||||||
|
issuer: api_enums::BankNames,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Eq, PartialEq, serde::Deserialize, serde::Serialize, ToSchema)]
|
#[derive(Debug, Clone, Eq, PartialEq, serde::Deserialize, serde::Serialize, ToSchema)]
|
||||||
|
|||||||
@ -584,6 +584,7 @@ pub enum PaymentMethodType {
|
|||||||
MobilePay,
|
MobilePay,
|
||||||
Momo,
|
Momo,
|
||||||
Multibanco,
|
Multibanco,
|
||||||
|
OnlineBankingThailand,
|
||||||
OnlineBankingCzechRepublic,
|
OnlineBankingCzechRepublic,
|
||||||
OnlineBankingFinland,
|
OnlineBankingFinland,
|
||||||
OnlineBankingFpx,
|
OnlineBankingFpx,
|
||||||
|
|||||||
@ -1569,6 +1569,7 @@ impl From<PaymentMethodType> for PaymentMethod {
|
|||||||
PaymentMethodType::OnlineBankingCzechRepublic => Self::BankRedirect,
|
PaymentMethodType::OnlineBankingCzechRepublic => Self::BankRedirect,
|
||||||
PaymentMethodType::OnlineBankingFinland => Self::BankRedirect,
|
PaymentMethodType::OnlineBankingFinland => Self::BankRedirect,
|
||||||
PaymentMethodType::OnlineBankingFpx => Self::BankRedirect,
|
PaymentMethodType::OnlineBankingFpx => Self::BankRedirect,
|
||||||
|
PaymentMethodType::OnlineBankingThailand => Self::BankRedirect,
|
||||||
PaymentMethodType::OnlineBankingPoland => Self::BankRedirect,
|
PaymentMethodType::OnlineBankingPoland => Self::BankRedirect,
|
||||||
PaymentMethodType::OnlineBankingSlovakia => Self::BankRedirect,
|
PaymentMethodType::OnlineBankingSlovakia => Self::BankRedirect,
|
||||||
PaymentMethodType::PayBright => Self::PayLater,
|
PaymentMethodType::PayBright => Self::PayLater,
|
||||||
|
|||||||
@ -306,4 +306,9 @@ pub enum BankNames {
|
|||||||
RhbBank,
|
RhbBank,
|
||||||
StandardCharteredBank,
|
StandardCharteredBank,
|
||||||
UobBank,
|
UobBank,
|
||||||
|
BangkokBank,
|
||||||
|
KrungsriBank,
|
||||||
|
KrungThaiBank,
|
||||||
|
TheSiamCommercialBank,
|
||||||
|
KasikornBank,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -329,6 +329,8 @@ pub enum AdyenPaymentMethod<'a> {
|
|||||||
OnlineBankingSlovakia(Box<OnlineBankingSlovakiaData>),
|
OnlineBankingSlovakia(Box<OnlineBankingSlovakiaData>),
|
||||||
#[serde(rename = "molpay_ebanking_fpx_MY")]
|
#[serde(rename = "molpay_ebanking_fpx_MY")]
|
||||||
OnlineBankingFpx(Box<OnlineBankingFpxData>),
|
OnlineBankingFpx(Box<OnlineBankingFpxData>),
|
||||||
|
#[serde(rename = "molpay_ebanking_TH")]
|
||||||
|
OnlineBankingThailand(Box<OnlineBankingThailandData>),
|
||||||
PayBright(Box<PayBrightData>),
|
PayBright(Box<PayBrightData>),
|
||||||
Sofort(Box<BankRedirectionPMData>),
|
Sofort(Box<BankRedirectionPMData>),
|
||||||
Trustly(Box<BankRedirectionPMData>),
|
Trustly(Box<BankRedirectionPMData>),
|
||||||
@ -559,7 +561,13 @@ pub struct OnlineBankingSlovakiaData {
|
|||||||
#[derive(Debug, Clone, Serialize)]
|
#[derive(Debug, Clone, Serialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct OnlineBankingFpxData {
|
pub struct OnlineBankingFpxData {
|
||||||
issuer: AdyenIssuerID,
|
issuer: OnlineBankingFpxIssuer,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Serialize)]
|
||||||
|
#[serde(rename_all = "camelCase")]
|
||||||
|
pub struct OnlineBankingThailandData {
|
||||||
|
issuer: OnlineBankingThailandIssuer,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize)]
|
#[derive(Debug, Clone, Serialize)]
|
||||||
@ -590,7 +598,7 @@ impl TryFrom<&api_enums::BankNames> for OnlineBankingSlovakiaBanks {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TryFrom<&api_enums::BankNames> for AdyenIssuerID {
|
impl TryFrom<&api_enums::BankNames> for OnlineBankingFpxIssuer {
|
||||||
type Error = Error;
|
type Error = Error;
|
||||||
fn try_from(bank_name: &api_enums::BankNames) -> Result<Self, Self::Error> {
|
fn try_from(bank_name: &api_enums::BankNames) -> Result<Self, Self::Error> {
|
||||||
match bank_name {
|
match bank_name {
|
||||||
@ -621,6 +629,24 @@ impl TryFrom<&api_enums::BankNames> for AdyenIssuerID {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl TryFrom<&api_enums::BankNames> for OnlineBankingThailandIssuer {
|
||||||
|
type Error = Error;
|
||||||
|
fn try_from(bank_name: &api_enums::BankNames) -> Result<Self, Self::Error> {
|
||||||
|
match bank_name {
|
||||||
|
api::enums::BankNames::BangkokBank => Ok(Self::Bangkokbank),
|
||||||
|
api::enums::BankNames::KrungsriBank => Ok(Self::Krungsribank),
|
||||||
|
api::enums::BankNames::KrungThaiBank => Ok(Self::Krungthaibank),
|
||||||
|
api::enums::BankNames::TheSiamCommercialBank => Ok(Self::Siamcommercialbank),
|
||||||
|
api::enums::BankNames::KasikornBank => Ok(Self::Kbank),
|
||||||
|
_ => Err(errors::ConnectorError::NotSupported {
|
||||||
|
message: String::from("BankRedirect"),
|
||||||
|
connector: "Adyen",
|
||||||
|
payment_experience: api_enums::PaymentExperience::RedirectToUrl.to_string(),
|
||||||
|
})?,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize)]
|
#[derive(Debug, Clone, Serialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct BlikRedirectionData {
|
pub struct BlikRedirectionData {
|
||||||
@ -827,6 +853,8 @@ pub enum PaymentType {
|
|||||||
OnlineBankingSlovakia,
|
OnlineBankingSlovakia,
|
||||||
#[serde(rename = "molpay_ebanking_fpx_MY")]
|
#[serde(rename = "molpay_ebanking_fpx_MY")]
|
||||||
OnlineBankingFpx,
|
OnlineBankingFpx,
|
||||||
|
#[serde(rename = "molpay_ebanking_TH")]
|
||||||
|
OnlineBankingThailand,
|
||||||
PayBright,
|
PayBright,
|
||||||
Paypal,
|
Paypal,
|
||||||
Scheme,
|
Scheme,
|
||||||
@ -850,7 +878,7 @@ pub enum PaymentType {
|
|||||||
|
|
||||||
#[derive(Debug, Eq, PartialEq, Serialize, Clone)]
|
#[derive(Debug, Eq, PartialEq, Serialize, Clone)]
|
||||||
#[serde(rename_all = "snake_case")]
|
#[serde(rename_all = "snake_case")]
|
||||||
pub enum AdyenIssuerID {
|
pub enum OnlineBankingFpxIssuer {
|
||||||
FpxAbb,
|
FpxAbb,
|
||||||
FpxAgrobank,
|
FpxAgrobank,
|
||||||
FpxAbmb,
|
FpxAbmb,
|
||||||
@ -871,6 +899,20 @@ pub enum AdyenIssuerID {
|
|||||||
FpxUob,
|
FpxUob,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Eq, PartialEq, Serialize, Clone)]
|
||||||
|
pub enum OnlineBankingThailandIssuer {
|
||||||
|
#[serde(rename = "molpay_bangkokbank")]
|
||||||
|
Bangkokbank,
|
||||||
|
#[serde(rename = "molpay_krungsribank")]
|
||||||
|
Krungsribank,
|
||||||
|
#[serde(rename = "molpay_krungthaibank")]
|
||||||
|
Krungthaibank,
|
||||||
|
#[serde(rename = "molpay_siamcommercialbank")]
|
||||||
|
Siamcommercialbank,
|
||||||
|
#[serde(rename = "molpay_kbank")]
|
||||||
|
Kbank,
|
||||||
|
}
|
||||||
|
|
||||||
pub struct AdyenTestBankNames<'a>(&'a str);
|
pub struct AdyenTestBankNames<'a>(&'a str);
|
||||||
|
|
||||||
impl<'a> TryFrom<&api_enums::BankNames> for AdyenTestBankNames<'a> {
|
impl<'a> TryFrom<&api_enums::BankNames> for AdyenTestBankNames<'a> {
|
||||||
@ -1561,7 +1603,12 @@ impl<'a> TryFrom<&api_models::payments::BankRedirectData> for AdyenPaymentMethod
|
|||||||
),
|
),
|
||||||
api_models::payments::BankRedirectData::OnlineBankingFpx { issuer } => Ok(
|
api_models::payments::BankRedirectData::OnlineBankingFpx { issuer } => Ok(
|
||||||
AdyenPaymentMethod::OnlineBankingFpx(Box::new(OnlineBankingFpxData {
|
AdyenPaymentMethod::OnlineBankingFpx(Box::new(OnlineBankingFpxData {
|
||||||
issuer: AdyenIssuerID::try_from(issuer)?,
|
issuer: OnlineBankingFpxIssuer::try_from(issuer)?,
|
||||||
|
})),
|
||||||
|
),
|
||||||
|
api_models::payments::BankRedirectData::OnlineBankingThailand { issuer } => Ok(
|
||||||
|
AdyenPaymentMethod::OnlineBankingThailand(Box::new(OnlineBankingThailandData {
|
||||||
|
issuer: OnlineBankingThailandIssuer::try_from(issuer)?,
|
||||||
})),
|
})),
|
||||||
),
|
),
|
||||||
api_models::payments::BankRedirectData::Sofort { .. } => Ok(
|
api_models::payments::BankRedirectData::Sofort { .. } => Ok(
|
||||||
|
|||||||
@ -194,6 +194,7 @@ impl ForeignFrom<api_enums::PaymentMethodType> for api_enums::PaymentMethod {
|
|||||||
| api_enums::PaymentMethodType::Eps
|
| api_enums::PaymentMethodType::Eps
|
||||||
| api_enums::PaymentMethodType::BancontactCard
|
| api_enums::PaymentMethodType::BancontactCard
|
||||||
| api_enums::PaymentMethodType::Blik
|
| api_enums::PaymentMethodType::Blik
|
||||||
|
| api_enums::PaymentMethodType::OnlineBankingThailand
|
||||||
| api_enums::PaymentMethodType::OnlineBankingCzechRepublic
|
| api_enums::PaymentMethodType::OnlineBankingCzechRepublic
|
||||||
| api_enums::PaymentMethodType::OnlineBankingFinland
|
| api_enums::PaymentMethodType::OnlineBankingFinland
|
||||||
| api_enums::PaymentMethodType::OnlineBankingFpx
|
| api_enums::PaymentMethodType::OnlineBankingFpx
|
||||||
|
|||||||
@ -576,6 +576,23 @@ async fn should_make_adyen_online_banking_fpx_payment(
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn should_make_adyen_online_banking_thailand_payment(
|
||||||
|
web_driver: WebDriver,
|
||||||
|
) -> Result<(), WebDriverError> {
|
||||||
|
let conn = AdyenSeleniumTest {};
|
||||||
|
conn.make_redirection_payment(
|
||||||
|
web_driver,
|
||||||
|
vec![
|
||||||
|
Event::Trigger(Trigger::Goto(&format!("{CHEKOUT_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")),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[serial]
|
#[serial]
|
||||||
#[ignore]
|
#[ignore]
|
||||||
@ -749,3 +766,11 @@ fn should_make_adyen_dana_payment_test() {
|
|||||||
fn should_make_adyen_online_banking_fpx_payment_test() {
|
fn should_make_adyen_online_banking_fpx_payment_test() {
|
||||||
tester!(should_make_adyen_online_banking_fpx_payment);
|
tester!(should_make_adyen_online_banking_fpx_payment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[serial]
|
||||||
|
fn should_make_adyen_online_banking_thailand_payment_test() {
|
||||||
|
tester!(should_make_adyen_online_banking_thailand_payment);
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://hs-payments-test.netlify.app/paypal-redirect?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&apikey=dev_uFpxA0r6jjbVaxHSY3X0BZLL3erDUzvg3i51abwB1Bknu3fdiPxw475DQgnByn1z
|
||||||
|
|||||||
@ -2711,7 +2711,12 @@
|
|||||||
"bank_pekao_sa",
|
"bank_pekao_sa",
|
||||||
"volkswagen_bank",
|
"volkswagen_bank",
|
||||||
"alior_bank",
|
"alior_bank",
|
||||||
"boz"
|
"boz",
|
||||||
|
"bangkok_bank",
|
||||||
|
"krungsri_bank",
|
||||||
|
"krung_thai_bank",
|
||||||
|
"the_siam_commercial_bank",
|
||||||
|
"kasikorn_bank"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"BankRedirectBilling": {
|
"BankRedirectBilling": {
|
||||||
@ -3089,6 +3094,25 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"online_banking_thailand"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"online_banking_thailand": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"issuer"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"issuer": {
|
||||||
|
"$ref": "#/components/schemas/BankNames"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -7188,6 +7212,7 @@
|
|||||||
"mobile_pay",
|
"mobile_pay",
|
||||||
"momo",
|
"momo",
|
||||||
"multibanco",
|
"multibanco",
|
||||||
|
"online_banking_thailand",
|
||||||
"online_banking_czech_republic",
|
"online_banking_czech_republic",
|
||||||
"online_banking_finland",
|
"online_banking_finland",
|
||||||
"online_banking_fpx",
|
"online_banking_fpx",
|
||||||
|
|||||||
Reference in New Issue
Block a user