PaymentRequest.cpp [plain text]
#include "config.h"
#include "PaymentRequest.h"
#if ENABLE(APPLE_PAY)
#include "PaymentAuthorizationStatus.h"
#include <wtf/SoftLinking.h>
namespace WebCore {
PaymentRequest::PaymentRequest()
{
}
PaymentRequest::~PaymentRequest()
{
}
bool PaymentRequest::isValidSupportedNetwork(unsigned version, const String& supportedNetwork)
{
if (supportedNetwork == "amex")
return true;
if (supportedNetwork == "chinaUnionPay")
return true;
if (supportedNetwork == "discover")
return true;
if (supportedNetwork == "interac")
return true;
if (supportedNetwork == "masterCard")
return true;
if (supportedNetwork == "privateLabel")
return true;
if (supportedNetwork == "visa")
return true;
if (version >= 2 && supportedNetwork == "jcb")
return true;
return false;
}
bool isFinalStateResult(const std::optional<PaymentAuthorizationResult>& result)
{
if (!result)
return true;
switch (result->status) {
case PaymentAuthorizationStatus::Success:
return true;
case PaymentAuthorizationStatus::PINRequired:
case PaymentAuthorizationStatus::PINIncorrect:
case PaymentAuthorizationStatus::PINLockout:
return false;
case PaymentAuthorizationStatus::Failure:
if (result->errors.isEmpty())
return true;
for (auto& error : result->errors) {
if (error.code == PaymentError::Code::Unknown)
return true;
}
return false;
}
}
}
#endif