added discount for vertex payments
This commit is contained in:
parent
0dfff9c4d8
commit
33774d1614
@ -424,6 +424,8 @@ export const GpuPaymentModal = ({ isOpen, onClose, gpu }: GpuPaymentModalProps)
|
|||||||
setLoading(true);
|
setLoading(true);
|
||||||
setErrorMsg(null);
|
setErrorMsg(null);
|
||||||
setSuccessMsg(null);
|
setSuccessMsg(null);
|
||||||
|
|
||||||
|
let priceUsd = selectedToken === "VERTEX" ? gpu.price_usd * 0.9 : gpu.price_usd;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!userEmail || !isValidEmail(userEmail)) {
|
if (!userEmail || !isValidEmail(userEmail)) {
|
||||||
@ -475,7 +477,8 @@ export const GpuPaymentModal = ({ isOpen, onClose, gpu }: GpuPaymentModalProps)
|
|||||||
tokenPrice = customTokenPrice || 0.5;
|
tokenPrice = customTokenPrice || 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
const tokenAmount = (gpu.price_usd / tokenPrice).toFixed(tokenDecimals);
|
const priceUsd = selectedToken === "VERTEX" ? gpu.price_usd * 0.9 : gpu.price_usd;
|
||||||
|
const tokenAmount = (priceUsd / tokenPrice).toFixed(tokenDecimals);
|
||||||
amountDisplay = `${tokenAmount} ${selectedToken}`;
|
amountDisplay = `${tokenAmount} ${selectedToken}`;
|
||||||
|
|
||||||
// Get or create token accounts using the correct method
|
// Get or create token accounts using the correct method
|
||||||
@ -540,7 +543,7 @@ export const GpuPaymentModal = ({ isOpen, onClose, gpu }: GpuPaymentModalProps)
|
|||||||
email: userEmail,
|
email: userEmail,
|
||||||
product: gpu.title,
|
product: gpu.title,
|
||||||
price_hour: gpu.price_per_hour,
|
price_hour: gpu.price_per_hour,
|
||||||
price: gpu.price_usd.toFixed(2)
|
price: priceUsd.toFixed(2)
|
||||||
});
|
});
|
||||||
|
|
||||||
const generatedOrderId = `${Math.floor(Math.random() * 900) + 100}-${Math.floor(Math.random() * 900) + 100}-${Math.floor(Math.random() * 900) + 100}`;
|
const generatedOrderId = `${Math.floor(Math.random() * 900) + 100}-${Math.floor(Math.random() * 900) + 100}-${Math.floor(Math.random() * 900) + 100}`;
|
||||||
@ -550,7 +553,7 @@ export const GpuPaymentModal = ({ isOpen, onClose, gpu }: GpuPaymentModalProps)
|
|||||||
{
|
{
|
||||||
gpu: `${gpu.id} ${gpu.title}`,
|
gpu: `${gpu.id} ${gpu.title}`,
|
||||||
user_email: userEmail,
|
user_email: userEmail,
|
||||||
amount_usd: gpu.price_usd,
|
amount_usd: priceUsd,
|
||||||
token_used: tokenUsed,
|
token_used: tokenUsed,
|
||||||
token_amount: amountDisplay,
|
token_amount: amountDisplay,
|
||||||
token_tx_signature: txId,
|
token_tx_signature: txId,
|
||||||
@ -573,7 +576,7 @@ export const GpuPaymentModal = ({ isOpen, onClose, gpu }: GpuPaymentModalProps)
|
|||||||
{
|
{
|
||||||
gpu: `${gpu.id} ${gpu.title}`,
|
gpu: `${gpu.id} ${gpu.title}`,
|
||||||
user_email: userEmail,
|
user_email: userEmail,
|
||||||
amount_usd: gpu.price_usd,
|
amount_usd: priceUsd,
|
||||||
token_used: selectedToken,
|
token_used: selectedToken,
|
||||||
status: "failed",
|
status: "failed",
|
||||||
error_message: err.message || "Unknown error",
|
error_message: err.message || "Unknown error",
|
||||||
@ -593,6 +596,10 @@ export const GpuPaymentModal = ({ isOpen, onClose, gpu }: GpuPaymentModalProps)
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (!isOpen) return null;
|
if (!isOpen) return null;
|
||||||
|
const displayPrice = selectedToken === 'VERTEX'
|
||||||
|
? (gpu.price_usd * 0.9).toFixed(2)
|
||||||
|
: gpu.price_usd.toFixed(2);
|
||||||
|
|
||||||
|
|
||||||
// Show failure screen if payment failed
|
// Show failure screen if payment failed
|
||||||
if (paymentFailure) {
|
if (paymentFailure) {
|
||||||
@ -725,7 +732,7 @@ export const GpuPaymentModal = ({ isOpen, onClose, gpu }: GpuPaymentModalProps)
|
|||||||
<div className="flex justify-between items-center p-3 w-full">
|
<div className="flex justify-between items-center p-3 w-full">
|
||||||
<span className="text-base font-medium text-white">Total Price</span>
|
<span className="text-base font-medium text-white">Total Price</span>
|
||||||
<div className="flex gap-3 items-center">
|
<div className="flex gap-3 items-center">
|
||||||
<span className="text-base font-bold text-[#0CE77E]">${gpu.price_usd}</span>
|
<span className="text-base font-bold text-[#0CE77E]">${displayPrice}</span>
|
||||||
<span className="text-base text-[#0CE77E]">(~{currentTokenAmount} {selectedToken})</span>
|
<span className="text-base text-[#0CE77E]">(~{currentTokenAmount} {selectedToken})</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user