# My feedback on Rapyd APIs

**URL:** <https://community.rapyd.net/t/my-feedback-on-rapyd-apis/1997>\
**Category:** 👂 Give Feedback\
**Tags:** product-feedback\
**Created:** [June 1, 2022, 4:56pm UTC](https://community.rapyd.net/t/my-feedback-on-rapyd-apis/1997 "2022-06-01T16:56:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![elbourki](https://avatars.discourse-cdn.com/v4/letter/e/e9c0ed/32.png) [@elbourki](https://community.rapyd.net/u/elbourki)\
**Post date:** [June 1, 2022, 4:56pm UTC](https://community.rapyd.net/t/my-feedback-on-rapyd-apis/1997/1 "2022-06-01T16:56:56Z")

</div>

Hey everyone!

Love the work Rapyd is doing to make payments and e-commerce more local. It has enabled me to build [PaymentKit](https://devpost.com/software/paymentkit) with a fraction of the work I’d have to put into building an app of that size.

I’ll be sharing a wishlist and improvements i would like to see after working with multiple Rapyd APIs for the last 4 weeks. But before I get into that, I have to say that my experience has been amazing, I learned a lot and was able to launch my app in record time!

- **Improve API pagination**  
Currently there is no way to know if a resource API has more elements available after the returned set. I suggest adding a boolean `has_more` property that would indicate if there is more data to fetch or if the returned set comprises the end of the list.

- **OAuth authentication flow**  
I currently have to ask merchants for their access and secret key to be able to interact with their Rapyd account. It would be a lot easier for merchants to connect 3rd party apps by simply clicking a connect button and accepting the requested permissions, it would also allow them to review which apps have access and revoke permissions for apps they no longer need.

- **Creating webhooks programmatically**  
To set up a new webhook, developers need to ask merchants to add a webhook via their Rapyd dashboard, something that requires technical skills to understand and could be ignored in the onboarding process. An API endpoint for managing webhooks would be very helpful in this case.

- **Unify Checkout Toolkit scripts**  
Having to use a different script for production/sandbox environments can be tricky, especially in SPAs. I would prefer to use a parameter to specify whether the credentials are for a production account or not when instantiating `RapydCheckoutToolkit`.

- **Checkout Toolkit reference**  
While the [current guide](https://docs.rapyd.net/build-with-rapyd/docs/checkout-toolkit) is quite comprehensive, a complete reference with all the possible methods and events would be very helpful, since the guide for instance doesn’t talk about the `onCheckoutPaymentFailure` event which is needed to handle payment failures.

These features/issues didn’t keep me from building my app but they would be really nice to have. The developer experience was great overall, huge thank you to the whole team behind the API!

Happy to chat more about this or anything else if you want. Cheers!

---

<div class="post-metadata">

**Author:** ![CharlesDorsett](https://sea2.discourse-cdn.com/flex016/user_avatar/community.rapyd.net/charlesdorsett/32/47_2.png) [@CharlesDorsett](https://community.rapyd.net/u/CharlesDorsett)\
**Post date:** [June 2, 2022, 8:59am UTC](https://community.rapyd.net/t/my-feedback-on-rapyd-apis/1997/2 "2022-06-02T08:59:14Z")

</div>

Thanks for the feedback. I will respond to each of your points separately.

**API pagination**

- ‘List Countries’ and ‘List Currencies’ provide the entire list all at once.

- ‘Get Daily Rate’ only produces one item.

- The various ‘List’ and ‘Get Location’ methods all produce one page at a time - you can get successive pages by setting ‘starting\_after’ to be the ID of the location at the end of the previous page. Your suggestion is a good one - I will pass it on to the product managers.

The list of subscription items inside a subscription entry uses the `has_more` feature. When there are more than 3 items, you get a URL where you can download the entire list.
