There is not an option within the POS Hardware Profile to set the POS into test mode for credit card processing tests. Thus we need to run scripts to update the hardware profile in the POS database to recognize and put POS into a credit card processing test mode. Very similar steps can also be performed for AX 2012 R1 with exclusion of steps 32-36 as the XML string is new to R2 and the IsTestMode property was not included. The IsTestMode property is being added to the new R3 release. This test mode will allow you to see credit card transactions in Dynamics Online. But this is not a full test to the payment provider as the test transactions stop at Dynamics Online. In order to test a card all the way through Dynamics Online to you payment provider, you need to be running in production mode and put through a $1 transaction with a valid credit card.The steps below will walk you through connecting a payment service (demo or production) that is already set up in Dynamics Online to your POS register in a test mode.1. Go to www.dynamicsonline.com2. Select For Customers.3. Log in with a Microsoft Account (also known as Windows Live ID). NOTE: If this auto logs you in with an account that is saved in the browser that is not valid for Dynamics Online, go to www.live.com and sign out first.4. Select Service List in the left navigation pane.5. Find the payment service that you would like to link to your AX company.6. Copy the Service ID from ID field.
7. Leave this window open and switch to AX.8. Go to: Retail >> Setup >> POS >> Profiles >> Hardware profiles9. Either select an existing profile to modify it, or click New to create a new hardware profile with a new name.10. Expand the EFT service fast tab11. Select Payment Connector as the EFT Service (The Dynamics Online dropdown option is from R1 and doesn't include the new public key that is used with the new tokenization with Dynamics Online, this option has been removed in the CU6 update. This may still work, but is recommended to use the new Payment Connector.)12. Select the profile version of the POS13. Enter in the Microsoft account and Microsoft account password. NOTE: This is also known as your Windows Live ID. The user entered here must also be set up with access to that payment service. This can be set up in the Dynamics Online partner or customer portal. For steps on setting up user roles, click the following link: http://blogs.msdn.com/b/axsupport/archive/2013/03/06/dynamics-online-user-roles.aspx14. The Environment field is already populated as PROD and this should be left as is.
15. Highlight and copy the entire Public key. As a test, paste the contents into a text document to ensure it copied the contents properly. This is a fairly large key and at times this has a tendency to copy the fields in the form instead of the key. If this happens, simply close the payment services window and reopen it to try the copy again.16. Switch back to the Dynamics Online customer portal.17. Click User management in the navigation pane.18. Click New System User
19. Paste in the Public Key into the Public Key field. (the contents of this field will not be visible after saving the system user)
20. (Optional) Change First and Last name. I recommend doing this to know which entity this system user is for if you have more than one payment service set up.21. Click Save.22. Select the System User we just created by placing a checkmark next to it.23. Click Edit.24. Add the specific system user role for that payment service or all roles to the Selected Roles by clicking on the >> sign.
25. Click Save.26. Switch back to the AX27. Go to: Retail >> Periodic >> Data distribution >> Distribution scheduler28. Select the A-1090 or N-1090 job to update the POS with the hardware profile update.29. Click Run directly30. Open SQL Server Management Studio to process 2 update scripts to configure POS for test mode.31. Run the following script against the POS database. NOTE: Running a N-1090 after this update will revert POS back into production mode. - Change the POSDB to your POS database name. - Change the HW001 to the correct hardware profile name. UPDATE [POSDB]..RETAILHARDWAREPROFILE set EFTTESTMODE = 1 WHERE PROFILEID = 'HW001' 32. Run the SELECT script below and extract the XML data from the column EFTCONNECTORPROPERTIES. - Change the POSDB to your POS database name. - Change the HW001 to the correct hardware profile name. SELECT EFTCONNECTORPROPERTIES FROM [POSDB]..RETAILHARDWAREPROFILE WHERE PROFILEID = 'HW001' 33. Paste this property into a text editor to save the contents for later in case you need the original string.34. Paste the contents into a New Query in SQL.35. Add the property below to the end of the XML string right before the last closing of </ArrayOfPaymentProperty>]]> <PaymentProperty> <Namespace>TransactionData</Namespace> <Name>IsTestMode</Name> <ValueType>String</ValueType> <StoredStringValue>true</StoredStringValue> <DecimalValue>1</DecimalValue> <DateValue>0001-01-01T00:00:00</DateValue> <SecurityLevel>None</SecurityLevel> <IsEncrypted>false</IsEncrypted> <IsPassword>false</IsPassword> <IsReadOnly>false</IsReadOnly> <IsHidden>false</IsHidden> <DisplayHeight>1</DisplayHeight> <SequenceNumber>10</SequenceNumber> </PaymentProperty> 36. Add this updated XML string to the script below inside the quote and run the update script. - Change the POSDB to your POS database name. - Change the HW001 to the correct hardware profile name. UPDATE [POSDB]..RETAILHARDWAREPROFILE SET EFTCONNECTORPROPERTIES = 'insert new XML string here' WHERE PROFILEID = 'HW001' 37. Start POS or restart POS (just the POS application) if POS was already open.38. Process a test transaction with the Pay Card tender.ADDITIONAL NOTES:1. if you receive the error message below, this means that there is an issue with the XML string that was updated. The authorization could not be completed. Error code: There is an error in the XML document (1,2). Error message: To resolve this, you will need to use the saved XML string in step 33 (or grab the original from AX HQ) to go through steps 34-38 to recreate the updated XML string at POS again. In the event that things get corrupt and mixed up, it may be easier to just create a new hardware profile and start over with the script updates on the new profile.2. Save the scripts from Steps 31 and 36 in case you want to use payment services at the POS in test mode again.3. To revert out of test mode at the POS, you will only need to run the 1 script or run the N-1090 job. - Change the POSDB to your POS database name. - Change the HW001 to the correct hardware profile name. UPDATE [POSDB]..RETAILHARDWAREPROFILE set EFTTESTMODE = 0 WHERE PROFILEID = 'HW001'