Dolla provides a wrapper over Apple's app store receipt verification service in Elixir.
It aims to be relatively thin, giving you structs to play with instead of having to deal withe logic and errors yourself.
If available in Hex, the package can be installed as:
- Add dolla to your list of dependencies in
mix.exs
:
def deps do
[{:dolla, "~> 0.3.0"}]
end
- Ensure dolla is started before your application:
def application do
[applications: [:dolla]]
end
- If you're verifying receipts with recurring subscriptions, configure the secret in your dev.exs and prod.exs respectively
config :dolla, :secret, "YOUR_SECRET"
Once you have your base64 encoded receipt data (see Apple's docs for more information), just pass them to Dolla
.
iex> Dolla.verify("A MASSIVE BUNCH OF BASE64")
{:ok, %Dolla.Response{status: 0, receipt: %Dolla.Receipt{...}}...}
Dolla returns a tuple, so you're probably going to want to match on that. If you
get :ok
as the first element in the tuple, then your receipt has successfully
validated.