My favorites | Sign in
Project Logo
                
Details: Show all Hide all

Last 30 days

  • Dec 09, 2009
    TutorialForLevel2 (A rough tutorial for using gchecky in Level 2 integration.) Wiki page commented on by richard.brooksby   -   The requested URL /p/gchecky/source/browse/trunk/samples/django/ was not found on this server.
    The requested URL /p/gchecky/source/browse/trunk/samples/django/ was not found on this server.

Earlier this year

  • Nov 30, 2009
    issue 38 (Support for Subscriptions?) reported by savraj   -   Does gChecky support Google Checkout's new beta subscriptions?
    Does gChecky support Google Checkout's new beta subscriptions?
  • Nov 28, 2009
    issue 33 (Patch to add support for Notification History API) commented on by jjc1138   -   I wanted to use this in another project that needed control over the paging, so I've added that to the patch. Now it returns the next_page_token if Checkout gives one and accepts it as a parameter to get_history. The attached patch is to be applied after the gchecky-notificationhistory-2.patch above.
    I wanted to use this in another project that needed control over the paging, so I've added that to the patch. Now it returns the next_page_token if Checkout gives one and accepts it as a parameter to get_history. The attached patch is to be applied after the gchecky-notificationhistory-2.patch above.
  • Nov 28, 2009
    issue 37 (Patch to allow Unicode hyphen character as well as the regul...) reported by jjc1138   -   A Unicode hyphen chracter (code point 2010) was seen in the wild in the zip code of an order from Japan.
    A Unicode hyphen chracter (code point 2010) was seen in the wild in the zip code of an order from Japan.
  • Nov 11, 2009
    TutorialForLevel2 (A rough tutorial for using gchecky in Level 2 integration.) Wiki page edited by etarassov
  • Nov 11, 2009
    TutorialForLevel2 (A rough tutorial for using gchecky in Level 2 integration.) Wiki page edited by etarassov
  • Nov 11, 2009
  • Nov 10, 2009
    116 new revisions pushed by etarassov   -   765220a3fb:Initial directory structure. fd1f965650:Initial commit. bdb05243f6:Initial commit. f3030bc344:Provide a dummy example using library XML abstraction. 5348d2aea4:Initial commit of version 0.1 682ca1255d:Refactor project file structure for version 0.1. 6e44a20309:Add base for documentation. 0ed53366a1:Add comments. 21f894c76b:[No log message] da5a7bc247:[No log message] b3409329e9:Add comments, brush the code up abit. c42466d89d:Add Django basic sample app. 78d6ce0458:Add GButton sample. ad4413977a:Move docs README.txt to root. ad49919f69:Move docs README.txt to root. 577a219dfd:[No log message] 0854008fe9:Install library using Distutils. 778b219915:Install library using Distutils. 7c0d7b581f:Install library using Distutils. 368805dfe4:[No log message] e51d8055a7:Rename to gcheckout. ee93c2121d:Major improvements. Improve django application sample. Update/complete GCheckout API. Add unittests. More. 7472813e79:Major improvements. Improve django application sample. Update/complete GCheckout API. Add unittests. More. ed7e39fdd5:Fix some typos. 35c4444167:Remove private data. 77a51f578e:Implement gchecky.gxml.Any field type that stored arbitrary XML data. Add simple tests for the code. c49d57469b:Fix google checkout API urls for production server and update API urls for sandbox server. be294e79ba:Query django.VERSION to determine if max_digits and decimal_places are to be specified to FloatField (which is a backward-incopatible change in django API between 0.96 and 0.97. 322841b863:Fix zip-pattern issue (make it accept full US zip codes containing '-' such as '10014-103'). Add unittest for gxml.Zip. abab874059:Include sample packages in setup.py. e5f43f8da2: Issue 15 : use proper xml attribute when reading 'serial-number'. 85dc41aad0:Experiment: add inline doctests. 2e673d18b1:Add svn:eol-style=native property on *.py and *.txt files. 03b25ecf60:Add svn:eol-style=native property on *.py and *.txt files. 33c18a2c7d:Add patch files to sv:ignore. 7c66a1f793:Add svn:eol-style=native property on *.py and *.txt files. bd2ea41d97:Add *.pyc to svn:ignore on package directories. 546f0ea9fc:Remove duplicate import. d9a1ea2867:Fix issue 17 'Mixed allowed-areas and excluded-areas not well formated'. 44636ebdfa:Fix issue 16 'URL validation is broken'. Simplify the regular expression and make it more readable/understandable. Add doctests. bc1ba04b0e:Fix issue 14 'Shipping shouldn't be required for order-adjustment'. Google checkout docs incorrectly state that the field is required while actually it is not. http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Tag_Reference.html#tag_order- adjustment Set the field to be optional. 8bf8757b76:Fix issue 13 'IP address validation is broken'. Correct the regular expression. 9490732865:Improve docs. cc3b1028bf:Add/improve doctests. e19f029916:Improve documentation. d505500b94:Improve documentation. c5eac2f50f:Add required script for distutils bdist_rpm target. 70b707ed34:[No log message] ccfaa2bbb6:Add VERSION/version() to gchecky module. 15e2f0c96a:Remove unused import. da0f4cbe03:[No log message] e091144c32:Purge the temporary directory used by distutils from svn. a5e121adc7:Fix: initialize 'rev' to None. 4c10a8b421:Improve distribution/installation script/helpers. 0003c55097:Remove temporary distutils files from svn. fa5141baeb:Remove capitalisation from project name. dd7dd06848:Add 'build-wininst' target to building script to create win installer. a378d61931:Add diagnose feature. ebf6353241:- Add bye_t, demo_failure_t classes to gchecky.model. - Add more doctests to the existing classes. - Fix 'reason' and 'comment' fields maxlength to be 140. ef2a6f0804:Force remove temporary build files. e77f61c186:Improve error reporting concerning data validation. Backwards-incompatible: Field.validate method now returns True/error_string instead of True/False. 18f81c3ea3:Add display-disposition to digital-content. Use max_length instead of deprecate maxlength. Add more doctests. 94df84f532:Add support to bool values. 1f97efcc4b:Use max_length instead of deprecated maxlength. Slightly improve docs. Allow IP in url fields. Use pyiso8601 to parse time/date values (this introduces first dependency). b51d835665:Use exceptions to handle all kind of errors. Many other small fixes related to previous commits. e8d364c667:Declare dependency on pyiso8601 (use 'iso8601' with easy_install). ce9840116e:Expunge 'do_in_production' argument. 9a2bfb2322:Remove unused import. abab0a712b:Fix issue 20 : Dependancy on iso8601 miss spelled. s/pyiso8601/iso8601/ 917db0fc6e:Use just plain simple concatenation to produce version number. Use human_version to retreive human- friendly version. Fix couple of issues. Allow to pass different version to version() and human_version(). c2bbe1f157:Fix issue 10 : use xml.dom.minidom instead of PyXML. Also use iso8601 in doctests. 5d522cc8f7:Fix tests to catch up with the latest changes in gchecky. 10aed28be2:Correct setting initial value to node fields - if the field is not required its value is set to None (independently of its 'default' value). 248decf636: Issue 21 : 'checkout_flow_support_t missing analytics_data'. Add new fields to 'checkout_flow_support_t': 'platform-id', 'analytics-data', 'parameterized-urls'. 357980b35e:Add setuptools install script as documented in http://peak.telecommunity.com/DevCenter/setuptools#distributing-a-setuptools-based-project. class="ot-revlogs-br-2"> c3601eb0f6:Fix the None value issue for gxml.Any fields. c3884bdf0a:Add support for donations. 422569da81:Add (yet) unused code for simple python to/from xml serialisation. 5ed87a7c7a:Enhance docs about setuptools installation. 882ba7c15f:Use custom XML serializer for python-ic PODs in gxml.Any field. 1c8349d408:Add one more doctest to item_t. 2b03d5d782:[No log message] 3e58588f9d:[No log message] 05abff47dc:Use settings for currency, vendor_id, merchant_key, etc in samples. d26452e28a:Remove unused import. ad6188fe65:Samples: replace the outdated dummy Django app with a full Django demo project. 2ce2828026:Add more files to svn:ignore: - gchecky.egg-info* (egg related conf files) - .* (eclipse related conf files) - tmp (temporary files) 740d9ecf5f:Improve indentation in sample/gbutton/simple.py output. 2af5ef33ce:Workaround an issue (use constant for site url and add a TODO marker). 9da09ac23f:Remove outdated django sample app. f3279fd4a5:Use python2.4 style of getting exception message. 267d31ac0a:Fix Zip code regex to include United Kingdom postal codes (a GB postal code could contain a space character). A field gxml.List with empty_to_none=True if required will not reduce empty list [] value to None. 94d75fc5a5:Add automatically_charge to Django sample controller to indicate whether or not the controller should automatically charge the order (Google Checkout account settings allow to do that). Also fix a small issue in state_order_change_notification handling code. 528696643b:Use 'get_or_404' shortcut. Move imports to the top. 4f1a8e42cc:Add 'to be done' note. 3a6ec99852:Improve formatting. c1aec450e8:Add digital item page. Fix the digital-goods url. 7a3cc91852:Clean up the repository from helper scripts. ee72d8f354:Add media files (css and js) to the django sample. b98a43ebb3:Refine list of available donations. 4df6b905f1:(Log message clipped, see revision page for details.) ad25c5f376:(Log message clipped, see revision page for details.) 19a80d7c9d:(Log message clipped, see revision page for details.) 23880a9b1e:(Log message clipped, see revision page for details.) e8e1b0a3ab:(Log message clipped, see revision page for details.) 52227fe765:(Log message clipped, see revision page for details.) 387a63e36a:(Log message clipped, see revision page for details.) 40a0f08478:(Log message clipped, see revision page for details.) 7bed809249:(Log message clipped, see revision page for details.) dcd1b65f99:(Log message clipped, see revision page for details.) 3d94a2436e:(Log message clipped, see revision page for details.) a6008b1b7f:(Log message clipped, see revision page for details.) eff806cb0e:(Log message clipped, see revision page for details.) 349f5e2592:(Log message clipped, see revision page for details.) be4be06845:(Log message clipped, see revision page for details.) 9ca9e5cb82:(Log message clipped, see revision page for details.)
    765220a3fb:Initial directory structure. fd1f965650:Initial commit. bdb05243f6:Initial commit. f3030bc344:Provide a dummy example using library XML abstraction. 5348d2aea4:Initial commit of version 0.1 682ca1255d:Refactor project file structure for version 0.1. 6e44a20309:Add base for documentation. 0ed53366a1:Add comments. 21f894c76b:[No log message] da5a7bc247:[No log message] b3409329e9:Add comments, brush the code up abit. c42466d89d:Add Django basic sample app. 78d6ce0458:Add GButton sample. ad4413977a:Move docs README.txt to root. ad49919f69:Move docs README.txt to root. 577a219dfd:[No log message] 0854008fe9:Install library using Distutils. 778b219915:Install library using Distutils. 7c0d7b581f:Install library using Distutils. 368805dfe4:[No log message] e51d8055a7:Rename to gcheckout. ee93c2121d:Major improvements. Improve django application sample. Update/complete GCheckout API. Add unittests. More. 7472813e79:Major improvements. Improve django application sample. Update/complete GCheckout API. Add unittests. More. ed7e39fdd5:Fix some typos. 35c4444167:Remove private data. 77a51f578e:Implement gchecky.gxml.Any field type that stored arbitrary XML data. Add simple tests for the code. c49d57469b:Fix google checkout API urls for production server and update API urls for sandbox server. be294e79ba:Query django.VERSION to determine if max_digits and decimal_places are to be specified to FloatField (which is a backward-incopatible change in django API between 0.96 and 0.97. 322841b863:Fix zip-pattern issue (make it accept full US zip codes containing '-' such as '10014-103'). Add unittest for gxml.Zip. abab874059:Include sample packages in setup.py. e5f43f8da2: Issue 15 : use proper xml attribute when reading 'serial-number'. 85dc41aad0:Experiment: add inline doctests. 2e673d18b1:Add svn:eol-style=native property on *.py and *.txt files. 03b25ecf60:Add svn:eol-style=native property on *.py and *.txt files. 33c18a2c7d:Add patch files to sv:ignore. 7c66a1f793:Add svn:eol-style=native property on *.py and *.txt files. bd2ea41d97:Add *.pyc to svn:ignore on package directories. 546f0ea9fc:Remove duplicate import. d9a1ea2867:Fix issue 17 'Mixed allowed-areas and excluded-areas not well formated'. 44636ebdfa:Fix issue 16 'URL validation is broken'. Simplify the regular expression and make it more readable/understandable. Add doctests. bc1ba04b0e:Fix issue 14 'Shipping shouldn't be required for order-adjustment'. Google checkout docs incorrectly state that the field is required while actually it is not. http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Tag_Reference.html#tag_order- adjustment Set the field to be optional. 8bf8757b76:Fix issue 13 'IP address validation is broken'. Correct the regular expression. 9490732865:Improve docs. cc3b1028bf:Add/improve doctests. e19f029916:Improve documentation. d505500b94:Improve documentation. c5eac2f50f:Add required script for distutils bdist_rpm target. 70b707ed34:[No log message] ccfaa2bbb6:Add VERSION/version() to gchecky module. 15e2f0c96a:Remove unused import. da0f4cbe03:[No log message] e091144c32:Purge the temporary directory used by distutils from svn. a5e121adc7:Fix: initialize 'rev' to None. 4c10a8b421:Improve distribution/installation script/helpers. 0003c55097:Remove temporary distutils files from svn. fa5141baeb:Remove capitalisation from project name. dd7dd06848:Add 'build-wininst' target to building script to create win installer. a378d61931:Add diagnose feature. ebf6353241:- Add bye_t, demo_failure_t classes to gchecky.model. - Add more doctests to the existing classes. - Fix 'reason' and 'comment' fields maxlength to be 140. ef2a6f0804:Force remove temporary build files. e77f61c186:Improve error reporting concerning data validation. Backwards-incompatible: Field.validate method now returns True/error_string instead of True/False. 18f81c3ea3:Add display-disposition to digital-content. Use max_length instead of deprecate maxlength. Add more doctests. 94df84f532:Add support to bool values. 1f97efcc4b:Use max_length instead of deprecated maxlength. Slightly improve docs. Allow IP in url fields. Use pyiso8601 to parse time/date values (this introduces first dependency). b51d835665:Use exceptions to handle all kind of errors. Many other small fixes related to previous commits. e8d364c667:Declare dependency on pyiso8601 (use 'iso8601' with easy_install). ce9840116e:Expunge 'do_in_production' argument. 9a2bfb2322:Remove unused import. abab0a712b:Fix issue 20 : Dependancy on iso8601 miss spelled. s/pyiso8601/iso8601/ 917db0fc6e:Use just plain simple concatenation to produce version number. Use human_version to retreive human- friendly version. Fix couple of issues. Allow to pass different version to version() and human_version(). c2bbe1f157:Fix issue 10 : use xml.dom.minidom instead of PyXML. Also use iso8601 in doctests. 5d522cc8f7:Fix tests to catch up with the latest changes in gchecky. 10aed28be2:Correct setting initial value to node fields - if the field is not required its value is set to None (independently of its 'default' value). 248decf636: Issue 21 : 'checkout_flow_support_t missing analytics_data'. Add new fields to 'checkout_flow_support_t': 'platform-id', 'analytics-data', 'parameterized-urls'. 357980b35e:Add setuptools install script as documented in http://peak.telecommunity.com/DevCenter/setuptools#distributing-a-setuptools-based-project. class="ot-revlogs-br-2"> c3601eb0f6:Fix the None value issue for gxml.Any fields. c3884bdf0a:Add support for donations. 422569da81:Add (yet) unused code for simple python to/from xml serialisation. 5ed87a7c7a:Enhance docs about setuptools installation. 882ba7c15f:Use custom XML serializer for python-ic PODs in gxml.Any field. 1c8349d408:Add one more doctest to item_t. 2b03d5d782:[No log message] 3e58588f9d:[No log message] 05abff47dc:Use settings for currency, vendor_id, merchant_key, etc in samples. d26452e28a:Remove unused import. ad6188fe65:Samples: replace the outdated dummy Django app with a full Django demo project. 2ce2828026:Add more files to svn:ignore: - gchecky.egg-info* (egg related conf files) - .* (eclipse related conf files) - tmp (temporary files) 740d9ecf5f:Improve indentation in sample/gbutton/simple.py output. 2af5ef33ce:Workaround an issue (use constant for site url and add a TODO marker). 9da09ac23f:Remove outdated django sample app. f3279fd4a5:Use python2.4 style of getting exception message. 267d31ac0a:Fix Zip code regex to include United Kingdom postal codes (a GB postal code could contain a space character). A field gxml.List with empty_to_none=True if required will not reduce empty list [] value to None. 94d75fc5a5:Add automatically_charge to Django sample controller to indicate whether or not the controller should automatically charge the order (Google Checkout account settings allow to do that). Also fix a small issue in state_order_change_notification handling code. 528696643b:Use 'get_or_404' shortcut. Move imports to the top. 4f1a8e42cc:Add 'to be done' note. 3a6ec99852:Improve formatting. c1aec450e8:Add digital item page. Fix the digital-goods url. 7a3cc91852:Clean up the repository from helper scripts. ee72d8f354:Add media files (css and js) to the django sample. b98a43ebb3:Refine list of available donations. 4df6b905f1:(Log message clipped, see revision page for details.) ad25c5f376:(Log message clipped, see revision page for details.) 19a80d7c9d:(Log message clipped, see revision page for details.) 23880a9b1e:(Log message clipped, see revision page for details.) e8e1b0a3ab:(Log message clipped, see revision page for details.) 52227fe765:(Log message clipped, see revision page for details.) 387a63e36a:(Log message clipped, see revision page for details.) 40a0f08478:(Log message clipped, see revision page for details.) 7bed809249:(Log message clipped, see revision page for details.) dcd1b65f99:(Log message clipped, see revision page for details.) 3d94a2436e:(Log message clipped, see revision page for details.) a6008b1b7f:(Log message clipped, see revision page for details.) eff806cb0e:(Log message clipped, see revision page for details.) 349f5e2592:(Log message clipped, see revision page for details.) be4be06845:(Log message clipped, see revision page for details.) 9ca9e5cb82:(Log message clipped, see revision page for details.)
  • Nov 06, 2009
    TutorialForLevel2 (A rough tutorial for using gchecky in Level 2 integration.) Wiki page commented on by davisd.davisd   -   body = request.bosy ### the body of the request ...request.bosy should be request.body
    body = request.bosy ### the body of the request ...request.bosy should be request.body
  • Nov 06, 2009
    issue 36 (DeprecationWarning: the sha module is deprecated; use the ha...) commented on by davisd.davisd   -   ...in controller.py
    ...in controller.py
  • Nov 06, 2009
    issue 36 (DeprecationWarning: the sha module is deprecated; use the ha...) reported by davisd.davisd   -   DeprecationWarning: the sha module is deprecated; use the hashlib module instead import sha Simple fix, diff attached!
    DeprecationWarning: the sha module is deprecated; use the hashlib module instead import sha Simple fix, diff attached!
  • Oct 19, 2009
    issue 34 (gxml.String length validation fails when string contains non...) commented on by chingjuhu   -   thanks! it works!
    thanks! it works!
  • Oct 19, 2009
    issue 34 (gxml.String length validation fails when string contains non...) commented on by jjc1138   -   I don't use that code myself, so I can't really help, but I suspect that the solution would be to encode the cart string as UTF-8 before it is encoded with Base64, i.e. change "cart64 = b64encode(cart)" to "cart64 = b64encode(cart.encode('utf-8'))" or something like that.
    I don't use that code myself, so I can't really help, but I suspect that the solution would be to encode the cart string as UTF-8 before it is encoded with Base64, i.e. change "cart64 = b64encode(cart)" to "cart64 = b64encode(cart.encode('utf-8'))" or something like that.
  • Oct 19, 2009
    issue 34 (gxml.String length validation fails when string contains non...) commented on by chingjuhu   -   thanks, now there's another issue in controller.prepare_order, my item name has international characters, and the trackback is like this: File "C:\dev\meep\server\db\checkout.py", line 200, in get prepared = controller.prepare_order(order) File "C:\dev\meep\server\db\gchecky\controller.py", line 127, in prepare_order cart64 = b64encode(cart) File "C:\Python25\lib\base64.py", line 53, in b64encode encoded = binascii.b2a_base64(s)[:-1] UnicodeEncodeError: 'ascii' codec can't encode characters in position 332-333: ordinal not in range(128) the ascii still exists in b64encode.....help again.. thanks
    thanks, now there's another issue in controller.prepare_order, my item name has international characters, and the trackback is like this: File "C:\dev\meep\server\db\checkout.py", line 200, in get prepared = controller.prepare_order(order) File "C:\dev\meep\server\db\gchecky\controller.py", line 127, in prepare_order cart64 = b64encode(cart) File "C:\Python25\lib\base64.py", line 53, in b64encode encoded = binascii.b2a_base64(s)[:-1] UnicodeEncodeError: 'ascii' codec can't encode characters in position 332-333: ordinal not in range(128) the ascii still exists in b64encode.....help again.. thanks
  • Oct 19, 2009
    issue 34 (gxml.String length validation fails when string contains non...) commented on by jjc1138   -   It's a standard "unified diff" format patch that can be applied by many different tools. It's a very small patch, so if you don't have a patching tool handy then try opening the file up with a text editor. The format should be obvious and you can just apply the changes manually to your copy of gchecky.
    It's a standard "unified diff" format patch that can be applied by many different tools. It's a very small patch, so if you don't have a patching tool handy then try opening the file up with a text editor. The format should be obvious and you can just apply the changes manually to your copy of gchecky.
  • Oct 19, 2009
    issue 34 (gxml.String length validation fails when string contains non...) commented on by chingjuhu   -   how to use this patch?? help...
    how to use this patch?? help...
  • Sep 16, 2009
    issue 35 (remove hard coded url in _send_xml) reported by harry@microwayes.net   -   I'm attempting to use gchecky and get_server_post_cart_url to post a cart to GC. There doesn't seem to be any method of requesting the url without doing it myself. _send_xml seems to be available (including Basic Auth) but this uses a hard coded get_order_processing_url. Is there some other method such that I can pass in an order to be delivered to server_post_cart_url, and retrieve the response as a checkout_redirect_t?
    I'm attempting to use gchecky and get_server_post_cart_url to post a cart to GC. There doesn't seem to be any method of requesting the url without doing it myself. _send_xml seems to be available (including Basic Auth) but this uses a hard coded get_order_processing_url. Is there some other method such that I can pass in an order to be delivered to server_post_cart_url, and retrieve the response as a checkout_redirect_t?
  • Apr 27, 2009
    issue 34 (gxml.String length validation fails when string contains non...) commented on by jason.davies   -   Just had a failure on one of my sites to process an order notification - looks like this is probably the culprit. I have applied this patch and will confirm whether it works.
    Just had a failure on one of my sites to process an order notification - looks like this is probably the culprit. I have applied this patch and will confirm whether it works.
  • Apr 15, 2009
    issue 34 (gxml.String length validation fails when string contains non...) reported by jjc1138   -   The length validation code in gxml.String uses str() to convert the data to a string. That implictly attempts to convert the text to ASCII and fails if there are non-ASCII characters in the data with an exception like: UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 42: ordinal not in range(128) The attached patch works for me, but I don't know enough about the code to say if it's definitely the correct fix.
    The length validation code in gxml.String uses str() to convert the data to a string. That implictly attempts to convert the text to ASCII and fails if there are non-ASCII characters in the data with an exception like: UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 42: ordinal not in range(128) The attached patch works for me, but I don't know enough about the code to say if it's definitely the correct fix.
  • Mar 30, 2009
    issue 33 (Patch to add support for Notification History API) commented on by etarassov   -   Hello jjc1138, > The default start_time uses 450 days ago because that's the earliest that= is > allowed > by the API (see the "Understanding the API Request Format" section of the > docs). I've missed this part -- thanks for the link. Thank you again for your contribution!
    Hello jjc1138, > The default start_time uses 450 days ago because that's the earliest that= is > allowed > by the API (see the "Understanding the API Request Format" section of the > docs). I've missed this part -- thanks for the link. Thank you again for your contribution!
  • Mar 29, 2009
    issue 33 (Patch to add support for Notification History API) commented on by jjc1138   -   The default start_time uses 450 days ago because that's the earliest that is allowed by the API (see the "Understanding the API Request Format" section of the docs). You're right about the missing "end_time is present => start_time has to be present" case. I've attached an updated patch that adds an extra condition to use the default start_time in that case. I don't have plans for any other patches, (the library is working very well for my needs!), so I don't need write-access at the moment. Thank you for the great library!
    The default start_time uses 450 days ago because that's the earliest that is allowed by the API (see the "Understanding the API Request Format" section of the docs). You're right about the missing "end_time is present => start_time has to be present" case. I've attached an updated patch that adds an extra condition to use the default start_time in that case. I don't have plans for any other patches, (the library is working very well for my needs!), so I don't need write-access at the moment. Thank you for the great library!
  • Mar 29, 2009
    issue 33 (Patch to add support for Notification History API) commented on by etarassov   -   Thank you for the patch! Nice work. The only difficult place to understand for me was: + def get_history(self, order_numbers=None, + start_time=None, end_time=None, + notification_types=None, all_pages=True): + if order_numbers is None and start_time is None: + start_time = datetime.datetime.utcnow() - \ + datetime.timedelta(days=450) + datetime.timedelta(minutes=1) + if end_time is None and start_time is not None: + # I occasionally got an error when only subtracting 30 minutes + end_time = datetime.datetime.utcnow() - datetime.timedelta(minutes=30, seconds=5) IIUC start_time should be a fixed date something close to the launch of Google Checkout (june or july 2006). AFAICS the logic is: no order_numbers => fill start_time with a dummy value (and then also fill end_time) start_time is present => end_time has to be present but the following is not handled: end_time is present => start_time has to be present I'll apply the patch and test it during this week. Again thank you for the good work! Keep it coming. ;-) PS: send me a word if you want to continue contributing to gchecky for the read-write access to svn
    Thank you for the patch! Nice work. The only difficult place to understand for me was: + def get_history(self, order_numbers=None, + start_time=None, end_time=None, + notification_types=None, all_pages=True): + if order_numbers is None and start_time is None: + start_time = datetime.datetime.utcnow() - \ + datetime.timedelta(days=450) + datetime.timedelta(minutes=1) + if end_time is None and start_time is not None: + # I occasionally got an error when only subtracting 30 minutes + end_time = datetime.datetime.utcnow() - datetime.timedelta(minutes=30, seconds=5) IIUC start_time should be a fixed date something close to the launch of Google Checkout (june or july 2006). AFAICS the logic is: no order_numbers => fill start_time with a dummy value (and then also fill end_time) start_time is present => end_time has to be present but the following is not handled: end_time is present => start_time has to be present I'll apply the patch and test it during this week. Again thank you for the good work! Keep it coming. ;-) PS: send me a word if you want to continue contributing to gchecky for the read-write access to svn
  • Mar 29, 2009
    issue 33 (Patch to add support for Notification History API) reported by jjc1138   -   The attached patch adds support to gchecky for the new Notification History API: http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Notification_History_API.html
    The attached patch adds support to gchecky for the new Notification History API: http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Notification_History_API.html
  • Feb 16, 2009
    issue 32 (Problem when 'postal_code' is blank) reported by petersson   -   What steps will reproduce the problem? 1. Place an order with blank postal_code in the billing address What is the expected output? What do you see instead? Google is sending the following XML: <?xml version="1.0" encoding="UTF-8"?> <new-order-notification xmlns="http://checkout.google.com/schema/2" serial-number="xxxyyyyzzzz"> <timestamp>2009-02-11T08:08:55.875Z</timestamp> <shopping-cart> <items> <item> <item-name>ItemName</item-name> <item-description>ItemDescription</item-description> <quantity>1</quantity> <unit-price currency="USD">9.95</unit-price> <merchant-item-id>OurID</merchant-item-id> </item> </items> <merchant-private-data>xxxx</merchant-private-data> </shopping-cart> <order-adjustment> <merchant-codes /> <total-tax currency="USD">0.0</total-tax> <adjustment-total currency="USD">0.0</adjustment-total> </order-adjustment> <buyer-id>xxxxxx</buyer-id> <google-order-number>xxxxx</google-order-number> <buyer-shipping-address> <email>xxxxxx@checkout.google.com</email> <company-name></company-name> <contact-name>xxxxxx</contact-name> <phone></phone> <fax></fax> <address1>xxxxxxx</address1> <address2></address2> <country-code>xx</country-code> <city>xxxxx</city> <region></region> <postal-code>xxxx</postal-code> </buyer-shipping-address> <buyer-billing-address> <email>xxxxxuso@checkout.google.com</email> <company-name></company-name> <contact-name>xxxxxx</contact-name> <phone></phone> <fax></fax> <address1>xxxxxx</address1> <address2>P.O. Box 23394</address2> <country-code>xx</country-code> <city>xxxxxx</city> <region></region> <postal-code></postal-code> </buyer-billing-address> <buyer-marketing-preferences> <email-allowed>false</email-allowed> </buyer-marketing-preferences> <order-total currency="USD">9.95</order-total> <fulfillment-order-state>NEW</fulfillment-order-state> <financial-order-state>REVIEWING</financial-order-state> </new-order-notification> Gchecky responds with this: 2009-02-15 08:12:45,465 ERROR payment.py:337 - Error handling Google notify request Traceback (most recent call last): File "/some/path/payment.py", line 332, in notify output_xml = controller.receive_xml(post) File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/controller.py", line 583, in receive_xml return self.on_exception(exception=e, context=context) File "/some/path/payment.py", line 150, in on_exception raise exception HandlerError: Exception in user handler 'handle_charge_amount': no job associated with Google Checkout # xxxxxxxxx 2009-02-15 11:13:02,984 DEBUG payment.py:331 - notify: handling notify request with payload <?xml version="1.0" encoding="UTF-8"?> <new-order-notification xmlns="http://ch.. 2009-02-15 11:13:03,017 ERROR payment.py:149 - Google Notify error: Traceback (most recent call last): File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/controller.py", line 563, in receive_xml input = gxml.Document.fromxml(input_xml) File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/gxml.py", line 485, in fromxml instance.read(root) File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/gxml.py", line 385, in read raise Exception('%s\n%s' % ('While reading %s' % (fname,), exc)) Exception: While reading buyer_shipping_address While reading postal_code Field <postal_code> can not be empty, but data for it is "" 2009-02-15 11:13:03,022 ERROR payment.py:337 - Error handling Google notify request Traceback (most recent call last): File "/some/path/payment.py", line 332, in notify output_xml = controller.receive_xml(post) File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/controller.py", line 583, in receive_xml return self.on_exception(exception=e, context=context) File "/some/path/payment.py", line 150, in on_exception raise exception DataError: Error reading XML: While reading buyer_shipping_address While reading postal_code Field <postal_code> can not be empty, but data for it is "" What version of the product are you using? On what operating system? FreeBSD 7.0, Python 2.5, Gchecky 0.2. Please provide any additional information below. The information above should be sufficient.
    What steps will reproduce the problem? 1. Place an order with blank postal_code in the billing address What is the expected output? What do you see instead? Google is sending the following XML: <?xml version="1.0" encoding="UTF-8"?> <new-order-notification xmlns="http://checkout.google.com/schema/2" serial-number="xxxyyyyzzzz"> <timestamp>2009-02-11T08:08:55.875Z</timestamp> <shopping-cart> <items> <item> <item-name>ItemName</item-name> <item-description>ItemDescription</item-description> <quantity>1</quantity> <unit-price currency="USD">9.95</unit-price> <merchant-item-id>OurID</merchant-item-id> </item> </items> <merchant-private-data>xxxx</merchant-private-data> </shopping-cart> <order-adjustment> <merchant-codes /> <total-tax currency="USD">0.0</total-tax> <adjustment-total currency="USD">0.0</adjustment-total> </order-adjustment> <buyer-id>xxxxxx</buyer-id> <google-order-number>xxxxx</google-order-number> <buyer-shipping-address> <email>xxxxxx@checkout.google.com</email> <company-name></company-name> <contact-name>xxxxxx</contact-name> <phone></phone> <fax></fax> <address1>xxxxxxx</address1> <address2></address2> <country-code>xx</country-code> <city>xxxxx</city> <region></region> <postal-code>xxxx</postal-code> </buyer-shipping-address> <buyer-billing-address> <email>xxxxxuso@checkout.google.com</email> <company-name></company-name> <contact-name>xxxxxx</contact-name> <phone></phone> <fax></fax> <address1>xxxxxx</address1> <address2>P.O. Box 23394</address2> <country-code>xx</country-code> <city>xxxxxx</city> <region></region> <postal-code></postal-code> </buyer-billing-address> <buyer-marketing-preferences> <email-allowed>false</email-allowed> </buyer-marketing-preferences> <order-total currency="USD">9.95</order-total> <fulfillment-order-state>NEW</fulfillment-order-state> <financial-order-state>REVIEWING</financial-order-state> </new-order-notification> Gchecky responds with this: 2009-02-15 08:12:45,465 ERROR payment.py:337 - Error handling Google notify request Traceback (most recent call last): File "/some/path/payment.py", line 332, in notify output_xml = controller.receive_xml(post) File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/controller.py", line 583, in receive_xml return self.on_exception(exception=e, context=context) File "/some/path/payment.py", line 150, in on_exception raise exception HandlerError: Exception in user handler 'handle_charge_amount': no job associated with Google Checkout # xxxxxxxxx 2009-02-15 11:13:02,984 DEBUG payment.py:331 - notify: handling notify request with payload <?xml version="1.0" encoding="UTF-8"?> <new-order-notification xmlns="http://ch.. 2009-02-15 11:13:03,017 ERROR payment.py:149 - Google Notify error: Traceback (most recent call last): File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/controller.py", line 563, in receive_xml input = gxml.Document.fromxml(input_xml) File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/gxml.py", line 485, in fromxml instance.read(root) File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/gxml.py", line 385, in read raise Exception('%s\n%s' % ('While reading %s' % (fname,), exc)) Exception: While reading buyer_shipping_address While reading postal_code Field <postal_code> can not be empty, but data for it is "" 2009-02-15 11:13:03,022 ERROR payment.py:337 - Error handling Google notify request Traceback (most recent call last): File "/some/path/payment.py", line 332, in notify output_xml = controller.receive_xml(post) File "/usr/local/lib/python2.5/site-packages/gchecky-0.2.0-py2.5.egg/gchecky/controller.py", line 583, in receive_xml return self.on_exception(exception=e, context=context) File "/some/path/payment.py", line 150, in on_exception raise exception DataError: Error reading XML: While reading buyer_shipping_address While reading postal_code Field <postal_code> can not be empty, but data for it is "" What version of the product are you using? On what operating system? FreeBSD 7.0, Python 2.5, Gchecky 0.2. Please provide any additional information below. The information above should be sufficient.
  • Jan 12, 2009
    issue 30 (Attribute 'id' must appear on element 'ship-from'.) Owner changed by etarassov   -   Great! Thank you for the bug report! I'll commit a fix for that asap.
    Owner: etarassov
    Great! Thank you for the bug report! I'll commit a fix for that asap.
    Owner: etarassov
  • Jan 07, 2009
    issue 30 (Attribute 'id' must appear on element 'ship-from'.) reported by ad...@bothsizes.com   -   Google responds with this error: "Error parsing XML; message from parser is: cvc-complex-type.4: Attribute 'id' must appear on element 'ship-from'." It seems that 'id' now ought to be '@id' in ship_from_t in model.py.
    Google responds with this error: "Error parsing XML; message from parser is: cvc-complex-type.4: Attribute 'id' must appear on element 'ship-from'." It seems that 'id' now ought to be '@id' in ship_from_t in model.py.

Older

  • Oct 15, 2008
    issue 29 (Documentation Issue) reported by mdipie...@cs.depaul.edu   -   In http://code.google.com/p/gchecky/wiki/TutorialForLevel2 the example code computes result=my_controller().receive(xml) after that the indentation in the code is incorrect and the result variable is never use. Should result be return in the page body? What content-type? In the handle_new_order and handle_order_state_change, how does one instruct google to charge? Thanks great library!
    In http://code.google.com/p/gchecky/wiki/TutorialForLevel2 the example code computes result=my_controller().receive(xml) after that the indentation in the code is incorrect and the result variable is never use. Should result be return in the page body? What content-type? In the handle_new_order and handle_order_state_change, how does one instruct google to charge? Thanks great library!
  • Oct 05, 2008
    TutorialForLevel2 (A rough tutorial for using gchecky in Level 2 integration.) Wiki page edited by etarassov
  • Oct 05, 2008
    TutorialForLevel2 (A rough tutorial for using gchecky in Level 2 integration.) Wiki page edited by etarassov
  • Oct 05, 2008
    TutorialForLevel2 Wiki page edited by etarassov
  • Oct 04, 2008
    TutorialForLevel2 Wiki page edited by etarassov
  • Oct 04, 2008
    TutorialForLevel2 (Tutorial for Level 2.) Wiki page added by etarassov
  • Sep 18, 2008
    issue 28 (test) Status changed by etarassov   -  
    Status: Invalid
    Status: Invalid
  • Sep 18, 2008
    issue 28 (test) reported by etarassov   -   test
    test
  • Sep 07, 2008
    issue 25 (Bump version number on trunk) Status changed by etarassov   -  
    Status: Fixed
    Status: Fixed
  • Sep 07, 2008
    issue 27 (Create a bug fix release 0.2.1 and upload to cheeseshop) Status changed by etarassov   -  
    Status: Fixed
    Status: Fixed
  • Sep 07, 2008
    issue 26 (support for carrier calculated shipping?) Status changed by etarassov   -  
    Status: Fixed
    Status: Fixed
  • Sep 07, 2008
    r130 (Add XML samples test. Increase version number to 0.2.1) committed by etarassov   -   Add XML samples test. Increase version number to 0.2.1
    Add XML samples test. Increase version number to 0.2.1
  • Sep 07, 2008
    r129 (Add model information about missing API commands. Controller...) committed by etarassov   -   Add model information about missing API commands. Controller support is yet to be done.
    Add model information about missing API commands. Controller support is yet to be done.
  • Aug 31, 2008
    issue 24 (notification_acknowledgment_t should include serial_number) commented on by michael.dunstan   -   Even when using the supplied patch I came across another problem with notifications. The Google Checkout XML parser chokes on formatting of the notification response. To satisfy that parser I ended up returning the pretty print of the notification message. The parsing error is reported in the Integration Console of Google Checkout as: Error parsing XML; message from parser is: Premature end of file. Without pretty print a notification acknowledgment looks like: u'<?xml version="1.0" ?><notification-acknowledgment serial-number="123456789012345-00001-7" xmlns="http://checkout.google.com/schema/2"/>' And using pretty print: u'<?xml version="1.0" ?>\n<notification-acknowledgment serial-number="123456789012345-00001-7" xmlns="http://checkout.google.com/schema/2"/>\n'
    Even when using the supplied patch I came across another problem with notifications. The Google Checkout XML parser chokes on formatting of the notification response. To satisfy that parser I ended up returning the pretty print of the notification message. The parsing error is reported in the Integration Console of Google Checkout as: Error parsing XML; message from parser is: Premature end of file. Without pretty print a notification acknowledgment looks like: u'<?xml version="1.0" ?><notification-acknowledgment serial-number="123456789012345-00001-7" xmlns="http://checkout.google.com/schema/2"/>' And using pretty print: u'<?xml version="1.0" ?>\n<notification-acknowledgment serial-number="123456789012345-00001-7" xmlns="http://checkout.google.com/schema/2"/>\n'
  • Aug 31, 2008
    issue 27 (Create a bug fix release 0.2.1 and upload to cheeseshop) commented on by michael.dunstan   -   Sounds good. Thanks for that. Timing is relaxed.
    Sounds good. Thanks for that. Timing is relaxed.
  • Aug 31, 2008
    issue 27 (Create a bug fix release 0.2.1 and upload to cheeseshop) changed by etarassov   -   Hello Michael. I'll update the trunk shortly (2-5 of days) to support the missing API commands and will prepare (and upload) a new version (to cheeseshop). Hope this is not too urgent.
    Status: Accepted
    Owner: etarassov
    Hello Michael. I'll update the trunk shortly (2-5 of days) to support the missing API commands and will prepare (and upload) a new version (to cheeseshop). Hope this is not too urgent.
    Status: Accepted
    Owner: etarassov
  • Aug 31, 2008
    issue 27 (Create a bug fix release 0.2.1 and upload to cheeseshop) reported by michael.dunstan   -   Can someone make a release from trunk? In particular I'd like to have a release on cheeseshop that does not have a dependancy on django.utils. Which was fixed in r125. http://code.google.com/p/gchecky/source/detail?r=125
    Can someone make a release from trunk? In particular I'd like to have a release on cheeseshop that does not have a dependancy on django.utils. Which was fixed in r125. http://code.google.com/p/gchecky/source/detail?r=125
  • Jul 27, 2008
    issue 26 (support for carrier calculated shipping?) commented on by lstask   -   Donig a little work on this, the patch you provided works great - the only thing I had to add was an entry for the weight of an item - here's the relevant code from model.py: {{{ WEIGHT_UNITS = ('LB') # example from google api: <item-weight unit="LB" value="5.5" /> class weight_t(gxml.Node): value = gxml.Double('@value', default=0) unit = gxml.String('@unit', values=WEIGHT_UNITS) # ... snip ... # now in the item_t definition: weight = gxml.Complex('item-weight', weight_t, required=False) }}} I've confirmed so far that this works with the Google Checkout sandbox. Thanks for your help!
    Donig a little work on this, the patch you provided works great - the only thing I had to add was an entry for the weight of an item - here's the relevant code from model.py: {{{ WEIGHT_UNITS = ('LB') # example from google api: <item-weight unit="LB" value="5.5" /> class weight_t(gxml.Node): value = gxml.Double('@value', default=0) unit = gxml.String('@unit', values=WEIGHT_UNITS) # ... snip ... # now in the item_t definition: weight = gxml.Complex('item-weight', weight_t, required=False) }}} I've confirmed so far that this works with the Google Checkout sandbox. Thanks for your help!
 
Hosted by Google Code