-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(connector): [Recurly] Add record back support for recurly [V2] #7544
Conversation
Changed Files
|
af2d0d3
to
5c37952
Compare
Ok(format!( | ||
"{}/invoices/{}/{}", | ||
self.base_url(connectors), | ||
invoice_id, | ||
status_endpoint | ||
)) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok(format!( | |
"{}/invoices/{}/{}", | |
self.base_url(connectors), | |
invoice_id, | |
status_endpoint | |
)) | |
} | |
Ok(format!( | |
"{}/invoices/{invoice_id}/{status_endpoint}", | |
self.base_url(connectors) | |
)) | |
} |
// inovice id | ||
pub id: common_utils::id_type::PaymentReferenceId, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// inovice id | |
pub id: common_utils::id_type::PaymentReferenceId, | |
// inovice id | |
pub id: id_type::PaymentReferenceId, |
let status = RecurlyRecordStatus::try_from(req.request.attempt_status).map_err(|_| { | ||
errors::ConnectorError::NotSupported { | ||
message: "Invalid attempt status for Recurly".to_string(), | ||
connector: "recurly", | ||
} | ||
})?; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this map_err required ?
RecurlyRecordStatus::Success => "mark_successful", | ||
RecurlyRecordStatus::Failure => "mark_failed", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have this string as global variables ?
…lobalpay-fixes * 'main' of github.com:juspay/hyperswitch: feat(connector): [Recurly] Add record back support for recurly [V2] (#7544) refactor(webhook): add jwt authenticated endpoint to list unique webhook events for a profile (#7325) feat(core): Add three_ds_requestor_app_url in business_profile (#7589) feat(refunds): Add refunds diesel model support in V2 API (#7503) fix(connector): [globalpay] address 5xx due to deserialization issue when `account_name` is not passed (#7540) chore: update production endpoint url for globalPay (#7588) feat(connector): [Stripebilling] add record back support for stripebilling (#7561) feat(router): Make payment_method_subtype optional in payment_attempt [V2] (#7568) fix(connector): RSync voided status mapping in AuthorizeDotNet (#7566) chore(version): 2025.03.24.0 feat(connector): [Coingate] implement refunds (#7513) feat(connectors): [Redsys] add Psync and Rsync support (#7586) refactor(connector): [BRAINTREE] Pass email in payment requests (#7591) feat(webhook): Return events list and total_count on list initial delivery attempt call (#7243) refactor(router): make error_type generic in domain_models inorder to avoid conversion of errors in storage_impl (#7537) feat(router): [V2] Return connector customer reference IDs in `CustomerResponse` (#7319) feat: core changes for extended authorization (#6766) feat(coingate): Add Payment webhooks (#7489) refactor(dynamic_routing): change insert operation to upsert for dynamic_routing_stats (#7398) feat(connectors): [Redsys] add 3D secure card payment support, including transaction capture, cancellation, and refunds (#7508)
…e-status-check * 'main' of github.com:juspay/hyperswitch: (74 commits) chore(version): 2025.03.26.0 feat(connector): [Coingate] add wasm changes for coingate metadata (#7632) feat(connector): [TRUSTPAY] implement Banktransfer PaymentMethod (#7575) feat(connector): [BANKOFAMERICA] Implement Samsung Pay (#6888) fix(connector): add Nomupay in payout_connector_list for all environment (#7521) chore(version): 2025.03.25.0 feat(connector): [Recurly] Add record back support for recurly [V2] (#7544) refactor(webhook): add jwt authenticated endpoint to list unique webhook events for a profile (#7325) feat(core): Add three_ds_requestor_app_url in business_profile (#7589) feat(refunds): Add refunds diesel model support in V2 API (#7503) fix(connector): [globalpay] address 5xx due to deserialization issue when `account_name` is not passed (#7540) chore: update production endpoint url for globalPay (#7588) feat(connector): [Stripebilling] add record back support for stripebilling (#7561) feat(router): Make payment_method_subtype optional in payment_attempt [V2] (#7568) fix(connector): RSync voided status mapping in AuthorizeDotNet (#7566) chore(version): 2025.03.24.0 feat(connector): [Coingate] implement refunds (#7513) feat(connectors): [Redsys] add Psync and Rsync support (#7586) refactor(connector): [BRAINTREE] Pass email in payment requests (#7591) feat(webhook): Return events list and total_count on list initial delivery attempt call (#7243) ...
Type of Change
Description
Add support for record back flow for recurly.
What is record back flow ?
After payment is retried by revenue recovery, we need to update the billing processor invoice.
Recurly flow
We record the transaction in recurly created by internal system. This transaction will automatically update the invoice status in recurly system.
Additional Changes
Motivation and Context
How did you test it?
This can only be tested in local since the entire recovery flow is not complete. Tested locally by triggering the connector integration manually.
Here are the local testing logs :
Checklist
cargo +nightly fmt --all
cargo clippy