It's not clear from your post, have you tried Gumroads API? They have an endpoint for verifying licenses that works nicely.
curl https://api.gumroad.com/v2/licenses/verify \ -d "product_id=SDGgCnivv6gTTHfVRfUBxQ==" \ -d "license_key=YOUR_CUSTOMERS_LICENSE_KEY" \ -X POST
Example in React/TS: const checkLicenseKeyWithGumroad = async (licenseKey: string) => {
try {
const isValidLicenseRequest = await axios.post(
process.env.GUMROAD_VERIFY_URL as string,
{
product_id: 'SDGgCnivv6gTTHfVRfUBxQ==',
license_key: licenseKey?.trim()
}
)
const isValidLicense = isValidLicenseRequest?.data?.success ? true : false
return isValidLicense
} catch (error) {
console.log(`Error checking license key: ${error}`)
return false
}
}For your language issue, you could self-host the platform and only run purchases through Gumroad. This is how I do it.