Skip to content

Commit e31e23a

Browse files
committed
fix(action-network): handle donation transaction status update in API workflow
1 parent 1ed719f commit e31e23a

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

action-network/web/normalize.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,25 +64,25 @@ def donation(payload: Donation):
6464
if payload.amount > 999999:
6565
raise ValueError("Amount exceeds allowed limit.")
6666

67-
checkout_data = payload.checkout_data
68-
address = checkout_data.address
69-
phone = checkout_data.phone
67+
checkout_data = payload.checkout_data or {}
68+
address = checkout_data.get('address', {})
69+
phone = checkout_data.get('phone', None)
7070

7171
item = {
72-
'name': checkout_data.name.title(),
73-
'email': checkout_data.email,
72+
'name': checkout_data.get('name', '').title(),
73+
'email': checkout_data.get('email', ''),
7474
'metadata': {
7575
'amount': f"{str(payload.amount)[:-2]}.00",
7676
'transaction_status': payload.transaction_status,
7777
'payment_method': payload.payment_method,
7878
'recurring': payload.subscription,
7979
'recurring_period': "Monthly" if payload.subscription else None
8080
},
81-
'address_line': f"{address.street_number} {address.street}, {address.complementary}".strip(', '),
82-
'locality': address.city,
83-
'region': address.state,
84-
'postal_code': address.zipcode,
85-
'phone': f"+55{phone.ddd}{phone.number}" if phone else None
81+
'address_line': f"{address.get('street_number', '')} {address.get('street', '')}, {address.get('complementary', '')}".strip(', '),
82+
'locality': address.get('city', ''),
83+
'region': address.get('state', ''),
84+
'postal_code': address.get('zipcode', ''),
85+
'phone': f"+55{phone['ddd']}{phone['number']}" if phone else None
8686
}
8787

8888
item['name'], item['given_name'], item['family_name'] = normalize_name(item['name'], None, None)
@@ -130,6 +130,7 @@ def to_payload(data: Payload):
130130
response['action'] = 'form'
131131

132132
elif table == 'donations':
133+
payload.checkout_data = payload.get('checkout_data', {})
133134
response = donation(payload=payload)
134135
response['action'] = 'donation'
135136

0 commit comments

Comments
 (0)