An unofficial Go SDK for integrating with the Payriff payment gateway.
go get github.com/kerimovok/payriff-sdk-go
Initialize the SDK with your merchant credentials:
import "github.com/kerimovok/payriff-sdk-go/payriff"
// Uses environment variables and default values:
// - PAYRIFF_SECRET_KEY for secret key
// - PAYRIFF_CALLBACK_URL for callback URL
// - "AZ" for language
// - "AZN" for currency
// - "https://api.payriff.com/api/v3" for base URL
sdk := payriff.NewSDK(payriff.Config{})
import "github.com/kerimovok/payriff-sdk-go/payriff"
sdk := payriff.NewSDK(payriff.Config{
BaseURL: "https://api.payriff.com/api/v3",
SecretKey: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
DefaultCallbackURL: "https://example.com/webhook",
DefaultLanguage: payriff.LanguageEN,
DefaultCurrency: payriff.CurrencyUSD,
})
Create a new payment order:
order, err := sdk.CreateOrder(payriff.CreateOrderRequest{
Amount: 10.99,
Description: "Product purchase",
CardSave: false,
})
order, err := sdk.CreateOrder(payriff.CreateOrderRequest{
Amount: 10.99,
Description: "Product purchase",
CardSave: false,
Operation: payriff.OperationPurchase,
Language: payriff.LanguageEN,
Currency: payriff.CurrencyUSD,
CallbackURL: "https://example.com/custom-webhook",
})
Retrieve details about an existing order:
orderInfo, err := payriff.GetOrderInfo("ORDER_ID")
Refund a completed payment:
refund, err := payriff.Refund(payriff.RefundRequest{
OrderID: "ORDER_ID",
Amount: 10.99,
})
Complete a pre-authorized payment:
err := payriff.Complete(payriff.CompleteRequest{
OrderID: "ORDER_ID",
Amount: 10.99,
})
Process payment using saved card details:
autoPay, err := payriff.AutoPay(payriff.AutoPayRequest{
CardUUID: "CARD_UUID",
Amount: 10.99,
Description: "Subscription renewal",
})
autoPay, err := payriff.AutoPay(payriff.AutoPayRequest{
CardUUID: "CARD_UUID",
Amount: 10.99,
Currency: payriff.CurrencyUSD,
Description: "Subscription renewal",
CallbackURL: "https://example.com/webhook",
Operation: payriff.OperationPurchase,
})
MIT
Contributions are welcome! Please feel free to submit a Pull Request.