{"id":18073422,"url":"https://github.com/blakewilliams/elixir-stripe","last_synced_at":"2025-08-17T21:15:39.001Z","repository":{"id":14590809,"uuid":"17307558","full_name":"BlakeWilliams/Elixir-Stripe","owner":"BlakeWilliams","description":"A work in progress wrapper around the Stripe API in Elixir.","archived":false,"fork":false,"pushed_at":"2014-03-06T03:52:56.000Z","size":192,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-12T06:19:19.378Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BlakeWilliams.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-01T04:22:46.000Z","updated_at":"2022-08-23T08:58:45.000Z","dependencies_parsed_at":"2022-09-22T21:42:01.434Z","dependency_job_id":null,"html_url":"https://github.com/BlakeWilliams/Elixir-Stripe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BlakeWilliams/Elixir-Stripe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlakeWilliams%2FElixir-Stripe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlakeWilliams%2FElixir-Stripe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlakeWilliams%2FElixir-Stripe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlakeWilliams%2FElixir-Stripe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlakeWilliams","download_url":"https://codeload.github.com/BlakeWilliams/Elixir-Stripe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlakeWilliams%2FElixir-Stripe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270907430,"owners_count":24665962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-31T10:06:53.373Z","updated_at":"2025-08-17T21:15:38.978Z","avatar_url":"https://github.com/BlakeWilliams.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stripe\nA work in progress for using Elixir with the Stripe API.\n\nSince this is only a thing wrapper around Stripe everything passed to and returned by\nStripe should be a HashDict.\n\n## Usage\nBefore you do anything you have to set your API token. If you're running the tests\n(they actually hit the API at the moment) you need to set an environment variable called\n`STRIPE_SECRET_KEY` before you run the tests. You can also just modify the test_helper and\npass the key there.\n\n```elixir\nStripe.set_secret(\"Your Secret Here\")\n```\n\n### Creating a Customer\n\n```elixir\nattrs = HashDict.new([\n  email: 'foo@bar.com',\n  description: 'New user'\n])\n\n{:ok, customer} = Stripe.Customer.create(attrs)\nIO.puts HashDict.get(customer, \"email\") # foo@bar.com\n```\n\n### Updating a Customer\n\n```elixir\nattrs = HashDict.new([\n  email: 'foo1@bar.com',\n  description: 'Updated description'\n])\n\n{:ok, customer} = Stripe.Customer.update(\"cus_3aDRxsZH8sTV6F\", attrs)\n```\n\n### Deleting a Customer\n\n```elixir\nid = \"cus_3aDRxsZH8sTV6F\"\n{:ok, message} = Stripe.Customer.delete(id)\n```\n\n### Retrieving a Customer\n\n```elixir\nid = \"cus_3aDRxsZH8sTV6F\"\n{:ok, customer} = Stripe.Customer.retrieve(id)\n```\n\n### Listing Customers\n\n```elixir\n{:ok, customers} = Stripe.Customer.list\ncustomers = HashDict.get(customers, \"data\")\n\nEnum.each customers, fn customer -\u003e\n  IO.puts HashDict.get(customer, \"id\")\nend\n```\n\nAll implemented API methods use the same names as above when applicable except\nCards, Discounts, and Subscriptions which each take a `customer_id` as their\nfirst argument.\n\n## Todo\n\n* Document existing code\n\nThe following parts of the API need to be implemented\n\n* ~~Charges~~\n* ~~Customers~~\n* ~~Cards~~\n* Subscriptions\n* ~~Plans~~\n* Coupons\n* Discounts\n* Invoices\n* Invoice Items\n* Disputes\n* Transfers\n* Recipients\n* Application Fees\n* Account\n* Balance\n* Events\n* ~~Tokens~~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblakewilliams%2Felixir-stripe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblakewilliams%2Felixir-stripe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblakewilliams%2Felixir-stripe/lists"}