Quickstart#

Dependencies#

This module requires API key to function. You may subscribe a free API key at https://www.fraudlabspro.com

Installation#

Install this module using the command below:

go get github.com/fraudlabspro/fraudlabspro-go

Sample Codes#

Validate Order#

You can validate your order as below:

package main

import (
	"github.com/fraudlabspro/fraudlabspro-go/fraudlabspro"
	"fmt"
)

func main() {
	apikey := "YOUR_API_KEY"

	config, err := fraudlabspro.OpenConfiguration(apikey)

	if err != nil {
		fmt.Print(err)
		return
	}

	flp, err := fraudlabspro.OpenOrder(config)

	if err != nil {
		fmt.Print(err)
		return
	}

	params := make(map[string]string)

	params["ip"] = "146.112.62.105"

	params["user_order_id"] = "67398"
	params["currency"] = "USD"
	params["amount"] = "79.89"
	params["quantity"] = "1"
	params["payment_gateway"] = "Gateway To Bliss"
	params["payment_mode"] = fraudlabspro.PaymentMethodCreditCard

	params["number"] = "4556553172971283"

	params["first_name"] = "Hector"
	params["last_name"] = "Henderson"
	params["email"] = "hh5566@gmail.com"
	params["user_phone"] = "561-628-8674"
	params["bill_addr"] = "1766 Powder House Road"
	params["bill_city"] = "West Palm Beach"
	params["bill_state"] = "FL"
	params["bill_zip_code"] = "33401"
	params["bill_country"] = "US"

	params["ship_first_name"] = "Hector"
	params["ship_last_name"] = "Henderson"
	params["ship__addr"] = "4469 Chestnut Street"
	params["ship_city"] = "Tampa"
	params["ship_state"] = "FL"
	params["ship_zip_code"] = "33602"
	params["ship_country"] = "US"

	res, err := flp.Validate(params)

	fmt.Printf("%+v\n", res)
}

Get Transaction#

You can get the details of a transaction as below:

package main

import (
	"github.com/fraudlabspro/fraudlabspro-go/fraudlabspro"
	"fmt"
)

func main() {
	apikey := "YOUR_API_KEY"

	config, err := fraudlabspro.OpenConfiguration(apikey)

	if err != nil {
		fmt.Print(err)
		return
	}

	flp, err := fraudlabspro.OpenOrder(config)

	if err != nil {
		fmt.Print(err)
		return
	}

	res, err := flp.GetTransaction("20250827-ZZZZZZ") // replace with your actual FraudLabs Pro transaction ID

	
	if err != nil {
		fmt.Print(err)
		return
	}

	fmt.Printf("%+v\n", res)
}

Feedback#

You can approve, reject or blacklist a transaction as below:

package main

import (
	"github.com/fraudlabspro/fraudlabspro-go/fraudlabspro"
	"fmt"
)

func main() {
	apikey := "YOUR_API_KEY"

	config, err := fraudlabspro.OpenConfiguration(apikey)

	if err != nil {
		fmt.Print(err)
		return
	}

	flp, err := fraudlabspro.OpenOrder(config)

	if err != nil {
		fmt.Print(err)
		return
	}

	params := make(map[string]string)

	params["id"] = "20250827-ZZZZZZ" // replace with your actual FraudLabs Pro transaction ID
	params["action"] = fraudlabspro.OrderActionReject
	
	res, err := flp.Feedback(params)

	if err != nil {
		fmt.Print(err)
		return
	}

	fmt.Printf("%+v\n", res)
}

Send SMS Verification#

You can send SMS verification for authentication purpose as below:

package main

import (
	"github.com/fraudlabspro/fraudlabspro-go/fraudlabspro"
	"fmt"
)

func main() {
	apikey := "YOUR_API_KEY"

	config, err := fraudlabspro.OpenConfiguration(apikey)

	if err != nil {
		fmt.Print(err)
		return
	}

	sms, err := fraudlabspro.OpenSmsVerification(config)

	if err != nil {
		fmt.Print(err)
		return
	}

	params := make(map[string]string)

	params["tel"] = "+11111111111111" // replace with the actual recipient mobile phone number
	params["country_code"] = "XX" // replace with the actual recipient country
	params["mesg"] = "Hello, your OTP is <otp>." // custom message

	res, err := sms.SendSms(params)

	if err != nil {
		fmt.Print(err)
		return
	}

	fmt.Printf("%+v\n", res)
}

Get SMS Verification Result#

You can verify the OTP sent by Fraudlabs Pro SMS verification API as below:

package main

import (
	"github.com/fraudlabspro/fraudlabspro-go/fraudlabspro"
	"fmt"
)

func main() {
	apikey := "YOUR_API_KEY"

	config, err := fraudlabspro.OpenConfiguration(apikey)

	if err != nil {
		fmt.Print(err)
		return
	}

	sms, err := fraudlabspro.OpenSmsVerification(config)

	if err != nil {
		fmt.Print(err)
		return
	}

	params := make(map[string]string)

	params["tran_id"] = "XXXXXXXXXXXXXXXXXXXX" // replace with the actual transaction ID returned by the SendSms function
	params["otp"] = "000000" // replace with the actual OTP received by the recipient mobile phone

	res, err := sms.VerifySms(params)

	
	if err != nil {
		fmt.Print(err)
		return
	}

	fmt.Printf("%+v\n", res)
}

Report Payment Gateway Feedback#

You can report payment gateway feedback as below:

package main

import (
	"github.com/fraudlabspro/fraudlabspro-go/fraudlabspro"
	"fmt"
)

func main() {
	apikey := "YOUR_API_KEY"

	config, err := fraudlabspro.OpenConfiguration(apikey)

	if err != nil {
		fmt.Print(err)
		return
	}

	pay, err := fraudlabspro.OpenPayment(config)

	if err != nil {
		fmt.Print(err)
		return
	}

	params := make(map[string]string)

	params["email"] = "hh5566@gmail.com"
	params["status"] = "declined"
	params["message"] = "Call Issuer. Pick Up Card. (2047)"
	params["fraudlabspro_id"] = "20260131-O263CR"

	res, err := pay.Feedback(params)

	if err != nil {
		fmt.Print(err)
		return
	}

	fmt.Printf("%+v\n", res)
}