iamraphson / react-paystack

ReactJS library for implementing paystack payment gateway
https://www.npmjs.com/package/react-paystack
MIT License
444 stars 158 forks source link

close paystack popup #82

Open AltaRosso opened 1 year ago

AltaRosso commented 1 year ago

First of all, great package. Thanks!

I have a small problem and I am struggling to find a way around it. I am using the PaystackButton, after the popup opens, the background color is white and the users will not be able to see the close icon on the top right corner of the popup to CLOSE the popup if ever they choose not to continue with payment.

Could you please tell me a work around this or if possible, change it on your side.

Much appreciated, Thanks. close popup

usmangurowa commented 8 months ago

@AltaRosso were u able to find a workaround?

usmangurowa commented 8 months ago

This issue was open almost a year ago, i think it should be given some attention.

AltaRosso commented 8 months ago

@usmangurowa I don't remember how I did it exactly but if I remember correctly, I changed the background colour of that page. Try that.

usmangurowa commented 8 months ago

Not sure i follow, changed the background color of the current page i am using the paystack on? Care to share like a code snippet or something?

AltaRosso commented 8 months ago

I'll try to retrieve the project. I stopped working on it, a year ago. I'll share once I get it up and running.

usmangurowa commented 8 months ago

Okay, thanks.

AltaRosso commented 8 months ago

@usmangurowa Could you please share your code snippet. It might help jog my memory.

I managed to get the project running - see screenshot: Screenshot 2024-02-22 231528

AltaRosso commented 8 months ago

@usmangurowa I think I got it - it seems like I ended up using the API https://paystack.com/docs/api/transaction/#initialize

const params = JSON.stringify({ //other fields ... email: user.email, callback_url: "http://localhost:3000/paystack/payment", }); await axios.post("https://api.paystack.co/transaction/initialize", params, { headers, }) .then(async (response) => { console.log(response.data.data); })

The response includes the authorization url, which is the checkout page.

Let me know if this works for you.

usmangurowa commented 8 months ago

@AltaRosso thanks man, will give it a try.