export function CreateSkuTransactionPage() {
const { userId, getToken } = useAuth();
const [transactionResult, setTransactionResult] = useState<any>(null);
const {
createSkuTransactionAsync,
data,
isLoading,
isError,
error,
isSuccess
} = useCreateSkuTransaction();
const { data: wallet } = useGetWallet({
params: {
externalUserId: userId || "",
},
getBearerToken: getToken,
});
const handleCreateTransaction = async () => {
if (!wallet || !userId) {
console.error('Wallet or user ID not available');
return;
}
try {
const token = await getToken();
if (!token) {
console.error('No bearer token available');
return;
}
const result = await createSkuTransactionAsync({
params: {
wallet: {
publicKey: wallet.publicKey,
encryptedPrivateKey: wallet.encryptedPrivateKey,
},
skuId: "sku-tl-ATT010",
mxnAmount: 10,
reference: "44559012345",
encryptKey: "123456",
externalUserId: userId,
},
bearerToken: token,
});
setTransactionResult(result);
} catch (error) {
console.error("Error creating SKU transaction:", error);
}
};
return (
<div>
<button onClick={handleCreateTransaction} disabled={isLoading || !wallet}>
{isLoading ? 'Creating...' : 'Create Transaction'}
</button>
{data && <div>Transaction created: {data.id}</div>}
{isError && error && <div>Error: {error.message}</div>}
</div>
);
}