我正在尝试将PayPal结帐功能集成到我的网站中。集成似乎很好,但是创建订单时我总是出错。在下面,您将找到我使用的所有代码。
index.html
<head>
...
<script src="https://www.paypal.com/sdk/js?client-id=MY-APP-SANDBOX-ID"></script>
</head>
donation.component.ts
declare var paypal;
...
export class DonationComponent implements OnInit{
...
ngOnInit(): void {
...
paypal.Buttons({
createOrder: (data, actions) => {
return actions.order.create({
purchase_units: [{
description: "Donation For Al-Darb Platform.",
amount: {
currency_code: 'USD',
value: this.value
}
}]
});
},
onApprove: async (data, actions) => {
const order = await actions.order.capture();
console.log(order);
},
onError: err => {
console.log(err);
}
}).render(this.paypalElement.nativeElement);
}
}
donation.component.html
...
<div #paypal></div>
执行所有操作后,仅在结帐时一切正常(登录Paypal并验证付款后)。我总是收到以下错误 HTTP 400 :
{
ack: "contingency",
contingency: "UNPROCESSABLE_ENTITY"
data: {name: "UNPROCESSABLE_ENTITY", details: [{ issue: "COMPLIANCE_VIOLATION" ...}],
...
}
答案 0 :(得分:2)
COMPLIANCE_VIOLATION
应该有更多信息可以共享,例如debug_id,但是由于是阿尔及利亚,所以我确定问题是该帐户需要设置自动清除方法才能接收付款。
可能的自动清算方法包括国际银行帐户或能够提取资金(并非所有卡都可以提取)的本地Visa卡。
在帐户上进行此设置后,您就可以接收付款。请联系PayPal的支持以获得更多帮助,这不是Stack Overflow的技术问题。