Skip to content
Open
Show file tree
Hide file tree
Changes from 84 commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
5c9319e
feat(grabpay): add GrabPay connector integration
peeyushshukla-juspay Aug 5, 2026
02f7cb3
fix(grabpay): add connector specs and clippy fixes
peeyushshukla-juspay Aug 5, 2026
820b7eb
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
6679297
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
460b7e4
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
1870d4b
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
2a23b02
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
0eda3dc
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
d99f3ae
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
bd0979d
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
1ae3426
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
458c8b9
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
372f0f3
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
8366f42
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
a31f46f
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
f58641d
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
41ecd33
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
a33844a
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
2ede596
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
5187870
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
67d2515
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
3ec3942
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
415481e
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
f658dbb
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
6e1baa3
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
25be74c
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
28fe1a0
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
de36368
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
8a99854
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
64f64f5
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
e99349c
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
921d22f
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
a7fe1df
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
ecebbd9
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
5c10266
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 5, 2026
3693ccf
fix(field-probe): freeze date request header to deterministic placeho…
kanikachaudhary199 Aug 5, 2026
fef6f03
Merge branch 'main' of github.com:juspay/hyperswitch-prism into Grabp…
peeyushshukla-juspay Aug 5, 2026
129ae09
fix(grabpay): use transaction id for order creation
peeyushshukla-juspay Aug 5, 2026
8e31706
feat(grabpay): added webhooks
peeyushshukla-juspay Aug 6, 2026
5f37cc7
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 6, 2026
154fdd6
Implement GrabPay create order redirect flow
peeyushshukla-juspay Aug 6, 2026
9f6684d
fix(grabpay): mask oauth connector metadata
peeyushshukla-juspay Aug 7, 2026
e4a237e
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
fb9b3ed
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
75c71ef
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
9d32672
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
7ecefd0
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
1e59136
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
dc0b65b
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
1841437
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
833edeb
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
042d853
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
3b9e4de
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
7e04cd4
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
f73e837
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
5e15ade
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
29c068b
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
52fc6d8
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
8f600cf
feat(grabpay): send shipping details in charge init
peeyushshukla-juspay Aug 7, 2026
26b997d
fix(grabpay): resolve ci compile errors
peeyushshukla-juspay Aug 7, 2026
e7133fb
refactor session token flow
peeyushshukla-juspay Aug 7, 2026
543a515
refactor(grabpay): use Authenticate flow instead of CreateOrder redirect
kanikachaudhary199 Aug 7, 2026
2a64522
Merge branch 'main' into Grabpay_Connector_Integration
kanikachaudhary199 Aug 7, 2026
9c22698
refactor(grabpay): address PR review comments
kanikachaudhary199 Aug 7, 2026
4d01bdc
Merge remote-tracking branch 'origin/Grabpay_Connector_Integration' i…
kanikachaudhary199 Aug 7, 2026
762f11c
fix(grabpay): remove unnecessary hyperswitch_masking qualification
kanikachaudhary199 Aug 7, 2026
fca37df
Merge remote-tracking branch 'origin/main' into Grabpay_Connector_Int…
kanikachaudhary199 Aug 7, 2026
c40dda5
refactor(composite): thread post-redirect connector_feature_data via …
kanikachaudhary199 Aug 7, 2026
a0abdb5
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
7e775c5
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
6c46f63
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
c32ddc0
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
8519495
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
46e3728
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
394480b
refactor: add connector_feature_data from verify to session token
peeyushshukla-juspay Aug 7, 2026
7caa66b
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
e216d97
refactor: resolved comments and connector_feature_data issue
peeyushshukla-juspay Aug 7, 2026
c3302e9
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
03c1332
chore: removed hardcoded country logic and connector_feature_data in …
peeyushshukla-juspay Aug 7, 2026
445cfda
chore: removed payment_access_token and refund_access_token function
peeyushshukla-juspay Aug 7, 2026
bd8eb6a
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 7, 2026
c6fa336
chore: remove stale functions
peeyushshukla-juspay Aug 8, 2026
0c1e994
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 8, 2026
d24f9e9
chore: added webhook parse/handle error cases
peeyushshukla-juspay Aug 8, 2026
8839a9a
chore: auto-fix formatting and generated code
hyperswitch-bot[bot] Aug 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config/development.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ psync = "GW_TXN_SYNC"
connectors_with_webhook_source_verification_call = "paypal, truelayer"

