Details
-
Type:
Improvement
-
Status: Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 5.10.0
-
Fix Version/s: 5.13.0-b1
-
Component/s: Staff Interface
-
Labels:None
Description
If I want to switch to a new merchant gateway I can do the following:
1. Install new gateway
2. Disable currency on old gateway, enable currency on new gateway.
After this, ALL EXISTING Payment Accounts will no longer work. Payment attempts will return the error "The gateway does not exist or is not enabled". New Payment Accounts will work with the new gateway.
accounts_cc and accounts_ach have a column for gateway_id. When you create a payment account, it references the Gateway that uses it.
We should do 2 things.
1. If we are using a Payment Account and the gateway is installed and the gateway_id exists, use it to process the payment EVEN IF the currency is not enabled. This will allow someone to gradually migrate from 1 merchant gateway to another without invalidating all pre-existing Payment Accounts.
2. Display the gateway associated with a Payment Account in the Admin area IF it is defined in accounts_cc or accounts_ach.gateway_id by showing the gateways.name name. In the Payment Account listing on a client profile, in the "Type" column after the details, e.g. "Credit Card - Master Card, expires January 2027", show the gateway, e.g. "Credit Card - Master Card, expires January 2027 (Stripe Payments)". Important: If the Payment Account gateway_id does not exist in the gateways table, show (Missing) instead of the gateway name. Link the gateway name to the gateway manage page for example ~/admin/settings/company/gateways/manage/ID).
If there is a problem with #1 above, allowing the gateway to be used if the currency is unchecked, then we may want to take another approach, by allowing a merchant gateway to be "Set as default". This would allow the currency to be selected by multiple gateways, but only 1 of the gateways is set as the default gateway. Though, I think that may be more difficult to do.
Activity
Field | Original Value | New Value |
---|---|---|
Rank | Ranked higher |
Rank | Ranked lower |
Description |
If I want to switch to a new merchant gateway I can do the following:
1. Install new gateway 2. Disable currency on old gateway, enable currency on new gateway. After this, ALL EXISTING Payment Accounts will no longer work. Payment attempts will return the error "The gateway does not exist or is not enabled". New Payment Accounts will work with the new gateway. accounts_cc and accounts_ach have a column for gateway_id. When you create a payment account, it references the Gateway that uses it. We should do 2 things. 1. If we are using a Payment Account and the gateway is installed and the gateway_id exists, use it to process the payment EVEN IF the currency is not enabled. This will allow someone to gradually migrate from 1 merchant gateway to another without invalidating all pre-existing Payment Accounts. 2. Display the gateway associated with a Payment Account in the Admin area. In the Payment Account listing on a client profile, add the ? tooltip in the "Type" column after the details, e.g. "Credit Card - Master Card, expires January 2027 ?". When hovering the tooltip, show "This Payment Account is linked to [Gateway Name]". Only show the ? tooltip if the gateway_id is not NULL If there is an ID in gateway_id but it is invalid because the gateway was uninstalled or something, then show a different message "This Payment Account is linked to a gateway that no longer exists". |
If I want to switch to a new merchant gateway I can do the following:
1. Install new gateway 2. Disable currency on old gateway, enable currency on new gateway. After this, ALL EXISTING Payment Accounts will no longer work. Payment attempts will return the error "The gateway does not exist or is not enabled". New Payment Accounts will work with the new gateway. accounts_cc and accounts_ach have a column for gateway_id. When you create a payment account, it references the Gateway that uses it. We should do 2 things. 1. If we are using a Payment Account and the gateway is installed and the gateway_id exists, use it to process the payment EVEN IF the currency is not enabled. This will allow someone to gradually migrate from 1 merchant gateway to another without invalidating all pre-existing Payment Accounts. 2. Display the gateway associated with a Payment Account in the Admin area IF it is defined in accounts_cc or accounts_ach.gateway_id by showing the gateways.name name. In the Payment Account listing on a client profile, in the "Type" column after the details, e.g. "Credit Card - Master Card, expires January 2027", show the gateway, e.g. "Credit Card - Master Card, expires January 2027 (Stripe Payments)". Important: If the Payment Account gateway_id does not exist in the gateways table, show (Missing) instead of the gateway name. Link the gateway name to the gateway manage page for example ~/admin/settings/company/gateways/manage/ID). If there is a problem with #1 above, allowing the gateway to be used if the currency is unchecked, then we may want to take another approach, by allowing a merchant gateway to be "Set as default". This would allow the currency to be selected by multiple gateways, but only 1 of the gateways is set as the default gateway. Though, I think that may be more difficult to do. |
Story Points | 5 |
Sprint | 5.13.0 Sprint 4 [ 219 ] |
Rank | Ranked lower |