fix: update recept
This commit is contained in:
@@ -49,7 +49,7 @@ class CreatePaymentCloudkassirCommand:
|
||||
email = str(user.email or '').strip()
|
||||
if not email:
|
||||
raise ApplicationException(status_code=400, message='User email missing')
|
||||
supplier_name = ' '.join(
|
||||
customer_info = ' '.join(
|
||||
part
|
||||
for part in (
|
||||
str(user.last_name or '').strip(),
|
||||
@@ -58,12 +58,14 @@ class CreatePaymentCloudkassirCommand:
|
||||
)
|
||||
if part
|
||||
)
|
||||
if not supplier_name:
|
||||
if not customer_info:
|
||||
raise ApplicationException(status_code=400, message='User full name missing')
|
||||
supplier_inn = str(user.inn or '').strip()
|
||||
if not supplier_inn:
|
||||
customer_inn = str(user.inn or '').strip()
|
||||
if not customer_inn:
|
||||
raise ApplicationException(status_code=400, message='User inn missing')
|
||||
phone = str(user.phone or '').strip() or None
|
||||
if user.birth_date is None:
|
||||
raise ApplicationException(status_code=400, message='User birth date missing')
|
||||
customer_birthday = user.birth_date.isoformat()
|
||||
|
||||
paid_total = _parse_money(payment.amount)
|
||||
if paid_total is None:
|
||||
@@ -115,9 +117,9 @@ class CreatePaymentCloudkassirCommand:
|
||||
total_amount=total_amount,
|
||||
principal_amount=principal_amount,
|
||||
service_fee=service_fee,
|
||||
phone=phone,
|
||||
supplier_name=supplier_name,
|
||||
supplier_inn=supplier_inn,
|
||||
customer_info=customer_info,
|
||||
customer_inn=customer_inn,
|
||||
customer_birthday=customer_birthday,
|
||||
request_id=str(ULID()),
|
||||
)
|
||||
receipt_model = receipt_response.get('Model')
|
||||
|
||||
@@ -14,9 +14,9 @@ class IReceipt(ABC):
|
||||
total_amount: Decimal,
|
||||
principal_amount: Decimal,
|
||||
service_fee: Decimal,
|
||||
phone: str | None = None,
|
||||
supplier_name: str = '',
|
||||
supplier_inn: str = '',
|
||||
customer_info: str = '',
|
||||
customer_inn: str = '',
|
||||
customer_birthday: str = '',
|
||||
success_url: str | None = None,
|
||||
fail_url: str | None = None,
|
||||
request_id: str | None = None,
|
||||
|
||||
@@ -40,9 +40,9 @@ class ClaudeKassirClient(IReceipt):
|
||||
total_amount: Decimal,
|
||||
principal_amount: Decimal,
|
||||
service_fee: Decimal,
|
||||
phone: str | None = None,
|
||||
supplier_name: str = '',
|
||||
supplier_inn: str = '',
|
||||
customer_info: str = '',
|
||||
customer_inn: str = '',
|
||||
customer_birthday: str = '',
|
||||
success_url: str | None = None,
|
||||
fail_url: str | None = None,
|
||||
request_id: str | None = None,
|
||||
@@ -71,13 +71,13 @@ class ClaudeKassirClient(IReceipt):
|
||||
'method': 4,
|
||||
'object': 4,
|
||||
'measurement_unit': 'шт',
|
||||
'agent_info': {
|
||||
'type': 6,
|
||||
'agentSign': 6,
|
||||
'agentData': {
|
||||
'agentOperationName': 'Исполнение поручения принципала',
|
||||
},
|
||||
'supplier_info': {
|
||||
'phones': [phone] if phone else [],
|
||||
'name': supplier_name,
|
||||
'inn': supplier_inn,
|
||||
'purveyorData': {
|
||||
'name': 'Elcsa',
|
||||
'inn': self._inn,
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -87,7 +87,7 @@ class ClaudeKassirClient(IReceipt):
|
||||
'amount': float(fee),
|
||||
'vat': 0,
|
||||
'method': 4,
|
||||
'object': 4,
|
||||
'object': 11,
|
||||
'measurement_unit': 'шт',
|
||||
},
|
||||
],
|
||||
@@ -98,14 +98,14 @@ class ClaudeKassirClient(IReceipt):
|
||||
'provision': 0,
|
||||
},
|
||||
'email': email,
|
||||
'phone': phone,
|
||||
'customerInfo': customer_info,
|
||||
'customerInn': customer_inn,
|
||||
'customerBirthday': customer_birthday,
|
||||
},
|
||||
'Email': email,
|
||||
'SuccessUrl': success_url or self._success_url,
|
||||
'FailUrl': fail_url or self._fail_url,
|
||||
}
|
||||
if phone is None:
|
||||
payload['CustomerReceipt'].pop('phone')
|
||||
if payload['SuccessUrl'] is None:
|
||||
payload.pop('SuccessUrl')
|
||||
if payload['FailUrl'] is None:
|
||||
|
||||
Reference in New Issue
Block a user