Checkout Form - FAQ

Should you receive this error message and it is not expected, then navigate to the Payment Form that would be related to this checkout form. Payment Forms are a related list to the Merchant Facility Tab in Salesforce.
The on the Payment Form, locate the field "Force URL Token Only" and de-select - SAVE and retry the process.
The "Force URL Token Only" is an enhanced security feature. This is best used with checkout forms that are using the URL Tokens, or are only managing things like membership renewals.
If the above looks correct, then please check:
- Sharing rules for URL Token have been setup correctly as per procedure: How to setup Sites Sharing Settings
- Installation security setup is correct as per procedure: How to set up external site security for payments, including the later steps of assigning Permission Sets to the Sites User.
If you have enabled appears, but the options for the end user to select the Campaign/Appeal is not showing then check the following for the Campaigns you would expect to see:
- The Campaign is Active
- The Campaign Publish on Web is selected (only required for public facing forms, not required for internal forms)
- The Start Date is on or before today
- The End Date is on or after today
- If you have entered a value in the Payment Form "Campaign Type Filter", then make sure the Campaign "Type" field has the same value
- If the Campaign is linked to a Payment Form, then the Campaign is excluded if the related Payment Form field "Payment Type" is "Event", "Program" or "Training"
If you are seeing the "Appeals Label" on the screen, but there is not picklist/input field, then make sure you've given the correct level of access to Campaigns on the sites - public profile. See step 5 of this installation procedure - How to set up external site security (older version)
A maximum of 100 Campaigns are shown on the Public facing forms or 200 for internal facing forms.
3.1. Check X-frame options
Should your form be working fine when not embedded in an iframe, but stops working within the iframe, or if your webmaster has suggested that you need to make the x-frame options on the payment form visible, then you will need to do the following:
- Navigate to Setup > Develop > Sites. Click Edit next to the Payments form related site.
- Change the "Clickjack Protection Level" to "Don't allow framing by any page (Most protection)".
Then Go to Setup->Session Settings->Trusted Domains->Add Domain - Add Your website domain - *{yourwebsitedomain}".
NOTE the *.yourwebsite domain.
A common mistake is organisations add say https://mydomain.com, but there website actually uses https://www.mydomain.com (with the www. added, or some sites have removed the www.) Using the *.mydomain.com would cater for both scenarios.
3.2. Check you are using a secure URL
- Check the URL being used starts with "httpS://" (Not the "S" part). It has been the case with some organisations that when they've added the form to their website, they have missed this part.
- That the URL being used has .secure.force.com in it. Eg. https://xxxxxx.secure.force.com/" For more on this, check the setup procedure How to connect your new site to your Merchant Facility
MAKE sure the Base Site URL on the Merchant Facility is updated to have the secure URL
3.3. Check with your webmaster
There might be a setting on your web platform that is blocking forms from a different site. You will need to check with them as we are not able to provide any further assistance here.
If you are unable to continue to the Pay Now step of the wizard, then this means you are not using a secure form.
- Check the URL being used starts with "httpS://" (Not the "S" part). It has been the case with some organisations that when they've added the form to their website, they have missed this part.
- That the URL being used has .secure.force.com in it. Eg. https://xxxxxx.secure.force.com/" For more on this, check the setup procedure How to connect your new site to your Merchant Facility
- Make sure the Secure URL (points 1 and 2) is entered on the Merchant Facility "Site URL" field

It is likely that some of the post install steps were not completed.
- You need to setup the object level security on the “Sites” Profile. i.e. setup > develop > sites. Click into site label. Click view public access settings. See: http://www.payments2us.com/installation-manual/security/how-to-set-up-external-site-security-older-version/
- Make sure the “Payments2US Sites” Permission Set is added to the Sites Guest user. See section 3 of procedure: http://www.payments2us.com/installation-manual/security/how-to-set-up-external-site-security-older-version/
Start the Batch Processor
- On the primary Merchant Facility, about 1/3 of the way down the screen, there is a “Start” button for the batch processor. Please click this to start.
Please see the help article on How to create your own Success/Confirmation Page.
If you've just installed Payments2Us, or have setup a new site and your screen looks similar to the picture below - i.e., you cannot enter any details, then it is likely you've missed the step of assigning permissions correctly.
Please review How to set up external site security (older version) - In particulare Step 6 in assigning the Permission set to the Sites user.


