Details
-
Type: New Feature
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 2.2.1
-
Fix Version/s: 2.2.1
-
Component/s: CiviContribute
-
Labels:None
Description
This will be a standalone script. The script will have the following features:
1. A function that will accept a name value array (fields to be determined but fixed for the first iteration). Return early if contribution has already been processed (if transaction id exists in input array and if same is present in database). Items 2 and 3 below will send in the transaction id parameter, item 4 might not. The function will retrieve an existing contact (preferably by dedupe rules or email address) and create/update the contact with the values. It will then create an associated contribution and attach it to the contact.
2. A function that queries the paypal api and retrieve transaction information for a certain date range. For each transaction call the function defined in step 1. The two api calls are: TransactionSearch and GetTransactionDetails. These urls are useful:
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_TransactionSearch
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_GetTransactionDetails
The fields that we are interested in are:
Email
All Name Fields
All Address Fields
Payment Fields that have an equivalent column in the contribution table
Payment Item Note field (which gets attached to contribution note)
3. A similar function for google checkout. Most likely we will use the notification history api detailed here: http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Notification_History_API.html#Handling_a_Notification_History_API_Response
4. A similar function to read data from a csv file