2016-09-20 2 views
0

Я новичок в Square и пытаюсь получить их простой SqPaymentForm, работающий под Tomcat/Eclipse/Firefox. Я получаю отрицательную ошибку при загрузке формы при загрузке формы. Кажется, что iFrames работает, поскольку я могу вводить данные в них и публиковать их. Тем не менее, я получаю 2 ошибки.Squareup iFrame не допускается

Каждый раз, когда загружается форма, я получаю следующую ошибку. Я попытался включить параметры фильтра безопасности в eclipse tomcat web.xml по умолчанию, а также в web.xml веб-приложения. Я даже попытался отключить антибликовое нажатие, но это тоже не сработало.

Любые предложения будут оценены ...

нагрузки опровергнута X-Frame-Options: https://connect.squareup.com/v2/logo.html?s=MY-ID не допускают перекрестного происхождение обрамления.

<?xml version="1.0" encoding="UTF-8"?> 

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 

    <filter> 
     <filter-name>httpHeaderSecurity</filter-name> 
     <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class> 
     <async-supported>true</async-supported> 
     <init-param> 
      <param-name>antiClickJackingEnabled</param-name> 
      <param-value>true</param-value> 
     </init-param> 
     <init-param> 
      <param-name>antiClickJackingOption</param-name> 
      <param-value>SAMEORIGIN</param-value> 
     </init-param> 
     <init-param> 
      <param-name>antiClickJackingUri</param-name> 
      <param-value>https://connect.squareup.com</param-value> 
     </init-param> 
    </filter> 

</web-app> 

2-ая ошибка, я получаю:

TypeError: event is undefined 
    requestCardNonce() 
    TestSquare1.jsp:142 
    onclick() 

Эта ошибка генерируется из формы оплаты "event.preventDefault()":

// This function is called when a buyer clicks the Submit button on the webpage to charge their card. 
function requestCardNonce(event) 
{ 
    // This prevents the Submit button from submitting its associated form. 
    // Instead, clicking the Submit button should tell the SqPaymentForm to generate 
    // a card nonce, which the next line does. 
    event.preventDefault(); 

    paymentForm.requestCardNonce(); 
} 

ответ

1

Отвечая на ваш второй ошибки первой: Вероятно, вы ошибаетесь в своем коде, когда звоните requestCardNonce(event), так что он только говорит requestCardNonce(), когда вы отправляете форму, оставляя event переменная не определена внутри функции.

Ваша первая ошибка немного сложнее. Это похоже на загрузку iframe, но также есть ошибка. Если вы можете загрузить iframe и заставить его работать, это звучит как победа для меня. Не могли бы вы поделиться еще одним кодом, который имеет iframe?

+0

Несомненно, я могу поделиться кодом, но я не уверен, как загрузить файл здесь. У меня есть простая веб-страница HTML. Между тем, я взял код непосредственно с сайта разработчика Square. Параметр события есть по умолчанию. Вот ссылка: https://docs.connect.squareup.com/articles/adding-payment-form/?q=embed%20payment%20form – zappullae

+0

Да, похоже, что есть ошибка с этим файлом. Однако у вас не должно быть проблем с обработкой платежей. – tristansokol

+0

Спасибо за помощь. Является ли событие ошибкой? Я не могу переносить транзакции без nonce, и это должно произойти из SqPaymentForm, который я не могу получить из-за X-Frame. Даже если я прокомментирую requestCardNonce (событие) – zappullae

Смежные вопросы