CAPTCHA is a security tool created by Google to protect your site from robot or malware. Often it will only request the "I'm Not A Robot" tick box option, but if the browser has detected any suspicious activity such as multiple attempts from the same IP address, it'll ask further security selections to be certain. As this is operated by Google, the questions it requests can't been controlled through Payments 2 Us.
We recommend enabling CAPTCHA wherever practical. The additional time spent in the security process can avoid problems later on.
For more information about how Google reCAPTCHA works, go to: https://www.google.com/recaptcha/intro/invisible.html
NOTE: From 1st March 2020, Classic forms are no longer supported
Classic |
Modern |
---|---|
Supports all forms
|
Supports forms:
|
Uses "jquery themeroller" for custom themes |
Uses "jquery mobile themeroller" for custom themes |
PayPal - "Classic" (Express Checkout). User is redirected to PayPal and returns to form on completion |
PayPal - "Modern". PayPal is prompted for in lightbox style, meaning user does not go to a different page |
3 step process (Confirm, PayNow, Complete) |
2 step process (PayNow, Complete) |
Supports the following payment gateways:
|
Supports the following payment gateways:
|
Custom Text Fields - Supported |
Custom Text Fields - Supported since version 7.7 |
Payment Form Builder - Not Supported |
Payment Form Builder - Supported |
Cardholder update their card details, supports:
|
Cardholder update their card details, supports:
|
Service fee is not supported | Service fee is supported |
Payment Frequency are assigned in the following order
- If a payment frequency is set on the URL Token or URL parameters, then this is used
- If a Payment Option payment frequency is not blank then this is used
- If Enable Recurring is not “No”, then the selected payment frequency from the Payment Form “Payment Frequency Options” is used
- If the “Default Frequency” is set on the URL Token or passed in as a URL Parameter, then that Frequency is defaulted.
The payment frequency is set as read only when:
- The "Payment Frequency" is set on the URL Token or passed in through a URL Parameter
- Payment Options are used (e.g. memberships) and at least one Payment Option does NOT have a frequency of One-off.
- URL Parameter or URL Token "paymentOptionIdReadOnly" is set to true
If the payment frequency being read only is not desired, you may wish to use the "Default Frequency" URL Parameter or URL Token value.
When the URL Parameter or URL Token option "HidePayFrequency" is NOT set to true AND one of:
- Payment Form “Enable Recurring” is not “No”
- Any Payment Options do not have a frequency of not One-off
In Salesforce, when creating a new picklist, it will give you the option to add it to all your record types at once. If you add values to it after this, each value needs to be added to the record types manually.
Go to Setup>Object Manager>Payment Txn and select Record Types on the from the left hand menu. Click into Payment
Find you custom pick list and click edit next to it

Add your new values to to the available fields on the pick list

Check that it is appearing in your form

If this value is required in other Record Types, repeat the process in the desired record type(s).
If there is a message on the Payment Form that says “Missing (Active) Merchant Account” then check:
- You have at least on Merchant Facility marked as primary. To update, navigate to the Merchant facility tab and update one facility to have the Primary checkbox selected.
- The Salesforce Organsiation Id on the Merchant Facility matches your Salesforce Organisation Id under - setup "Search: Company Information", click into "Company Information"
NOTE and WARNING: If this is a sandbox with data (e.g. Full Sandbox), then DO NOT Update if you have Recurring Payments. Doing so could cause these payments to be charged in Sandbox as well as production. We recommend instead, using the About Payments2Us Tab, then create samples. - Check Sharing Settings have been added for Merchant Facility. See procedure: How to setup Sites Sharing Settings
There is a message on the Payment Form saying “Missing Merchant Account - Related PAYMENT TYPE” Please see the notes for message “Missing (Active) Merchant Account” and make sure that at least one Merchant facility is marked as primary.
It is also a recommendation that at least one payment type is active per Merchant Facility. To update, locate the Merchant Facility being used, then scroll down to the Payment Types related list. Select a payment type and mark it as Primary.
This information is applicable to the Modern Form. You will know if you are using the modern form when "Default Payment Form Mode" on the Merchant Facility is set to Modern, or the URL has "checkoutM" in it.
Symptom: I've edited some fields on a payment form and field sets, but my changes are not appearing in the webform. They used to with the old checkout form, but since changing to checkoutM forms, it does not anymore. What's happened?
On the Payment Form, Press the "Payment Form Builder (Beta)" button.
If this button does not appear on your view of the page layout, then you will need to edit the page layout and add the button to the page. Ask your Salesforce System Administrator for assistance.
Then press the "Reset" button.

