Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Controle de pagamento simultâneo


Idealmente, você deve ter um stock campo em seu Product modelo para manter o número de quantidades disponíveis para aquele produto.

Quando alguém faz um pedido, um order separado instância deve ser criada com o número de quantidades do Prodduct Especificadas. O estoque só deve ser reduzido quando o retorno de chamada for recebido para esse order ou um webhook é recebido confirmando o pagamento.

Isso não impediria que outros clientes fizessem pedidos para o mesmo produto até que o item fosse realmente vendido.

Outra abordagem poderia ser reduzir o estoque quando o cliente for para a página de retorno de chamada e liberar o estoque se o pagamento não for recebido dentro de um determinado período de tempo. A tarefa em segundo plano seria necessária para isso.

Observação: use F objeto de django.models enquanto reduz o estoque para reduzir o estoque do valor do banco de dados e não do atributo de instância.