[
{
"title":"Testing",
"link":"https://docs.solidgate.com/payments/testing/",
"text":"Simulate payments to test your integration before launching in production.",
"imgSrc":"https://solidgate.com/wp-content/uploads/2022/06/icon-customizable.svg"
}
,
{
"title":"Create your payment form",
"link":"https://docs.solidgate.com/payments/integrate/payment-form/create-your-payment-form/",
"text":"Understand how to integrate the payment form into your product.",
"imgSrc":"https://solidgate.com/wp-content/uploads/2022/06/icon-payments.svg"
}
,
{
"title":"Billing",
"link":"https://docs.solidgate.com/billing/",
"text":"Smart billing solutions designed for diverse business models.",
"imgSrc":"https://solidgate.com/wp-content/uploads/2022/06/icon-global.svg"
}
]
Initiating a transaction involves using the paymentIntent object within the Payment Form. This process is the first step in the payment flow, setting the groundwork for a seamless transaction. A series of background steps encompass checks and validations for efficient and secure payment processing.
For instance, to prevent double charging for payments, the system ensures each payment form handles just one transaction, regardless of the number of times customers click the payment button.
Validation rules
Front-end validation and auto-tabulation prevent errors and fraud, verify data correctness, enhance customer experience, and increase transaction success.
Validation of form fields occurs when a field loses focus.
Validate the data entered The validity of the card number is ensured through the
Luhn Algorithm
Reference
for card brands supporting it. The Luhn Algorithm calculates the check digits of a card number following the
ISO/IEC 7812
WIKI
standard.
Define card brand to display the desired logo For an enhanced customer experience in card payments, it is essential to automatically detect the card type and format the card number with appropriate spacing patterns. Implementing this requires identifying the IIN ranges and applying the spacing rules for each card type.
Determine the country of the card by BIN and add fields dynamically if necessary To dynamically add relevant fields to the payment form, it is necessary to determine the country associated with the card brand. Based on this information, the required additional fields can be dynamically rendered on the front end so the customer can provide any missing data specific to their card or location.
Form template: default
Form template: flat
Form template: card
Form template: inline
The cardholder’s name field is not available by default but can be enabled through CSS styles.
Rules for the card_holder field are as follows:
Data entered must have at least 3 characters
Input is automatically converted from Cyrillic to Latin
Symbols and numbers are stripped from input, keeping only letters
The card_holder field is specifically required for transactions from certain countries.
Those countries include Argentina ARG, Bangladesh BGD, Bolivia BOL, Brazil BRA, Cameroon CMR, Chile CHL, China CHN, Colombia COL, Costa Rica CRI, Dominican Republic DOM, Ecuador ECU, Egypt EGY, El Salvador SLV, Ghana GHA, Guatemala GTM, India IND, Indonesia IDN, Japan JPN, Kenya KEN, Malaysia MYS, Mexico MEX, Morocco MAR, Nigeria NGA, Panama PAN, Paraguay PRY, Peru PER, Philippines PHL, Senegal SEN, South Africa ZAF, Tanzania TZA, Thailand THA, Turkey TUR, Uganda UGA, Uruguay URY, and Vietnam VNM.
The expiration date:
Must be provided in the MM/YY or MM/YYYY format
Must represent a date in the future, not a past date
The CVV field can only accept 3 or 4 digits.
Validation of the CVV field depends on the card brand:
AMERICAN EXPRESS card requires 4 digits for the CVV field
All other card brands require 3 digits for the CVV field
Once the payment data is validated, the payment processing unfolds. Merchants can then receive notifications about the order status and inform customers about the outcome of their payments.
Order status updates
Merchants receive notifications for any changes in the status of their orders. Continuous order status tracking is handled by
Guide
Subscribe for events on your Solidgate account so your integration can automatically trigger actions.
webhooks
that serve as destinations for these notifications.
Status requests Merchants can choose to receive the
current status
Webhook
of an order, ensuring flexibility in monitoring transaction progress.
Event listening The
Guide
Form events are essential checkpoints for monitoring customer interactions in payments.
events
allow merchants to promptly respond to changes in the Payment Form state, enabling real-time communication and response to various form events.
Transaction status
Payment Form allows customers to be immediately redirected to designated pages, indicating successful or unsuccessful transactions through the use of success_url and fail_url parameters.
Unsuccessful
In case of unsuccessful transactions, it is crucial to inform customers about the status and provide clear explanations for the decline. This transparency helps maintain customer trust and enables them to take necessary actions.
Successful
For successful transactions, customers should receive prompt and clear confirmation of their successful payment. It is important to include payment details, such as the payment descriptor, which is reflected on the customer's bank statement, promoting transparency and trust. This descriptor is communicated through notifications and upon request for order status.
Terms and conditions
You can include your terms and conditions in the payment form to meet legal and operational
Guide
Ensure you meet legal and operational website requirements with the website checklist.
requirements
for online businesses. It can be a checkbox that prevents payment initiation until the customer agrees.
For that, you can use the Solidgate form submit flow or a custom submit button. The latter allows you to separate the checkbox and other custom elements from the input fields.
It lets you manually trigger the payment process by calling the form submit method from your custom button.
Place your terms and conditions and any other content between the payment form and your custom submit button. This ensures that customers see and acknowledge the terms before submitting the form.