AAKonsult Payments Settings
URL Tokens and URL Parameters
I'm struggling with URL Tokens and URL Parameters relating to events.
There are already a few issues with the way events work separate to payments, and there are a few new features for URL Parameters for events that are not in URL Tokens. So I just need to test a few things.
Payments now has this much better progress bar on the bottom of the payments screen for stepping through the steps to make a payment. These are not available on payments for events for some reason, that I don't particularly understand. For me, Events should just be the first one or two screens before payments, and the Payments screen should be page 4, and the progress bar should start on page 1 of the Events screen. The end users should NOT know that Payments are separate from the Events Registration.
Events has two pages - the first page that has the "who are you and what are you purchasing" and the second page that has the "tell us who is attending" then optionally you go to payments (if it's not a free event). The Confirmation page will be shown if there is not a Success URL on the Payment Form.
This is not tested thoroughly yet, it is just my notes so far. These notes only work on Events and the way the Events settings interact with payments.
Settings | Page 1 | Page 2 | Payment Form | Confirmation Page |
---|---|---|---|---|
Free Event with Attendees | ||||
Paid Event with Attendees | ||||
Paid Event with only one Attendee | ||||
Free Event with only one Attendee |
Let's start with page 1 - what URL Parameters affect that. I'm not going to go into ALL parameters and settings, just the ones I need for this project right now.
Note: "The recommended option is to use the URL Tokens and NOT the URL Parameters option" from the user guide.
Step 1
The Standard Credit Card Button on the Payment Form that shows the Payment Form as the external users sees it uses the following URL Parameters
- /payments/AAkPay__eventsRegistration?
- payMSetting - the Merchant Facility
- payMType - the Payment Form
- cmid - the Campaign
NOTE: If you click the URL from the Upcoming Events Widget or the Calendar, it only has the Campaign ID as the Parameter. This is because the PF and MF are linked to the Campaign, so you can just use the Campaign.
This is the very basic details to show Page 1.
The other things that control what is shown on page 1 is
- Payment Form
- Sidebar Width
- Event Form Layout Options (new setting), that can hide the Sidebar, the Contact US or the Event Details
- Merchant Facility
- Form Width
- Theme
- Custom Resource Name
- Background Colour
- Mobile Responsive
The following two are not shown on Page 1 of the Events form. But I would an option for them to be shown, to ensure corporate identity is consistent throughout. This way you could set up a new MF for each State or Division and they can have their own look and feel for their events.
- Payment Overview
- Payment Note
OK, so they are the standard options, now let's look at the URL Parameters that can change Page 1 - well there are none, because URL Parameters ONLY affect Payment Forms, not Events pages. (There are URL Parameters for the Upcoming Events Widget though if you are using that).
Step 2
OK, so let's try the exact same thing as above but using a URL Token rather than the URL Parameters.
I set up a URL Token with a link to the Payment Form (and therefore MF), and add a link to the Campaign. I either set any other options as being exactly the same as the Payment form, or not set them, so there is NOTHING on the URL Token that should change the look or behaviour of the events or payment forms.
I click on the Short URL in the URL Token screen and it does NOT do what I expect - it just goes right to the Payment Form. I would Like to use URL Tokens with Events also. I would like there to be a "This is an Event" checkbox, and it knows that the Campaign I linked to is the Event Campaign, and shows me the Event page. But I guess that URL Tokens are not for that purpose.
So let's try using the Standard Events URL "/payments/AAkPay__eventsRegistration?" instead of the URL shown in the Full Text URL of the Token. Nope, it doesn't work - it shows the events form, but no details, because it is not picking up a Campaign. Let's try adding a cmid to the end. OK, that works.
So the parameters are:
- /payments/AAkPay__eventsRegistration?
- key - from the URL Token
- Token - from the URL Token
- cmid - the Campaign
Step 3
So now, I want to use the above method to try to manipulate the Payment Form on Events via the URL Token. My Business Case is - for some people I want to allow them to do Invoice Me and some people I only want to allow them to do Credit Cards - eg existing clients can be invoiced, but I want ALL the attendees to be on the same Campaign. So I want the URL Token to override the Payment form to not allow Invoice Me - that is the URL that will be shown to non existing clients.
So now I modify the URL Token to remove the Invoice Me option.
Parameters are exactly the same as above, but the URL Token has been modified.
Yes, that works - the Payment form is shown with no Invoice Me option. Good.
So, I can set up two URL Tokens linked to that Payment Form - one including Invoice Me and one excluding it. Or I can use one URL Token and use one with Parameters. I think two URL Tokens is more self-documenting, as you can put the reason for the Token in the description.
Step 4
Now, I just need to include the option to turn off the Campaign Overview on the Payment Form. Selecting Hide Campaign Overview on the URL Token turns it off on the Payment Form, but it still shows the When and Where. I would like to turn that off too - there is no option on the URL Token to Hide When and Where.
I try Hide Payment Notes on the URL Token and it doesn't turn them off. I try adding hidePaymentNote=true to the URL and even try it just on a direct Payment Form, not an events form. I can't get the Payment Note to hide at all.
I can't work out HidePaymentOverview or HideCampaignOverview - I think they are the same thing when talking about Events.
HidePaymentOverview and HidePaymentNote both do work when you are using a direct payment form with URL Parameters.
Step 5
So let's make up a new URL on the URL Token page for Events Form and base it of the Full URL Formula but change the page that is visible, and add the CampaignID
IF(NOT(ISBLANK( AAkPay__Campaign__c )),
HYPERLINK(AAkPay__Payment_Setting__r.AAkPay__Site_URL__c & "AAkPay__eventsRegistration?"&AAkPay__URL_Parameters__c & "&" & "cmid=" & AAkPay__Campaign__r.Id, "Event Form", "_blank"),"")
And the last thing I did was to move the form around a bit to show an Events section and a Payment Form section - so hopefully it's a bit clearer that we can use this URL Token for the payments of Events as well as just regular payments.
Step 6
I now have two URLs, one that will allow Invoices and one that will allow Credit Cards only. However, I can't find a way to change the Campaign Overview text programatically. Therefore I have no way to indicate on the form prior to getting to the Payments page, that this form can be used for Invoicing. This is problematic. I would like to be able to use Merge Fields in the Payment Form Text like I can do on the Receipt Text. That way I can add a sentence that is displayed IF there is a linked URL Token that has Invoice Me as an option.
Summary
Summarising my findings today.
- The Option to HidePaymentNote does not seem to work at all using URL Tokens
- There is no way to Hide When and Where on the Payment Form, unless you hide the whole sidebar.
- Using URL Tokens it is possible to create two separate payment forms for Events, and still have people registering for the same event.
- I would love URL Parameters on the Events Forms
- I would love URL Tokens to work on Events Forms.
- I would love the new Progress bar to work on Payment Forms using URL Tokens
- I would love the new Progress bar to work on Event forms in conjunction with the Payment forms so it is seamless to the end users.
- I would like to be able to use Merge Fields in the Payment Form Text like I can do on the Receipt Text.