add payment retries

This commit is contained in:
2026-01-16 14:13:58 -03:00
parent 466936acf4
commit 61c01956b5
6 changed files with 126 additions and 18 deletions

View File

@@ -50,6 +50,15 @@ def payment_retries(
},
exc_cls=InvoiceNotFoundError,
)
transact.put(
item={
'id': order_id,
'sk': 'CREDIT_CARD',
'brand': credit_card.brand,
'last4': credit_card.last4,
'created_at': now_,
}
)
transact.put(
item={
'id': order_id,

View File

@@ -1,6 +1,10 @@
from http import HTTPMethod, HTTPStatus
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
from layercake.dynamodb import (
DynamoDBPersistenceLayer,
SortKey,
TransactKey,
)
from ...conftest import HttpApiProxy, LambdaContext
@@ -33,12 +37,18 @@ def test_payment_retries(
assert r['statusCode'] == HTTPStatus.CREATED
r = dynamodb_persistence_layer.collection.get_items(
KeyPair('4b23f6f5-5377-476b-b1de-79427c0295f6', 'TRANSACTION')
+ KeyPair(
'4b23f6f5-5377-476b-b1de-79427c0295f6',
TransactKey('4b23f6f5-5377-476b-b1de-79427c0295f6')
+ SortKey('TRANSACTION')
+ SortKey(
'CREDIT_CARD',
rename_key='cc',
)
+ SortKey(
'TRANSACTION#STATS',
rename_key='stats',
)
),
)
assert r['credit_card']['number'] == '4111111111111111'
assert 'last_attempt_succeeded' not in r['stats']
assert r['cc']['last4'] == '1111'
assert r['cc']['brand'] == 'Visa'