API корзины для любого платежного шлюза? (PayPal по крайней мере требуется)

Я пытаюсь найти API на основе Java, который как минимум оборачивает детали обработки транзакции по кредитной карте или покупки через PayPal, а также другие шлюзы как плюс в виде IPN (то есть, не требуется никаких продуктов, только сумма счета)

В качестве упрощения, я думаю, что я должен быть в состоянии сделать что-то вроде следующего псевдокода:

<code>shoppingApi.postTransaction("paypal", amount, currency, invoiceId, purchaseDescription)
</code>

и позже во время запланированной задачи или уведомления от URL IPN:

<code>completedPayments = shoppingApi.getUnprocessedCompletedPayments();
for (Payment payment: completedPayments)
{
  // my code to process a successful payment.
}
</code>

и затем я обработаю покупки.

Я знаю, что существуют тонны тележек для покупок, которые делают это, но из того, что я видел, они все хотят, чтобы вы поместили ваши продукты в их систему, что не работает для меня. Мои продукты находятся в сторонней системе, и я просто хочу обработать платеж. Вот и все.

И ни одна корзина, о которой я знаю, не предоставляет такого простого API, как тот, который я предлагаю выше. Мне все равно, какой тип оплаты используют мои пользователи, я просто хочу знать, завершили ли они его. Я знаю, что на Shopify.com есть API REST, который делает что-то подобное, но он не похож на IPN (ему нужны ваши продукты в его системе).

Спасибо заранее за любые предложения!

EDIT: Конечно, я знаю, что существуют другие статусы, на которые мне нужно обратить внимание, например, «ожидающие рассмотрения» и т. Д., Но это просто еще один простой вызов API, например shoppingApi.getPendingPayments (). Если бы API выполнил 2 вышеуказанных вызова, я был бы очень рад ;-)

EDIT 2: Я предпочитаю open source, но я полностью открыт для рекламы, если это фиксированная плата, может быть опробовано в некоторой степени и является достаточно зрелым / респектабельным

EDIT 3 - MAJOR NOTE: Я уверен, что такая библиотека должна существовать. Или нет, это другой вопрос. Чтобы было ясно, я действительно хотел бы увидеть "да, использовать эту библиотеку" ответы, а не «НЕТ», это не может быть сделано, так как я уверен, что это возможно ;-) Заранее спасибо!

Ответы на вопрос(6)

Ваш ответ на вопрос