{"id":20492138,"url":"https://github.com/zotonic/zotonic_mod_payment","last_synced_at":"2026-04-19T11:36:07.436Z","repository":{"id":145694675,"uuid":"433752837","full_name":"zotonic/zotonic_mod_payment","owner":"zotonic","description":"Zotonic module for processing payments using Payment Service Providers.","archived":false,"fork":false,"pushed_at":"2025-06-13T13:55:59.000Z","size":83,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-13T14:46:20.738Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zotonic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-01T08:58:57.000Z","updated_at":"2025-06-13T13:54:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"31053b7f-fefe-43a4-92f0-98e91cd08aa9","html_url":"https://github.com/zotonic/zotonic_mod_payment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zotonic/zotonic_mod_payment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zotonic%2Fzotonic_mod_payment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zotonic%2Fzotonic_mod_payment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zotonic%2Fzotonic_mod_payment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zotonic%2Fzotonic_mod_payment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zotonic","download_url":"https://codeload.github.com/zotonic/zotonic_mod_payment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zotonic%2Fzotonic_mod_payment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32005821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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-11-15T17:27:50.780Z","updated_at":"2026-04-19T11:36:07.424Z","avatar_url":"https://github.com/zotonic.png","language":"Erlang","funding_links":[],"categories":[],"sub_categories":[],"readme":"Payments module for Zotonic\n===========================\n\nBase module for handling payments. Uses Payment Service Provider (PSP) modules for interfacing with\nthe payment providers.\n\n\nPayment form\n------------\n\nTo add a payment form to your website, make a form with the following postback:\n\n```django\n{% wire id=\"mypayment\"\n        type=\"submit\"\n        postback={payment key=\"web-donation\"}\n        delegate=`mod_payment\n%}\n\u003cform id=\"mypayment\" method=\"post\" action=\"postback\"\u003e\n    ...\n\u003c/form\u003e\n```\n\nOptional arguments of the payment postback:\n\n * `key` - an identification of the payment type, also shown on the overview in the admin\n * `amount` - the amount to be paid, overrules the `amount` form field\n * `currency` - the currency for the amount, overrules `currency` form field (defaults to EUR)\n * `is_recurring_start` - if the payment is recurring, overrules `is_recurring_start` form field (defaults to false)\n * `user_id` - the id of the user the payment is for (defaults to the current user)\n * `description` - the description for the ordered goods/services (HTML)\n * `default_description` - used as the description if both `description` and `q.description` are empty\n * All other arguments are saved as additional properties, which can be overruled with form fields\n\nRequired fields for the payment form:\n\n * `amount` - if there is no amount in the postback, an integer of floating point number\n * `email` - email address (defaults to current user's)\n * `name_surname` - surname, required if there is no user_id (defaults to current user's)\n\nOptional fields for the payment form:\n\n * `currency` - if there is no currency in the postback, the used currency, defaults to `EUR`\n * `is_recurring_start` - flag if the payment should be a recurring payment, defaults to `false` (see section below)\n * `name_first` - first name (defaults to current user's)\n * `phone` - phone number (defaults to current user's)\n * `address_street_1` - First line of address (defaults to current user's)\n * `address_street_2` - Second line of address (defaults to current user's)\n * `address_city` - City of address (defaults to current user's)\n * `address_state` - State of address (defaults to current user's)\n * `address_postcode` - Postcode of address (defaults to current user's)\n * `address_country` - Country of address, should be two letter ISO code (defaults to current user's)\n * `description` - Description of what has been ordered, could also be a referral identifier\n * `note` - Optional user defined note\n * `reference` - Optional user defined reference number, appended to the description.\n\n\nOther form fields will be stored as-is in the props of the payment record.\n\n\nSubscriptions / Recurring Payments\n----------------------------------\n\nSubscriptions are recurring payments.\nAll subscriptions *MUST* have an user_id attached.\n\nThe period of the recurring payment (monthly / yearly) is user-defined and should be explained\nto the user in explanatory texts. The used PSP should know about this period as well.\n\nThe module `mod_payment` only initiates the first payment. Any subsequent payments should be initiated\nby the used PSP.\n\nAny user can have at most one (1) subscription.\n\nThe subscription can be canceled with the following postback:\n\n```django\n{% wire id='cancel-subscription-button'\n        postback={cancel_recurring}\n        delegate=`mod_payment`\n%}\n```\n\n\nPayment Service Provider Modules\n--------------------------------\n\nThis module provides the central payment administration. Interfacing with Payment Service Providers (PSP)\nis done using PSP specific modules.\n\nPSP specific modules are being implemented for Stripe, Mollie and Buckaroo:\n\n * https://github.com/zotonic/zotonic_mod_payment_stripe\n * https://github.com/zotonic/zotonic_mod_payment_mollie\n * https://github.com/driebit/zotonic_mod_payment_buckaroo\n\nPlease check the modules for PSP specific configurations.\n\n\nConfiguration\n-------------\n\nThere are several configuration keys:\n\n * `mod_payment.description` default description for the payments. Can be overruled in the payment form or postback.\n * `mod_payment.amount` default amount for payments, must be an integer value.\n * `mod_payment.currency` default currency for payments, defaults to `EUR`.\n * `mod_payment.email_paid` one of more email addresses to send an email for every payment that is set to `paid`.\n * `mod_payment.delete_after_days` if set and greater than 1, then payments not modified for this number of days\n   are deleted. All payment data and payment logs are deleted. This is useful to retain as little personal information\n   for as short as needed (GDPR compliance).\n\nCheck also the configuration keys for the PSP specific modules.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzotonic%2Fzotonic_mod_payment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzotonic%2Fzotonic_mod_payment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzotonic%2Fzotonic_mod_payment/lists"}