I imagine it needs to be encoded as JSON

No - Stripe takes key/value pairs.

To quote the documentation:
accepts form-encoded request bodies, returns JSON-encoded responses

For a form-encoded request, application/x-www-form-urlencoded is required hence the use of post_form().

The syntax of the call to Stripe works elsewhere in my code. Indeed, the call I am making works provided I don't make another call before it - it is this problem I want help resolving.

I'm unsure if it is an issue with HTTP::Tiny not being able to reuse the header information or an issue with Stripe or something else...

Out of interest, I have tried using the request() method as you suggested.
With the first call still in the code I continue to get a 401 error and the message that I have not supplied an API Key.
If I comment out the first call to Stripe, it accepts the API Key but returns the entire subscription object because it is not accepting the JSON encoded payload.


In reply to Re^2: HTTP::Tiny losing headers for Stripe by Bod
in thread HTTP::Tiny losing headers for Stripe by Bod

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.