Spreedly’s pricing is based on API usage and endpoints rather than transactions and cards stored, which was our legacy pricing model. We know you probably have some questions about this API-based model, so we created this guide to address any uncertainty you may have, and provide some tips on how to get the most out of these changes and streamline your transaction flow.
As always, if you have any questions about our pricing or would like to speak with someone about the best practices for optimizing your technical flow, write to us, and we’ll be happy to help.
When will my pricing change?
Current Spreedly customers are able to remain on their plan for the time being, and Spreedly will notify customers well in advance of any expectations of deadlines for migrating to the new pricing. However, you can switch over to new pricing at any time, and we encourage you to get in touch with our team to go over pricing quotes and get suggestions based on your usage.
Are test transactions free?
Under the new pricing, paid Spreedly subscribers will pay per-transaction fees for test transactions as well as production transactions. For load testing, we recommend simulating the load rather than using the Spreedly test gateway for load testing. For more information, you can visit our .
How much will card storage be?
Card storage is no longer included in monthly fees with Spreedly, and there is no limit to the amount of cards you can store at no cost. Nothing has changed about our service, and you can rest assured that your customers’ card details are secure in our PCI Level 1 compliant vault.
Has Account Updater changed?
We haven’t made any changes to how we bill Account Updater, or to how you can opt-in to the service. You’ll still only be charged for the cards that were updated, and you can change your opt-in status at any time. To learn more about Account Updater, please check out this guide.
How can I make my API calls more efficiently?
Each API request can take 100-400 milliseconds - that’s without considering gateway latency, which can be as high as 60 seconds. Reducing the amount of API calls made in the transaction process could shave seconds or even minutes off of your customers’ checkout experience, creating a more efficient (and cost-effective) workflow.
Over the last year, we looked at the most common ways users interact with our API, and compiled some tips to help reduce the amount of API calls made to Spreedly and streamline your workflow:
- Log important metadata details server-side in case you need to access them later. Repeatedly calling the list and show API calls for reconciliation can be avoided by systematically logging transaction responses when they are first performed. When you create a payment method or perform a transaction, Spreedly returns information in the response body that includes data like the card brand, first six and last four digits of the card, customer name, address and more. If you need that data, it is more effective to log it at the time of the corresponding transaction response than to make separate API calls every time it is needed.
- Use the retain_on_success flag to store payment methods. Performing an authorize, capture, verify, or another transaction call with this flag turned on will store the card in one API call, whereas making a separate call just to retain a card will be counted as an additional API call. This also bypasses the need to use the `add payment method` call.
- If your flow uses Authorize + Capture, consider trying a single-transaction flow like a Purchase call. Businesses that ship physical goods may want a confirmed successful authorize to ship a product. However, other users may benefit from trimming down the transaction process and reducing the number of API calls made.
- Make sure you aren’t creating a new gateway before every transaction. Gateways only need to be created once, and you can reference the already-created gateway token in the future to make a purchase.
- Turn off AVS requirements at your gateway, if applicable. You’ll eliminate the need to update a user’s entire payment method record in order to make successful transactions, just because their address associated with the card changes. You may want to discuss this approach with your gateway first, as passing an incorrect address could affect your transaction success rate.
- Send API calls to Spreedly in proper JSON/XML formatting. Every day, we see thousands of authenticated API calls passing through Spreedly that aren’t formatted with JSON or XML. Be sure that you’re adhering to conventions when you’re interacting with the API.
- Increase your pagination limit when using the List call. When you use the list call, the default number of records displayed is 20. If you’re planning to paginate through many results, set the number of records returned to the maximum (100) as each pagination call will count as a billable API call.
- Use Spreedly’s debugging UI in your Dashboard to pull transaction transcripts and response bodies for troubleshooting. Your Dashboard provides the resources you need to debug your transaction and reach out to your gateway/Spreedly to address any problems.
- Keep track of automated testing scripts running in the background. Test transactions on paid Spreedly accounts will count as a billable API call, so take inventory of any testing you’re currently performing in order to reduce the amount of test transactions counting towards your monthly bill. Check out our for more advice.
- Enable number formatting on iFrame or Express. Number formatting prevents your users from entering numbers that have more/fewer digits than expected for their card type. It can be helpful in ensuring that you’re only storing or attempting transactions with valid card data.
- Secure your access secrets by never sharing them through unsecured channels like unencrypted e-mails or chats. By protecting the security of your Spreedly account, you can take control over how many API calls are being made through your organization.
- Stay informed on Spreedly uptime by subscribing to updates on our StatusPage or ping core.spreedly.com with an unauthenticated request. With status.spreedly.com, you can receive e-mail, text, Twitter, and Atom/RSS notifications if there is an incident with Spreedly. Our StatusPage updates also populate to our Support Twitter, and you can turn on notifications to be alerted of any activity from us there. You can also ping our core API at core.spreedly.com with an unauthenticated call such as the call and track whether or not Spreedly provides a response.
NOTE: This guide is not for legacy customers only who are on api-based pricing. If you are unsure which plan you are on, please log into ID and check your recent invoices linked from the Billing tab or reach out to firstname.lastname@example.org.