Dynamic Pricing allows merchants to pass pricing options to a CCBill payment form without creating fixed price points in the Pricing Admin.
Merchants must ensure that the variables and values passed to the payment form are accurate and in the correct format. In addition, the subaccount and payment form used to facilitate the transaction need to be configured for Dynamic Pricing.
Refer to the Dynamic Pricing User Guide for a complete overview of Dynamic Pricing variables and settings.
CCBill’s system returns error codes if a dynamic pricing option cannot be generated on the payment form. Error codes and messages are designed to help merchants identify and resolve potential issues.
The 500 error code is a generic FlexForms error that can occur when passing dynamic pricing variables. It indicates that the parameters in the request string are incorrect or incomplete.
To troubleshoot the dynamic pricing 500 error code:
A dynamic pricing request includes multiple variables and values. For example, this request string for a recurring price point contains 8 different parameters:
https://api.ccbill.com/wap-frontflex/flexforms/687fa3e0-e60d-4466-88e2-181fa56dd6a9?clientSubacc=0000&initialPrice=10.00&initialPeriod=30&recurringPrice=10.00&recurringPeriod=30&numRebills=99¤cyCode=840&formDigest=48f0b12e4307e64edb781c479665c899
Solution: Use the Dynamic Pricing guide to check if your request contains all the expected parameters and confirm that their values are in the correct format.
The value for the formDigest parameter is created by joining and hashing multiple variables, including your CCBill Encryption Key (Salt).
https://api.ccbill.com/wap-frontflex/flexforms/687fa3e0-e60d-4466-88e2-181fa56dd6a9?clientSubacc=0000&initialPrice=10.00&initialPeriod=30&recurringPrice=10.00&recurringPeriod=30&numRebills=99¤cyCode=840&formDigest=48f0b12e4307e64edb781c479665c899
Solution: Check the parameters used to create the MD5 Hash and, if necessary, create a new formDigest value.
The FlexForms system awards each payment flow a unique ID.
The Flex ID is the first value included in each Dynamic Pricing request.
https://api.ccbill.com/wap-frontflex/flexforms/687fa3e0-e60d-4466-88e2-181fa56dd6a9?clientSubacc=0000&initialPrice=10.00&initialPeriod=30&recurringPrice=10.00&recurringPeriod=30&numRebills=99¤cyCode=840&formDigest=48f0b12e4307e64edb781c479665c899
Solution: Dynamic pricing needs to be enabled on payment forms used for the transaction.
To confirm that Dynamic Pricing is enabled on a payment form:
2. Set the subaccount dropdown menu to All.
3. Select FlexForms Systems.
4. Click FlexForms Payment Links.
5. Expand the payment flow menu. Use the Flex ID to identify the flow you want to use for dynamic pricing transactions.
6. Select the payment flow Primary tile.
7. Click Modify This Form.
8. Select Pricing.
9. Check the Allow for Dynamic Prices to be passed to form box.
10. Click Save Property.
11. Close the FlexForms Editor window.
12. Click Save on the Primary tile window.
Promote the payment flow to Live and resend the dynamic pricing string to confirm the price is displayed on the payment form.
If you keep receiving a 500 error even after you have explored all possible solutions, please contact CCBill Merchant Support.
Our support services are available 24/7 and will investigate the issue and assist with further troubleshooting.
ERROR CODE | ERROR | SOLUTION |
---|---|---|
Invalid Digest | The value for the formDigest variable is incorrect. | Check the parameters used to create the MD5 Hash and create a new formDigest value if necessary. |
Invalid Request (1) | The request is missing the clientAccnum, clientSubacc, or formName variable. | Confirm that the clientAccnum, clientSubacc, and formName variables are present and that their values are in the correct format. |
Invalid Request (2) | A temporary database connection error. | Wait for a few moments and resend the dynamic pricing request. |
Invalid Request (6) | The payment form is not properly setup for Dynamic Pricing. | Confirm that the payment form is configured for Dynamic Pricing and review subaccount settings. |