示例#1
0
def handle_notification(request):
    if request.method == 'POST':
        xml =  request.raw_post_data
        recurly = Recurly(**settings.RECURLY)
        note_type = recurly.parse_notification(xml)
        note_data = recurly.response
        
        
        print note_type, note_data
 def test_subscription_notification(self):
     recurly = Recurly()
     
     xml = """
         <?xml version="1.0" encoding="UTF-8"?>
         <new_subscription_notification>
             <account>
                 <account_code>123</account_code>
                 <username>user</username>
                 <email>[email protected]</email>
                 <first_name>Verena</first_name>
                 <last_name>Test</last_name>
                 <company_name></company_name>
             </account>
             <subscription>
                 <plan>
                     <plan_code>daily</plan_code>
                     <name>daily</name>
                     <version type="integer">2</version>
                 </plan>
                 <state>pending</state>
                 <quantity type="integer">1</quantity>
                 <total_amount_in_cents type="integer">245</total_amount_in_cents>
                 <activated_at type="datetime">2010-01-23T21:37:31-08:00</activated_at>
                 <canceled_at type="datetime"></canceled_at>
                 <expires_at type="datetime"></expires_at>
                 <current_period_started_at type="datetime">2010-01-23T21:37:31-08:00</current_period_started_at>
                 <current_period_ends_at type="datetime">2010-01-24T21:37:31-08:00</current_period_ends_at>
                 <trial_started_at type="datetime"></trial_started_at>
                 <trial_ends_at type="datetime"></trial_ends_at>
             </subscription>
         </new_subscription_notification>
         """
     
     note_type = recurly.parse_notification(xml)
     note_data = recurly.response
     
     self.assertEqual(note_type, 'new_subscription_notification')
     self.assertEqual(note_data['account']['account_code'], '123')
     self.assertEqual(note_data['subscription']['state'], 'pending')
 def test_account_notification(self):
     recurly = Recurly()
     
     xml = """
         <?xml version="1.0" encoding="UTF-8"?>
         <new_account_notification>
             <account>
                 <account_code>test_account</account_code>
                 <username>user</username>
                 <email>[email protected]</email>
                 <first_name>Verena</first_name>
                 <last_name>Test</last_name>
                 <company_name></company_name>
             </account>
         </new_account_notification>
         """
     
     note_type = recurly.parse_notification(xml)
     note_data = recurly.response
             
     self.assertEqual(note_type, 'new_account_notification')
     self.assertEqual(note_data['account']['account_code'], 'test_account')
     self.assertEqual(note_data['account']['first_name'], 'Verena')