Check the Environment field on the merchant facility. Make sure it is set to Production, as this field now applies to the whole Merchant Facility object, not just PayPal. Sandbox will change it to the Test setting.


The date format shown to the end user is driven from their PC locale settings. The user will need to adjust these settings themselves. For Windows PCs, from the control panel do a search for "Region"

Navigate to:
- Setup
- Search [Sites]. Click into "Sites"
- Click Edit next to the site you are using for Payments2Us
Enter your Google Analytics tracking code and press save.
NOTE, you will need to update google analytics to be able to accept the Salesforce Sites URL. NOTE, how to update your instance of google analytics is outside the scope of Payments2Us support.
You may also want to review How to create your own Success/Confirmation Page.
1. Go to setup>sites and select your site. Update the Active Site Home Page to AAkPay.checkoutM

2. Go to your Merchant Facility and select Modern on the Default Payment Form Mode.

NOTE: From 1st March 2020, Classic forms are no longer supported
Custom Themes: If you previously created your Custom Theme in Jquery Themeroller (classic), a new Theme will need to be created in Jquery Mobile Themeroller (modern). See here for further information and instructions.
URL tokens have a number of sections that can be hidden. in the Display Options section.
Create a new URL token and tick which sections that you want to be hidden.
If there is a custom section you want to remove, uncheck it on the Payment Form.


Items to check for are:
- The most likely reason for this is that Payments2Us has not been authorised as an App, or the user that did the authorisation has now been marked as inactive. To fix, re-authorise as per procedure Section 5: Authorise Payments2Us
- Navigate to the About Payments Tab. Does this provide an button to "Create Remote Site Setting". If it does, then press the button to create, then re-authorise as per above bullet point.
If there is an error when pressing this button, then note/copy the URL for the Error message. Then go to setup, search "remote sites". Add a new Site, "SFDC Internal" for the name and paste the URL copied. Then re-authorise as per the above bullet point.
If the "Create Remote Site Setting" button is still showing, then enable "My Domain" (see salesforce online help). Then re-authorise as per the above bullet point. - Check the Sharing Settings are correct, see procedure: How to setup Sites Sharing Settings
- Check that you "Default Payment Form" mode on the Merchant Facility Tab is set to "Modern"
- If you are using an existing URL, make sure it is using the modern version. I.e. if the URL contains ....secure.force.com/aakpay__checkout?.... Then make sure the word checkout has "M" at the end, e.g. ...secure.force.com/aakpay__checkoutM?...
This error may also occur due to the following scenarios:
- The user that originally authorised the App has been de-activated
- Salesforce as moved your instance onto a new pod (and in turn a slightly different URL)
- You have another error message that occurred. Please check Payments2Us error log as that may have details on that error message and what it relates to.
- For version prior to 8.12, if you manually added a new Merchant Facility and then made it active after the App was first authorised
- You have created a partial or full sandbox and did not re-authorise the App before first using in that sandbox.
First thing to check if you get this error is that the "Batch Processor" has been started on the Primary Merchant Facility Tab. To start, navigate to the Merchant Facility Tab. Click into the one marked as Primary. The about 1/3 of the way down the screen press START button for the Batch Processor.
Also, if your Salesforce instance has "Secure guest user record access" on Sharing Settings (under setup), then you need to have "Enforce New Public Sites Security" selected on the primary active Merchant Facility.
If the above does not help, then check the Sharing Settings are correct, see procedure: How to setup Sites Sharing Settings.
If there are still issues, check the setup for Sites Object Settings and permission sets. See procedure: How to set up external site security for payments, ensuring all steps including assigning of Permission Sets are completed.

The most likely reason for this is the Captcha is not shown/selectable. The older recaptcha options are no longer supported.
To fix, on the Merchant Facility Tab, under the field "Captcha Type" selected a different captcha type such as "No CAPTCHA reCAPTCHA".
1. In the URL of the payment form, there will be a record ID. It is a 15 digit ID after "checkoutM?key=XXXXXXX
2. Go to your instance and past this ID in the URL after "/r/"
https://apX.lightning.force.com/lightning/r/XXXXXXXXX
This will take you to the URL token record that is being used.
This process can be used to find IDs for Payment Forms and Merchant Facilities too.

