Here's a bunch of expressions you can try. Be sure that you activate any Payment Method that you want to use.
- Boolean $Debug true - this will log trace messages in the System > Log. Be sure to remove it (or make inactive) in production.
- Check Or Money Order - shows custom localized text
- Cash On Delivery - only visible if postal code starts with 888
- Manual Credit Card - only visible when an admin is impersonating. Note the " use POS " hint added to the friendly name
- Manual and Authorize.ney - calculate the fee based on selected card
- Purchase Order - only visible for specific role
- Pay In Store - visible always, but can only be selected if shipping method selected in In-Store Pickup
- PayPal - only visible for store # 1 when selected shipping is FedEx
In order to utilize the features to have disabled payment methods, and to change the name of payment methods that the customer sees, replace your checkout views (.cshtml files) with the ones provided in the \Views\Checkout sub folder from the evaluation zip file you downloaded.
Type | Name | Expression | FeeExpression | FriendlyNameExpression |
Boolean | $Debug | true |
|
|
String | CheckOrMoneyLocalized | GetLocaleString("your.custom.text") |
|
|
Option | Payments.CheckMoneyOrder | true |
| [CheckOrMoneyLocalized] + " (test)" |
Option | Payments.CashOnDelivery | Customer.ShippingAddress.ZipPostalCode.StartsWith("888") UPDATE: you can use just Zip.StartsWith("888") |
|
|
Option | Payments.Manual | OriginalCustomerIfImpersonated != null | CreditCardType = null ? 0.00 : CreditCardType = "Visa" ? OrderTotalWithoutPaymentFee * 0.02 : 1.00 | FriendlyName + " (use POS)" |
Option | Payments.AuthorizeNet | OriginalCustomerIfImpersonated = null | CreditCardType = null ? 0.00 : CreditCardType = "Visa" ? OrderTotalWithoutPaymentFee * 0.02 : 1.00 | FriendlyName + " (fee varies)" |
Option | Payments.PurchaseOrder | Customer.IsInCustomerRole("Dealer Pricing") |
|
|
Option | Payments.PayInStore | ShippingOptionName = "In-Store Pickup" ? Show : Disabled |
| ShippingOptionName = "In-Store Pickup" ? "" : FriendlyName + "(Available only for In-Store Pickup)" |
Option | Payments.PayPalStandard | CurrentStoreId = 1 and ShippingOptionName.StartsWith("FedEx") |
|
|
You can download the configuration import file by clicking on this link PaymentDirector (Various Expressions).txt
Also, if you're using the Test button in the PD configure page, if any expression uses OrderTotalWithoutPaymentFee, then be sure you've used the public store to put an item in the cart, and if using ShippingOptionName, go through the checkout process just past selecting a shipping method. (PD will warn you otherwise)