{"action":"closed","issue":{"url":"https://api.github.com/repos/eventespresso/event-espresso-core/issues/438","repository_url":"https://api.github.com/repos/eventespresso/event-espresso-core","labels_url":"https://api.github.com/repos/eventespresso/event-espresso-core/issues/438/labels{/name}","comments_url":"https://api.github.com/repos/eventespresso/event-espresso-core/issues/438/comments","events_url":"https://api.github.com/repos/eventespresso/event-espresso-core/issues/438/events","html_url":"https://github.com/eventespresso/event-espresso-core/issues/438","id":323160031,"node_id":"MDU6SXNzdWUzMjMxNjAwMzE=","number":438,"title":"Create Class or Helper for Donations Feature","user":{"login":"sethshoultes","id":235315,"node_id":"MDQ6VXNlcjIzNTMxNQ==","avatar_url":"https://avatars3.githubusercontent.com/u/235315?v=4","gravatar_id":"","url":"https://api.github.com/users/sethshoultes","html_url":"https://github.com/sethshoultes","followers_url":"https://api.github.com/users/sethshoultes/followers","following_url":"https://api.github.com/users/sethshoultes/following{/other_user}","gists_url":"https://api.github.com/users/sethshoultes/gists{/gist_id}","starred_url":"https://api.github.com/users/sethshoultes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sethshoultes/subscriptions","organizations_url":"https://api.github.com/users/sethshoultes/orgs","repos_url":"https://api.github.com/users/sethshoultes/repos","events_url":"https://api.github.com/users/sethshoultes/events{/privacy}","received_events_url":"https://api.github.com/users/sethshoultes/received_events","type":"User","site_admin":false},"labels":[{"id":904083482,"node_id":"MDU6TGFiZWw5MDQwODM0ODI=","url":"https://api.github.com/repos/eventespresso/event-espresso-core/labels/category:spco-&-registration","name":"category:spco-&-registration","color":"abc2c1","default":false},{"id":905101018,"node_id":"MDU6TGFiZWw5MDUxMDEwMTg=","url":"https://api.github.com/repos/eventespresso/event-espresso-core/labels/status:stale","name":"status:stale","color":"a08e58","default":false}],"state":"closed","locked":false,"assignee":{"login":"tn3rb","id":1751030,"node_id":"MDQ6VXNlcjE3NTEwMzA=","avatar_url":"https://avatars1.githubusercontent.com/u/1751030?v=4","gravatar_id":"","url":"https://api.github.com/users/tn3rb","html_url":"https://github.com/tn3rb","followers_url":"https://api.github.com/users/tn3rb/followers","following_url":"https://api.github.com/users/tn3rb/following{/other_user}","gists_url":"https://api.github.com/users/tn3rb/gists{/gist_id}","starred_url":"https://api.github.com/users/tn3rb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tn3rb/subscriptions","organizations_url":"https://api.github.com/users/tn3rb/orgs","repos_url":"https://api.github.com/users/tn3rb/repos","events_url":"https://api.github.com/users/tn3rb/events{/privacy}","received_events_url":"https://api.github.com/users/tn3rb/received_events","type":"User","site_admin":false},"assignees":[{"login":"tn3rb","id":1751030,"node_id":"MDQ6VXNlcjE3NTEwMzA=","avatar_url":"https://avatars1.githubusercontent.com/u/1751030?v=4","gravatar_id":"","url":"https://api.github.com/users/tn3rb","html_url":"https://github.com/tn3rb","followers_url":"https://api.github.com/users/tn3rb/followers","following_url":"https://api.github.com/users/tn3rb/following{/other_user}","gists_url":"https://api.github.com/users/tn3rb/gists{/gist_id}","starred_url":"https://api.github.com/users/tn3rb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tn3rb/subscriptions","organizations_url":"https://api.github.com/users/tn3rb/orgs","repos_url":"https://api.github.com/users/tn3rb/repos","events_url":"https://api.github.com/users/tn3rb/events{/privacy}","received_events_url":"https://api.github.com/users/tn3rb/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2018-05-15T10:34:24Z","updated_at":"2018-11-18T14:41:32Z","closed_at":"2018-11-18T14:41:32Z","author_association":"MEMBER","body":"See original Codebase ticket https://events.codebasehq.com/projects/event-espresso/tickets/3455\r\n\r\nPer @tn3rb \r\n\r\nIf an event has the EVT_donations boolean flagged in the event_meta table, then we need to add a text field somewhere in SPCO for a donation amount to be entered.\r\nThis would then be added to the cart total. The value for the donation would be saved in the txn_meta table.\r\n\r\nPer @lorenzocaum \r\n\r\nNot sure if this was filed separately but how about a generic variable pricing option?\r\n\r\nIt would be nice to have a minimum value flag and this would cover these use cases:\r\n\r\npay what you want\r\nvariable donations\r\n\r\nAnother customer request:\r\nhttps://secure.helpscout.net/conversation/317600381/304923/\r\n\r\nNotes from @tn3rb to implement just the donate feature:\r\n\r\nSPCO is already setup now to accept a change in the total price that is sent to gateways\r\n\r\nwhich was added because of the Promotions addon\r\nso I think we would need the following:\r\n\r\na text input that gets added to the Payment Options SPCO step for entering the payment amount\r\nability to tag TXNs as having received a donation and record that amount, likely as a new field on the transaction table\r\nmodifications to any logic that calculates TXN totals and/or amounts owing so that the donation amount can be factored out\r\nchanges in the admin UI to display donation amounts in the TXN details, and maybe TXN admin list table\r\nnew field on TXN table would require changes to the next DMS\r\nhere's a rewrite of the points:\r\n1. plan out UI changes where donation amounts will be displayed in the admin\r\n2. plan out UI changes to checkout where donations will be input/accepted\r\n3. add new TXN_donations field to EEM_Transaction and modify esp_transaction in upcoming DMS\r\n4. add boilerplate to EE_Transaction for new field as well as for recording additional donation details in meta data (allows multiple donations)\r\n5. add class for injecting donation amount input into SPCO payment options reg step form and processing it upon submission\r\n6. add class for implementing changes to admin UI\r\n7. add class for modifying any logic that calculates TXN totals and/or amounts owing so that the donation amount can be factored out (so that TXNs do not appear as being under or overpaid, etc)\r\n8. add any action or filter hooks required by the above classes for modifying existing code\r\n\r\nsteps 3-8 will take 30-40 hours"}}
{"actor":{"display_login":"stale"}}