방금 생성 한 새 Paypal 계정에 간단한 지불을 실행하기 위해 PayPal 버튼을 통합하려고합니다. 가이드를 따라 단추를 렌더링했지만 클릭하면 새 창이 나타납니다. 아무 일도 일어나지 않습니다. "로드 잠금"은 회전을 계속하지만 새 창이나 내 페이지에는 오류가 표시되지 않습니다. "onError()"함수를 호출하지 않습니다. 내가 뭘 잘못한 건지 모르겠다! 나는 가이드의 지시를 따랐다!페이팔 익스프레스 체크 아웃 창이 계속로드 됨
다른 웹 사이트를 탐색 할 때 새 창에서로드 /로드 중 일부가 가져 오기/실행되는 동안 내 케이스에서 아무 것도 실행되지 않습니다.
이 내 HTML 및 관련의 .js 파일 (그 아니라 일부)
//THIS FUNCTION IS CALLED TO DISPLAY A NEW ELEMENT CONTAINING THE BUTTON
function payment(todelete) {
destroy(todelete);
$("#pay").delay(timeFade).fadeIn(timeFade);
paypal.Button.render({
env: 'sandbox',
client: {
sandbox: 'MYKEY',
production: 'MYKEY'
},
commit: true,
payment: function(data, actions) {
fetch("/getOldAmount").then(function(res){
return (res.json());
}).then(function(data){
var old_amount = data[0].Donation;
var amount_tot = $("#amount").val();
//BUILDING A RANDOM TEST JSON, NOT RELATED TO MY CODE
var payment_json = {
transactions: [
{
amount: {
total: '1.00',
currency: 'USD'
}
}
]
};
if(amount_tot > old_amount){
//WHEN CLICKING PAYPAL BUTTON I CAN SEE THIS LOG, SO EVERYTHING IS FINE HERE
console.log("EXECUTING PAYPAL POST");
return actions.payment.create(payment_json);
} else {
console.log("Amount too low to execute transaction");
}
});
},
onAuthorize: function(data, actions) {
return actions.payment.execute().then(function(payment) {
console.log("AUTHORIZED");
});
},
onError: function(data, actions){
console.log("ERRORRRRRR");
console.log(data);
}
}, '#paypal-button');
}
<div class="container pagination-centered" style="display: block">
<div class="form-group">
<label class="richest_header" for="amount">ENTER AMOUNT</label>
<input type="text" class="form-control amount-field" id="amount" placeholder="Amount..." name="amountField">
</div>
<div id="paypal-button"></div>
</div>
<!-- HEADER -->
[...]
<script src="https://www.paypalobjects.com/api/checkout.js">
<script type="text/javascript" src="assets/script/myscript.js"></script>
[...]
'하지만 오류가 새 창에 표시되지 않으며, -이 브라우저 ** 개발자 ** 도구 콘솔을 참조합니까? 즉 오류가 없습니다. 여러 브라우저 (Firefox, Chrome, IE, Edge 등)를 사용해 보셨습니까? 모두 똑같은 행동을합니까? 'onAuthorize'에서 정의되지 않은 것으로 해결 된 약속 이외의 것을 반환해야합니까? –
localhost에서 파일을 시작하거나 file : ///? –
낮은 세부 사항을 위해 죄송합니다. 모든 페이지의 콘솔, 버튼을 설정 한 페이지 및 PayPal이 지불을 시작하기 위해 생성 한 새 창을 참조합니다. 버튼을 통해 실행 된 호출이 오류 (예 : "잘못된 요청")를 반환하지만 잘못된 결과 (예 : json이 올바르게 작성되지 않은 경우)를 수행하면 아무 것도 발생하지 않기 때문에이를 지정하고 있습니다. 나는 Firefox, Edge, Chrome 및 Internet Explorer가있는 모든 브라우저를 사용해 보았습니다. 언제나 같은 오래된 이야기. –