CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Google Summer of Code »
  • [GSOC 2015] Refunds for CiviCRM
Pages: 1 2 [3] 4

Author Topic: [GSOC 2015] Refunds for CiviCRM  (Read 7421 times)

tahirramzan

  • I post occasionally
  • **
  • Posts: 51
  • Karma: 1
  • CiviCRM version: 4.4.4
  • CMS version: Drupal
  • MySQL version: 5.6
  • PHP version: 5.4
Re: [GSOC 2014] Refunds for CiviCRM
April 17, 2015, 04:51:51 am
Four different refund cases and their current handling:

1) Full refund - just going in the contribution & changing it to cancelled.

2) Partial refund when payment was made by Pay-later - going into the contribution & changing the amount. This doesn't work with a credit card payment.

3) Partial refund when payment was made by credit card and refunded by credit card. If necessary, create a new temporary price and go into the event registration and receipt it at this price. It appears to edit the existing entry rather than creating a new one.

4) Partial or full refund when payment was made by credit card & refunded by bank deposit and vice versa. Create a new temporary negative price and create a second registration for the person in the same event with the negative fee.

tahirramzan

  • I post occasionally
  • **
  • Posts: 51
  • Karma: 1
  • CiviCRM version: 4.4.4
  • CMS version: Drupal
  • MySQL version: 5.6
  • PHP version: 5.4
Re: [GSOC 2014] Refunds for CiviCRM
April 27, 2015, 12:34:11 pm
Thank you all for giving me an amazing opportunity, I will make it great  :)

Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: [GSOC 2014] Refunds for CiviCRM
April 30, 2015, 02:39:25 pm
Tahir - great to see you doing the GSOC this year. And great to see you going through other forum threads and informing them about your work. Looking forward to a great project. I'm sure I'll be discussing this with you and Parvez as you go through but you should be ensuring your new functionality is in an api call which the form calls (rather than in the form layer)
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

magnolia61

  • I post occasionally
  • **
  • Posts: 37
  • Karma: 0
  • CiviCRM version: 4.5.5
  • CMS version: Drupal 7.34 / Joomla 3.3.6
  • MySQL version: MySQL 5.5.40
  • PHP version: PHP 5.5.19
Re: [GSOC 2014] Refunds for CiviCRM
May 02, 2015, 06:31:36 am
I just opened a new topic that touched the subject of backend Direct Debit handling and preventing refunds before the debit has actually made. Please have a look if you want to :-)
http://forum.civicrm.org/index.php/topic,36408.0.html

tahirramzan

  • I post occasionally
  • **
  • Posts: 51
  • Karma: 1
  • CiviCRM version: 4.4.4
  • CMS version: Drupal
  • MySQL version: 5.6
  • PHP version: 5.4
Re: [GSOC 2014] Refunds for CiviCRM
May 02, 2015, 07:30:27 am
Thanks magnolia61  :)

tahirramzan

  • I post occasionally
  • **
  • Posts: 51
  • Karma: 1
  • CiviCRM version: 4.4.4
  • CMS version: Drupal
  • MySQL version: 5.6
  • PHP version: 5.4
Re: [GSOC 2014] Refunds for CiviCRM
May 02, 2015, 07:31:42 am
Here is the summary of my project:

My GSoC project is to develop the functionality of full refund, partial refund and partial payment for events, contributions and memberships. After this project CiviCRM users will able to do full refund, partial refund and partial payment with ease, security, reliability and efficient user interfaces. There are some potential problems which may occur several times when we need to do full refund, partial refund and partial payment.
For example; a cheque is made out in the wrong amount, an event ticket is returned before an event, a membership or subscription is cancelled, or a donation exceeds the legal limit for a campaign contribution.
A typical use case for partial payment would be putting a deposit down on a table for a dinner using a credit card online and then having a cheque sent to cover the outstanding balance or spreading a large annual membership payment into several installments by post-dated cheques. For more use cases for partial payment, please check http://wiki.civicrm.org/confluence/display/CRM/Partial+Payments+use-cases

Kindly give your valuable feedback, thanks in anticipation

Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: [GSOC 2014] Refunds for CiviCRM
May 02, 2015, 03:42:58 pm
In general I think this might be a bit too ambitious. Most of those forms are pretty complex - and not necessarily for the right reasons. If it were a case of you learning how cleverly we have done things then I would be right behind you getting to grips with it. But, actually the complexity is historical and you wouldn't learn from it.

An alternative would be to add API actions (with unit tests) for refunds etc, possibly add a new angular page as a proof of concept - which might be a better initial target
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

