You can now sell redirect urls!

This means, when a customer makes a purchase, instead of taking them to a Flurly download page, you can automatically redirect them to your website for product fufillment. Take a look and give it a try by creating a new product in your flurly dashboard.

Image of Redirect URL

This is a great product option for service work. Many flurly users sell their services (custom illustration, calligraphy, etc) and set their redirect URL to a custom form - google forms, typeform, notion, etc - to collect fufillment information.

Is there a way I can verify a purchase?

Yes. Flurly attached a unique "payment_id" url parameter for each purchase. You can verify that the payment_id is valid and paid by sending a GET request to the following API URL: https://flurly.com/api/payment/{product_url}/{payment_id}.

As an example let's say you had a redirect url https://mywebsite.com/fufillment for some product https://flurly.com/p/my_product

We can add a unique identifier called a "nonce" to the url to uniquely identify a particular checkout session. This is useful if you have already collected information prior. So in this case you could append a ?nonce=YOUR_UNIQUE_ID to the url

https://flurly.com/p/my_product?nonce=YOUR_UNIQUE_ID

If you want to expedite the flow even more. You can use a direct checkout link (notice the /c/ instead of the /p/), eg.

https://flurly.com/c/my_product?nonce=YOUR_UNIQUE_ID

After someone purchases your product they'll be redirected to a url that may look like this https://mywebsite.com/fufillment?payment_id=abcdefg

To verify the purchase you'd want some code that looks as follows:

fetch('https://flurly.com/api/payment/my_product/abcdefg')
  .then(r => r.json())
  .then(r => {
    if (r.payment_status === "paid") {
      give_customer_product(r.customer_name, r.customer_email);
    } else {
      throw_not_paid_error();
    }
  })

An example API response might look as follows:

{
  "payment_status": "paid",
  "product_url": "example_product",
  "customer_email": "example_seller@gmail.com",
  "customer_phone": "+15554443333",
  "customer_name": "Jon Doe",
  "nonce": "123"
}