Я разработал небольшой API, который использует PayPal Adaptive Payments для создания цепочки платежей.PayPal Adaptive Payments с одним товаром
Вот мой текущий JSON тело, Я посылаю к PayPal:
{
actionType: "PAY",
currencyCode: currency_code,
feesPayer: "SECONDARYONLY",
memo: product_name,
receiverList: {
receiver: [{
amount: payment_amount,
email: primary_email,
primary: true
}, {
amount: payment_amount-(0.03*payment_amount),
email: secondary_email,
primary: false
}]
},
returnUrl: "http://example.com/payment-success",
cancelUrl: "http://example.com/payment-cancel",
requestEnvelope: {
errorLanguage: "en_US"
},
trackingId: product_id
}
Он отлично работает. Полная сумма отправляется основному пользователю, а затем 97% от полной суммы отправляется второму пользователю.
Хотя, я хотел бы, чтобы каждый из моих предметов так, чтобы их количество всегда 1
. Мой сайт динамичен и позволяет пользователям создавать элементы все время с их собственной ценой, именем и т. Д. Я хотел бы отметить товар как purchased
на моем сайте после того, как кто-то проверит с PayPal, чтобы никто не смог его снова купить, следовательно удалив кнопку purchase
.
Я понимаю, как это сделать с помощью Webhooks (предоставляется PayPal), хотя, если два или более пользователей нажимают кнопку purchase
на моем веб-сайте и одновременно проверяют с PayPal?
это действительно кажется очень логичным подходом, хотя, к сожалению, это просто просто не будет работать. Что делать, если пользователь моего приложения не любил другого пользователя и решил нажать «купить» для всех своих товаров?Поэтому другим пользователям не разрешат приобретать эти предметы, поскольку они будут помечены как «приобретенные» в моей БД. Затем в течение еще 3 часов они могут просто просто нажать кнопку покупки снова, чтобы возобновить 3 часа. – Fizzix
Это всего лишь пример и означает, что вы можете настроить любое правило на шаге 3 в своем прецеденте, например. создавать уникальные пары 'invoiceId-userId', чтобы каждый покупатель имел один шанс приобрести. Продукты PayPal (или вообще, оплата) больше не помогут в этой перспективе, вам необходимо создать систему торгов, чтобы она работала тогда. –