const { TransFiPaymentAPI } = require("transfi-checkout");
const client = new TransFiPaymentAPI({
publicKey: process.env.TRANSFI_PUBLIC_KEY,
secretKey: process.env.TRANSFI_SECRET_KEY,
});
client
.createPaymentInvoice({
paymentLinkId: "your-payment-link-id",
amount: "100",
currency: "USD",
productDetails: {
name: "Premium Annual Plan",
description: "12-month access to all premium features",
imageUrl: "https://example.com/product-image.png",
},
successRedirectUrl: "https://yourapp.com/payment/success",
failureRedirectUrl: "https://yourapp.com/payment/failure",
})
.then((paymentUrl) => {
console.log("Redirect customer to:", paymentUrl);
})
.catch((error) => {
console.error("Error:", error.message);
});
from transfi import TransFiPaymentAPI, TransFiError
from transfi.types import PaymentInvoiceRequest, ProductDetails
api = TransFiPaymentAPI(
public_key="YOUR_PUBLIC_KEY",
secret_key="YOUR_SECRET_KEY",
)
request = PaymentInvoiceRequest(
payment_link_id="your-payment-link-id",
amount="100",
currency="USD",
product_details=ProductDetails(
name="Premium Annual Plan",
description="12-month access to all premium features",
image_url="https://example.com/product-image.png",
),
success_redirect_url="https://yourapp.com/payment/success",
failure_redirect_url="https://yourapp.com/payment/failure",
)
try:
payment_url = api.create_payment_invoice(request)
print("Redirect customer to:", payment_url)
except TransFiError as e:
print("Error:", e)
paymentInvoiceRequest request = paymentInvoiceRequest.builder()
.paymentLinkId("YOUR_PAYMENT_LINK_ID")
.amount("100.00")
.currency("USD")
.productDetails(productDetails.builder()
.name("Premium Subscription")
.description("Monthly subscription plan")
.build())
.individual(individual.builder()
.firstName("John")
.lastName("Doe")
.email("[email protected]")
.phone("1234567890")
.phoneCode("+1")
.country("US")
.build())
.successRedirectUrl("https://yoursite.com/success")
.failureRedirectUrl("https://yoursite.com/failure")
.customerOrderId("order-" + System.currentTimeMillis())
.build();
try {
String paymentUrl = api.createPaymentInvoice(request);
System.out.println("Payment URL: " + paymentUrl);
// Redirect user to paymentUrl to complete payment
} catch (transfiError e) {
System.err.println("Error: " + e.getMessage());
System.err.println("Status Code: " + e.getStatusCode());
System.err.println("Response: " + e.getResponseData());
}
use TransFi\TransFiPaymentAPI;
use TransFi\TransFiError;
use TransFi\PaymentInvoiceRequest;
use TransFi\Individual;
use TransFi\ProductDetails;
$api = new TransFiPaymentAPI([
'publicKey' => 'YOUR_PUBLIC_KEY',
'secretKey' => 'YOUR_SECRET_KEY',
]);
$product = new ProductDetails('Premium Plan');
$product->description = 'Monthly subscription';
$individual = new Individual('John', 'Doe', '[email protected]');
$individual->phone = '1234567890';
$individual->phoneCode = '+1';
$individual->country = 'US';
$paymentData = new PaymentInvoiceRequest(
'LINK_ID',
'100',
'USD',
'https://example.com/success',
'https://example.com/failure'
);
$paymentData->productDetails = $product;
$paymentData->individual = $individual;
$paymentData->customerOrderId = 'order-001';
try {
$paymentUrl = $api->createPaymentInvoice($paymentData);
echo 'Checkout URL: ' . $paymentUrl . PHP_EOL;
} catch (TransFiError $e) {
echo 'API Error : ' . $e->getMessage() . PHP_EOL;
echo 'Status Code : ' . $e->getStatusCode() . PHP_EOL;
echo 'Response : ' . json_encode($e->getResponseData(), JSON_PRETTY_PRINT) . PHP_EOL;
}