In recent updates (Feb 2020) with Salesforce there have been some errors with date fields. If there had been a date field that was previously filled in, the autofilling component on the browser has retained the information, even if the field is no longer on the checkout form.
Find the history section of the browser and clear history of the Autofill options. Some browsers might have different names for these actions.

Always use the secure site "https". You can manually add the "s" to your Base Site URL if it needs updating. Also, for production instances, make sure the Site Base URL on the Merchant Facility contains ....secure.force.com...
Also make sure these check boxes are ticked on your site as well.


If the phone number formatting looks like it is for a different country. For example, you are in Australia, but it is showing a US format then you need to adjust the Force.com sites default locale and language.
27.1. Enable your language and locale for your public facing force.com sites user
Navigate to setup (1), Search "Sites" (2), click into "Sites" menu option (3).
Click into (NOT EDIT) the site (4) you are using for your checkout forms
Click Public Access Settings
Click View Users

Click edit next to the User

Update your Locale Settings.
In particular the Locale one to correct the phone number format.

When the matching process occurs, the fields with API like-like values on Payment Txns and contacts will update
- If the value has changed
Eg: Phone number on the contact is 0411111111, but the new Payment Txn has 0422222222 in the Phone number field, the value will be updated to 0422222222.
The field value will not change
- If the value on the field on the Payment Txn and the Contact are the same
- If the field is blank
Eg: Phone number on the contact is 0411111111, but the new Payment Txn has no value in the Phone number field, the value will be retained with 0411111111.
However, this behavior does not apply to Checkboxes. Checkboxes are always considered to have a value, either TRUE or FALSE.
Eg: If a Contact Record has a checkbox ticked to TRUE, and a new Payment Txn has the same field not checked FALSE, the field on the contact record will be updated to FALSE.
Please take this into consideration when creating your Payment Forms.
If you have your own custom url, you will have to register captcha, add your custom URL and enter the details on the Merchant Facility.
There are fields called Captcha Private Key and Captcha Public key are on the Merchant Facility.
Please add those fields to the page layout if that is not visible.
If you get the above error message, please Re-Authorize the app. See the link to re-authorize app.
This error may occur due to the following scenarios:
- The user that originally authorised the App has been de-activated
- Salesforce as moved your instance onto a new pod (and in turn a slightly different URL)
- You have another error message that occurred. Please check Payments2Us error log as that may have details on that error message and what it relates to.
- For version prior to 8.12, if you manually added a new Merchant Facility and then made it active after the App was first authorised
- You have created a partial or full sandbox and did not re-authorise the App before first using in that sandbox.
If you are observing the in progress message as per the screenshot below showing and not going away, then please follow the procedure "Installing your language" in the setup guide.
This seems to be a requirement particularly for customer on the Australian Salesforce servers

If the URL parameter for Payment form and Merchant facility is not specified then the default is used.
You can either reset the default, or get your web developer to pass in payMSetting and payMType.
See the link on URL parameters-List of available URL Parameters
At a minimum, we require the transaction details (Amount), plus the contacts Last Name.
This said, the more information you have, the better the matching and de-duplication will be. If you were to just have the last name, you would always end up creating a new Contact as an example.
PLEASE NOTE:
For EziDebit, the minimum is contact first/last name, phone, mobile, email and full address details.
If Campaign Member Status at Payment form has a value and a Campaign is associated with a payment, then a campaign member record will be created and assigned the status specified here. If this field is left blank then they will by default be set to Responded.
If the Campaign Member is created without the Status then
Check
1. If the "Campaign Member Paid Status" field on Payment form has value- Paid
2. Switch to Salesforce Classic, Go to Campaign->Click on Advanced Setup and add the Status value.
1. This could be rejected by DataTools.
Please either remove Phone validation from the Merchant Facility - data validation options.
Or, contact DataTools support and ask them why this is being rejected.
2. If using EziDebit and If this looks fine at the DataTools side of things, then please check with EziDebit support. They often validate the phone number some degree, but that is normally length.
3. Check you do not have a validation rule in place if the above does not work.