{"id":25672952,"url":"https://github.com/grvty-labs/ex_openpay","last_synced_at":"2025-10-20T07:53:14.463Z","repository":{"id":62429220,"uuid":"111945920","full_name":"grvty-labs/ex_openpay","owner":"grvty-labs","description":"An Elixir library for working with OpenPay","archived":false,"fork":false,"pushed_at":"2018-08-29T21:26:02.000Z","size":61,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-13T13:16:56.858Z","etag":null,"topics":["elixir","elixir-library","ex-openpay","grvty","hex","openpay","openpay-api","phoenix"],"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/grvty-labs.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":"2017-11-24T18:23:57.000Z","updated_at":"2020-06-09T16:47:49.000Z","dependencies_parsed_at":"2022-11-01T20:03:39.253Z","dependency_job_id":null,"html_url":"https://github.com/grvty-labs/ex_openpay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grvty-labs%2Fex_openpay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grvty-labs%2Fex_openpay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grvty-labs%2Fex_openpay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grvty-labs%2Fex_openpay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grvty-labs","download_url":"https://codeload.github.com/grvty-labs/ex_openpay/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250379807,"owners_count":21420841,"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","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":["elixir","elixir-library","ex-openpay","grvty","hex","openpay","openpay-api","phoenix"],"created_at":"2025-02-24T12:44:03.024Z","updated_at":"2025-10-20T07:53:09.429Z","avatar_url":"https://github.com/grvty-labs.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Openpay for Elixir [![Build Status](https://img.shields.io/badge/build-passed-brightgreen.svg)](https://grvtylabs.org/grvty-labs/openpay) [![Hex.pm](https://img.shields.io/badge/hex-v0.1.1-orange.svg)](https://hex.pm/packages/ex_openpay) [![Hex Docs](https://img.shields.io/badge/hex-docs-9768d1.svg)](https://hexdocs.pm/ex_openpay) [![Hex.pm](https://img.shields.io/hexpm/dt/ex_openpay.svg?maxAge=2592000)](https://hex.pm/packages/ex_openpay) [![Coverage Status](https://coveralls.io/repos/github/grvty-labs/openpay/badge.svg?branch=master)](https://coveralls.io/github/grvty-labs/openpay?branch=master)\n\nAn Elixir library for working with [Openpay](http://openpay.mx/).\n\nFeatures:\n* manage customers [ExOpenpay.Customers](https://github.com/grvty-labs/ex_openpay/blob/master/lib/openpay/customers.ex)\n* manage tokens for credit card and bank account [ExOpenpay.Cards](https://github.com/grvty-labs/ex_openpay/blob/master/lib/openpay/cards.ex)\n* manage/capture charges with or without an existing Customer [ExOpenpay.Charges](https://github.com/grvty-labs/ex_openpay/blob/master/lib/openpay/charges.ex)\n\n## Openpay API\n\nWorks with API version 2017-11-24\n\n## Usage\n\nInstall the dependency:\n\n```ex\n{:ex_openpay, \"~\u003e 0.1.1\"}\n```\n\nNext, add to your applications:\n\n```ex\ndefp application do\n  extra_applications: [:ex_openpay]\nend\n```\n\n## Configuration\n\nTo make API calls, it is necessary to configure your Openpay Api Key and your Merchant ID\n\n```ex\nuse Mix.Config\n\nconfig :ex_openpay, api_key: \"YOUR API KEY\"\nconfig :ex_openpay, merchant_id: \"YOUR MERCHANT ID\"\n```\n\nTo customize the underlying HTTPoison library, you may optionally add an `:httpoison_options` key to the ex_openpay configuration.  For a full list of configuration options, please refer to the [HTTPoison documentation](https://github.com/edgurgel/httpoison).\n\n```ex\nconfig :ex_openpay, httpoison_options: [timeout: 10000, recv_timeout: 10000, proxy: {\"proxy.mydomain.com\", 8080}]\n```\n\n## Testing\nIf you start contributing and you want to run mix test, first you need to export OPENPAY_API_KEY and OPENPAY_MERCHANT_ID environment variables in the same shell as the one you will be running mix test in. All tests have the @tag disabled: false and the test runner is configured to ignore disabled: true. This helps to turn tests on/off when working in them. Most of the tests depends on the order of execution (test random seed = 0) to minimize runtime. I've tried having each tests isolated but this made it take ~10 times longer.\n\n```\nexport OPENPAY_API_KEY=\"yourkey\"\nexport OPENPAY_MERCHANT_ID=\"yourmerchantid\"\nmix test\n```\n\n## The API\n\nI've tried to make the API somewhat comprehensive and intuitive. If you'd like to see things in detail be sure to have a look at the tests - they show (generally) the way the API goes together.\n\nIn general, if Openpay requires some information for a given API call, you'll find that as part of the arity of the given function. For instance if you want to delete a Customer, you'll find that you *must* pass the id along:\n\n```ex\n{:ok, result} = ExOpenpay.Customers.delete \"some_id\"\n```\n\n## Authors\n\n* Yamil Díaz Aguirre (\u003cyamilquery@gmail.com\u003e)\n\n## Contributing\n\nFeedback, feature requests, and fixes are welcomed and encouraged.  Please make appropriate use of [Issues](https://github.com/grvty-labs/openpay/issues) and [Pull Requests](https://github.com/grvty-labs/openpay/pulls).  All code should have accompanying tests.\n\n## License\n\nPlease see [LICENSE](LICENSE) for licensing details.\n\n---\nMade with ❤️ by:\n\n\n[![StackShare][stack-shield]][stack-tech]\n\n\n[![GRVTY][logo]](http://grvty.digital)\n\n[logo]: http://grvty.digital/images/logos/repos-logo-1.png?raw=true \"GRVTY\"\n\n[stack-shield]: http://img.shields.io/badge/tech-stack-0690fa.svg?style=flat\n[stack-tech]: http://stackshare.io/grvty/grvty\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrvty-labs%2Fex_openpay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrvty-labs%2Fex_openpay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrvty-labs%2Fex_openpay/lists"}