Необработанный ИДЕНТИФИКАТОР проверки PayPal: COMPLIANCE_VIOLATION

#paypal

#paypal

Вопрос:

Я пытаюсь интегрировать PayPal checkout на свой веб-сайт angular. интеграция, кажется, в порядке, но у меня всегда возникает ошибка при создании заказа. Ниже вы найдете весь код, который я использовал.

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" ...}],
    ...
}
  

Комментарии:

1. «COMPLIANCE_VIOLATION» …}],…» Это не техническая проблема. Какие еще детали вы скрываете за этими …? В какой стране находится учетная запись PayPal-получателя?

2. … = «API не может выполнить запрошенное действие, или действие запроса семантически неверно или не проходит бизнес-проверку».

3. и для страны это Алжир.

Ответ №1:

СООТВЕТСТВИЕ ТРЕБОВАНИЯМ

Должно быть больше информации, такой как debug_id, которой вы можете поделиться, но поскольку это Алжир, я уверен, что проблема заключается в том, что учетной записи требуется настроить метод автоматической проверки для получения платежей.

Вы можете прочитать Соглашение о получении средств PayPal и автоматическом переводе для Алжира (код страны dz ) здесь (другие применимые страны в его списке имеют свой собственный URL, но текст соглашения, скорее всего, тот же)

Как подробно описано там, возможные методы автоматической проверки включают международный банковский счет или местную карту Visa, которая может снимать средства (не все карты могут это делать).

Как только вы настроите это в учетной записи, вы сможете получать платежи. Если это реальный аккаунт, обратитесь в службу поддержки PayPal за дополнительной помощью, поскольку это не техническая проблема для Stack Overflow.

Если бы это была учетная запись в режиме изолированной среды: просто создайте бизнес-учетную запись в изолированной среде для другой страны, такой как США, для использования при тестировании вашей интеграции.