@coin-voyage/paykit
Version:
Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.
25 lines (24 loc) • 1.01 kB
JavaScript
import { assert } from "@coin-voyage/shared/utils";
import { PaymentRail } from "@coin-voyage/shared/types";
import { useBackendApi } from "../components/contexts/api";
import { fetchPaymentDetails } from "../lib/api/payment-details";
export function usePayWithCard({ payOrder, setPayOrder, log }) {
const api = useBackendApi();
const payWithCard = async () => {
assert(payOrder != undefined, "PayOrder is required");
const params = {
payorder_id: payOrder.id,
payment_rail: PaymentRail.FIAT,
};
// const paymentDetails = stub as unknown as PaymentDetails
const paymentDetails = await fetchPaymentDetails(api, params, payOrder);
log(`[PAY-WITH-CARD] Created Stripe onramp session: ${JSON.stringify(paymentDetails)}`);
setPayOrder({
...payOrder,
payment: paymentDetails.data,
status: paymentDetails.status,
});
return paymentDetails;
};
return { payWithCard };
}