JoeMurray

  • Administrator
  • Ask me questions
  • *****
  • Posts: 578
  • Karma: 24
    • JMA Consulting
  • CiviCRM version: 4.4 and 4.5 (as of Nov 2014)
  • CMS version: Drupal, WordPress, Joomla
  • MySQL version: MySQL 5.5, 5.6, MariaDB 10.0 (as of Nov 2014)
Re: [GSOC 2014] Refunds for CiviCRM
May 03, 2015, 11:20:03 am
I agree that the scope needs to be narrowed.

JMA will be putting new APIs in place for orders and payments, including tests.

I think extending the work that has been done on partial payments for back-office events to a front- and back-end UI for paying outstanding pay later amounts would be an ambitious project. Or alternatively, perhaps Tahir could implement support for Refunds, including issuing cheques using the code in Grant Programs extension. Either would be a better but still challenging scope.
Co-author of Using CiviCRM https://www.packtpub.com/using-civicrm/book

Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: [GSOC 2014] Refunds for CiviCRM
May 03, 2015, 12:54:16 pm
Joe, does you project include an api for refunds? I would expect this to include calling a function on the payment processor if appropriate
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

JoeMurray

  • Administrator
  • Ask me questions
  • *****
  • Posts: 578
  • Karma: 24
    • JMA Consulting
  • CiviCRM version: 4.4 and 4.5 (as of Nov 2014)
  • CMS version: Drupal, WordPress, Joomla
  • MySQL version: MySQL 5.5, 5.6, MariaDB 10.0 (as of Nov 2014)
Re: [GSOC 2014] Refunds for CiviCRM
May 03, 2015, 04:08:11 pm
I haven't finalized the spec for the payment API. I think it would be cleaner to create a separate API for refunds, since both can have negative adjustments. What do you think?
Co-author of Using CiviCRM https://www.packtpub.com/using-civicrm/book

Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: [GSOC 2014] Refunds for CiviCRM
May 03, 2015, 04:36:02 pm
I tend to think that makes sense & it also makes it something that could fit in this GSOC without too much overlap with your work
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

tahirramzan

  • I post occasionally
  • **
  • Posts: 51
  • Karma: 1
  • CiviCRM version: 4.4.4
  • CMS version: Drupal
  • MySQL version: 5.6
  • PHP version: 5.4
Re: [GSOC 2014] Refunds for CiviCRM
May 07, 2015, 02:28:24 pm
I think Sir Eileen is right that developing an API for refunds with tests is better and easier with brand new angular form rather than using existing form and codebase modification. What's your thoughts, Sir JoeMurry?

Kindly comment and share your feedback on specifications also, Regards


Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: [GSOC 2014] Refunds for CiviCRM
May 07, 2015, 02:33:57 pm
Joe,

Is there an existing spec for what needs to happen in the DB when refunds happen? Table entries etc? If not I think we are going to have to prevail on you to draw one up.
Eileen
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

tahirramzan

  • I post occasionally
  • **
  • Posts: 51
  • Karma: 1
  • CiviCRM version: 4.4.4
  • CMS version: Drupal
  • MySQL version: 5.6
  • PHP version: 5.4
Re: [GSOC 2014] Refunds for CiviCRM
May 21, 2015, 03:28:58 pm
Respected Sir Eileen and Joe,

Kindly share your thoughts and feedback on DB schema and share any existing specifications if you have defined already, thanks in anticipation

Regards 

JoeMurray

  • Administrator
  • Ask me questions
  • *****
  • Posts: 578
  • Karma: 24
    • JMA Consulting
  • CiviCRM version: 4.4 and 4.5 (as of Nov 2014)
  • CMS version: Drupal, WordPress, Joomla
  • MySQL version: MySQL 5.5, 5.6, MariaDB 10.0 (as of Nov 2014)
Payment and Refund APIs
May 22, 2015, 02:04:45 pm
Hi Tahir,

The Payment and Refund APIs will be like the other CiviCRM APIs: something that can be called equally from either Angular or jQuery in the browser or from code on the server. As background, login to http://d46.demo.civicrm.org/civicrm/api/explorer#explorer as user demo password demo and test out using the API, and note the various ways that it can be invoked.

Eileen: yes, there should be some new payment subsystem call that will issue a refund automatically if that is supported by the original payment processor method, or else queue up payable for next time there is a run of checks. I can work on the details of the latter if you want to suggest an API signature for the former.
Co-author of Using CiviCRM https://www.packtpub.com/using-civicrm/book

Pages: 1 2 [3] 4
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Google Summer of Code »
  • [GSOC 2015] Refunds for CiviCRM

This forum was archived on 2017-11-26.