• Toll-free  888-665-8637
  • International  +1 717-220-0012
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

SStorhaug
#1 Posted : Monday, February 8, 2010 9:29:28 AM(UTC)
SStorhaug

Rank: Member

Joined: 11/20/2005(UTC)
Posts: 122

I used to work in the payment card industry. I was told by one of my former co-workers that according to Visa's regulations, a merchant cannot capture payment unless the package has already been shipped, or will ship within the next 48 hours. Since we are drop shipping and some of our products may take a week or more to ship, we cannot legally capture payment until after we receive the shipping notification from the drop shipper.



However, the default way that BVC is set up doesn't allow for this behavior. The payment must be captured for the status to be "paid" and the drop ship email isn't sent until after the status is "paid". Unless there is some other action that causes the email to be sent out that I am not seeing, then the only option to get the email to the drop shipper is to capture payment, which would put us out of compliance with Visa (and at greater risk of chargebacks).



I tried moving the "Run all Dropship Notifications" task into the "Process New Order" workflow, however in this case it will send the drop ship email regardless of payment type and regardless of whether or not the authorization was successful.



It seems to me that in order to follow the Visa regulations, the authorization should put the order into "paid" status and then there should be a flag for whether or not the authorization is captured so it doesn't fall out of view in the admin interface.



Failing that solution, is there any way to set up the "Run all Dropship Notifications" task to fire conditionally in these two cases?



1. if the payment type is credit card and authorization was approved

2. if the payment type is not credit card and the payment has been received
SStorhaug
#2 Posted : Friday, February 12, 2010 5:48:48 AM(UTC)
SStorhaug

Rank: Member

Joined: 11/20/2005(UTC)
Posts: 122

I managed to work through this issue by creating a custom workflow task called RunAllDropShipNotificationsIfPaymentGuaranteed. In case anyone else who has their items drop shipped is interested in reducing chargebacks (by shipping first and capturing later), here is what the code looks like. NOTE: No warranty is provided, use at your own risk.


Code:

[color=#0000ff][color=#0000ff][2] End[/color][/2][/color][color=#0000ff][color=#0000ff][2]Function[/color][/2][/color]
[color=#0000ff][color=#0000ff][2]

End[/color][/2][/color][color=#000000] [/color][color=#0000ff][color=#0000ff][2]Class
[/color][/2][/color]



Since what we really need to know is whether we are guaranteed payment for a specific order before the drop ship email is sent, and the rule for a credit card payment guaranteed is different from the others, we are taking each payment type into consideration separately. We are adding up the guaranteed payment amount for each payment of an order based on the type of payment, and then comparing it with the Grand Total of the order.



In the case of a credit card, we are guaranteed payment if a) the credit card is authorized or b) the credit card has been captured (or charged without using an authorization). So if we are set up to authorize payment first before capture, we add together the authorization amount and the total credit.



Sure there are a couple of extra case scenarios that don't really need to be there. However, if you want to override the rules for a specific payment type (for example, to not set the amount until the order is marked "paid") you can simply change the code in the payment type case block to check the payment status.



In order for this to work in both the web site and order management tool, it should be placed in the "Payment Changed" workflow. However, unlike the default RunAllDropshipNotifications task, this one doesn't send the email more than once regardless of how many times it has been run. Note also this task needs to be followed by an "Update Order" task in order for the custom property to be saved so the email isn't sent more than once. All instances of "Run All Drop Ship Notifications" should be removed from all workflows (except the DropShip workflow).



Simply drop the above code in your App_Code folder and add a line in the TaskLoader.Custom.vb file in the "LoadCustomOrderTasks" procedure to initialize it:

[2]New[/2][2] RunAllDropshipNotificationsIfPaymentGuaranteed)[/2]</P>
[2]
[/2]
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

©2024 Develisys. All rights reserved.
  • Toll-free  888-665-8637
  • International  +1 717-220-0012