[connectors]
grabpay.base_url = "https://partner-api.grab.com/grabpay/partner/v2"
maya.base_url = "https://pg-sandbox.paymaya.com"
tesouro.base_url = "https://api.sandbox.tesouro.com"
kount.base_url = "https://api-sandbox.kount.com"
Expand Down
1 change: 1 addition & 0 deletions config/production.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ connector_request_timeout = 30
bypass_urls = ["localhost", "local"]

[connectors]
grabpay.base_url = "https://partner-api.grab.com/grabpay/partner/v2"
Comment thread
Aishwariyaa-Anand marked this conversation as resolved.
maya.base_url = "https://pg.maya.ph"
tesouro.base_url = "https://api.tesouro.com"
kount.base_url = "https://api.kount.com"
Expand Down
1 change: 1 addition & 0 deletions config/sandbox.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ connector_request_timeout = 30
bypass_urls = ["localhost", "local"]

[connectors]
grabpay.base_url = "https://partner-api.stg-myteksi.com/grabpay/partner/v2"
Comment thread
Aishwariyaa-Anand marked this conversation as resolved.
maya.base_url = "https://pg-sandbox.paymaya.com"
tesouro.base_url = "https://api.sandbox.tesouro.com"
kount.base_url = "https://api-sandbox.kount.com"
Expand Down
2 changes: 2 additions & 0 deletions crates/common/common_enums/src/enums.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1052,6 +1052,7 @@ pub enum PaymentMethodType {
Giropay,
Givex,
GooglePay,
Grabpay,
GoPay,
Gcash,
Ideal,
Expand Down Expand Up @@ -1143,6 +1144,7 @@ impl PaymentMethodType {
match self {
Self::ApplePay => "Apple Pay".to_string(),
Self::GooglePay => "Google Pay".to_string(),
Self::Grabpay => "GrabPay".to_string(),
Self::SamsungPay => "Samsung Pay".to_string(),
Self::AliPay => "AliPay".to_string(),
Self::WeChatPay => "WeChat Pay".to_string(),
Expand Down
4 changes: 3 additions & 1 deletion crates/ffi/ffi/src/services/payments.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1015,6 +1015,8 @@ pub fn verify_redirect_response_transformer(
use domain_types::utils::ForeignTryFrom as _;
use interfaces::verification::ConnectorSourceVerificationSecrets;

let connector_feature_data = payload.connector_feature_data;

let request_details_proto = payload.request_details.ok_or_else(|| {
Box::new(ConnectorError {
error_message: "Missing required field: request_details".to_string(),
Expand Down Expand Up @@ -1073,7 +1075,7 @@ pub fn verify_redirect_response_transformer(

let redirect_details = connector_data
.connector
.process_redirect_response(&updated_request_details)
.process_redirect_response(&updated_request_details, connector_feature_data.as_ref())
.map_err(|e| {
Box::new(ConnectorError {
error_message: format!("{e}"),
Expand Down
2 changes: 2 additions & 0 deletions crates/grpc-server/grpc-server/src/server/payments.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1381,6 +1381,7 @@ impl PaymentService for Payments {
.transpose()
.map_err(|e| e.to_grpc_error())?
.map(ConnectorSourceVerificationSecrets::RedirectResponseSecret);
let connector_feature_data = payload.connector_feature_data;

let connector_data: ConnectorData<DefaultPCIHolder> =
ConnectorData::from_connector_variant(&connector)
Expand Down Expand Up @@ -1433,6 +1434,7 @@ impl PaymentService for Payments {
.connector
.process_redirect_response(
&updated_request_details,
connector_feature_data.as_ref(),
)
.to_grpc_error()?;

Expand Down
3 changes: 3 additions & 0 deletions crates/integrations/connector-integration/src/connectors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -294,5 +294,8 @@ pub use self::kount::Kount;

pub mod givepayments;
pub use self::givepayments::Givepayments;

pub mod grabpay;
pub use self::grabpay::Grabpay;
pub mod tesouro;
pub use self::tesouro::Tesouro;
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ impl<T: PaymentMethodDataTypes + Debug + Sync + Send + 'static + Serialize>
| WalletData::ApplePay(_)
| WalletData::ApplePayThirdPartySdk(_)
| WalletData::DanaRedirect { .. }
| WalletData::GrabpayRedirect { .. }
| WalletData::GooglePay(_)
| WalletData::BluecodeRedirect {}
| WalletData::GooglePayThirdPartySdk(_)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1576,6 +1576,7 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
| WalletData::EaseBuzzRedirect(_)
| WalletData::PaymayaRedirect(_)
| WalletData::QwikcilverWalletDirect(_)
| WalletData::GrabpayRedirect { .. }
| WalletData::Skrill(_) => Err(IntegrationError::NotImplemented(
("payment_method").into(),
Default::default(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,10 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
true
}

fn should_do_session_token(&self) -> bool {
fn should_do_session_token(
&self,
_connector_feature_data: Option<&hyperswitch_masking::Secret<String>>,
) -> bool {
true
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -704,6 +704,7 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
| WalletData::ApplePayRedirect(_)
| WalletData::ApplePayThirdPartySdk(_)
| WalletData::DanaRedirect {}
| WalletData::GrabpayRedirect {}
| WalletData::GooglePayRedirect(_)
| WalletData::GooglePayThirdPartySdk(_)
| WalletData::MbWayRedirect(_)
Expand Down Expand Up @@ -1996,6 +1997,7 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
| WalletData::ApplePayRedirect(_)
| WalletData::ApplePayThirdPartySdk(_)
| WalletData::DanaRedirect {}
| WalletData::GrabpayRedirect {}
| WalletData::GooglePayRedirect(_)
| WalletData::GooglePayThirdPartySdk(_)
| WalletData::MbWayRedirect(_)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ fn wallet_data_label(wallet_data: &WalletData) -> &'static str {
WalletData::ApplePayRedirect(_) => "apple_pay_redirect",
WalletData::ApplePayThirdPartySdk(_) => "apple_pay_third_party_sdk",
WalletData::DanaRedirect {} => "dana_redirect",
WalletData::GrabpayRedirect {} => "grabpay_redirect",
WalletData::GooglePay(_) => "google_pay",
WalletData::GooglePayRedirect(_) => "google_pay_redirect",
WalletData::GooglePayThirdPartySdk(_) => "google_pay_third_party_sdk",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
| WalletData::ApplePayRedirect(_)
| WalletData::ApplePayThirdPartySdk(_)
| WalletData::DanaRedirect {}
| WalletData::GrabpayRedirect {}
| WalletData::GooglePayRedirect(_)
| WalletData::GooglePayThirdPartySdk(_)
| WalletData::MbWayRedirect(_)
Expand Down Expand Up @@ -2508,6 +2509,7 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
| WalletData::ApplePayRedirect(_)
| WalletData::ApplePayThirdPartySdk(_)
| WalletData::DanaRedirect {}
| WalletData::GrabpayRedirect {}
| WalletData::GooglePayRedirect(_)
| WalletData::GooglePayThirdPartySdk(_)
| WalletData::MbWayRedirect(_)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,7 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
| WalletData::ApplePayRedirect(_)
| WalletData::ApplePayThirdPartySdk(_)
| WalletData::DanaRedirect {}
| WalletData::GrabpayRedirect {}
| WalletData::GooglePayRedirect(_)
| WalletData::GooglePayThirdPartySdk(_)
| WalletData::MbWayRedirect(_)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -639,6 +639,7 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
| WalletData::ApplePayRedirect(_)
| WalletData::ApplePayThirdPartySdk(_)
| WalletData::DanaRedirect {}
| WalletData::GrabpayRedirect {}
| WalletData::GooglePayRedirect(_)
| WalletData::GooglePayThirdPartySdk(_)
| WalletData::MbWayRedirect(_)
Expand Down Expand Up @@ -1009,6 +1010,7 @@ impl<T: PaymentMethodDataTypes + std::fmt::Debug + Sync + Send + 'static + Seria
| WalletData::ApplePayRedirect(_)
| WalletData::ApplePayThirdPartySdk(_)
| WalletData::DanaRedirect {}
| WalletData::GrabpayRedirect {}
| WalletData::GooglePayRedirect(_)
| WalletData::GooglePayThirdPartySdk(_)
| WalletData::MbWayRedirect(_)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ impl<T: PaymentMethodDataTypes + Debug + Sync + Send + 'static + Serialize>
fn process_redirect_response(
&self,
_request: &RequestDetails,
_connector_feature_data: Option<&hyperswitch_masking::Secret<String>>,
) -> CustomResult<RedirectDetailsResponse, IntegrationError> {
Ok(RedirectDetailsResponse {
resource_id: None,
Expand All @@ -112,6 +113,7 @@ impl<T: PaymentMethodDataTypes + Debug + Sync + Send + 'static + Serialize>
error_reason: None,
response_amount: None,
raw_connector_response: None,
connector_feature_data: None,
})
}
}
Expand Down
Loading
Loading