Что защищает покупателя в Paypal, что правильная сумма будет зачислена на его счет во время оформления заказа? - PullRequest
0 голосов
/ 10 февраля 2019

Я тестирую свой код в песочнице PayPal с помощью Braintree SDK.Я могу установить сумму на стороне клиента, например, 10 долларов США, и клиент может продолжить процесс оформления заказа.

Но на стороне сервера, после получения кода «nonce», я могу взять с клиента 200 долларов США иошибки или проверки отсутствуют.

Что защищает покупателя от переплаты, если разработчик решает взимать больше, чем было сказано во время оформления заказа?

На стороне клиента я отправил опцию намерения в«авторизовать», но я все равно могу переоценить покупателя, если захочу.

код на стороне клиента

 paypal.Button.render({
     braintree: braintree,
                  client: {

                    sandbox: '{{$btClientToken}}'
                  },
                  env: 'sandbox',
                  commit: true, 

                  payment: function (data, actions) {
                    return actions.braintree.create({
                      flow: 'checkout', // Required
                      intent:'authorize',
                      amount: '10', // Required
                      currency: 'USD', // Required
                      displayName: 'test dispaly name',
                      description: 'test description',
                      lineItems:[
                        {
                            quantity:'1',
                            unitAmount:'10',
                            totalAmount: '10',
                            name:'line item test',
                            description:'test description',
                            kind:'debit'
                        }

                      ]
                    });

                  },
                   onAuthorize: function (payload) {

                    console.log(payload);

                    $.ajax({
                        method:'POST',
                        data:{
                            _token: '{{ csrf_token() }}',
                            payment_method_nonce: payload.nonce,
                            uid: '{{$uid}}',
                            order_id:payload.orderID,
                            payer_id:payload.payerID,
                            payment_token: payload.paymentToken
                        },
                        url:'{{url("cart/order/nonce")}}'

                    }).done((reply)=>{

                        console.log(reply);
                    });
                  },

                }, '#paypal-pay');

код на стороне сервера

$result = $gateway->transaction()->sale([
   'amount' => '200.00',
   'paymentMethodNonce' => $nonce,
       'descriptor' => [
          'name' => 'company name*myurl.com'
      ],
      'options' => [
        'submitForSettlement' => True,
        "paypal" => [
            "description" => $order->title
        ],
      ],
      'lineItems' => [
            [
                  'description' => 'TEST DESCRIPTION',
                  'name'        => 'TEST NAME',
                  'quantity'    => '1',
                  'unitAmount'  => '200.00',
                  'totalAmount' => '200.00',
                  'kind'        => 'debit'
            ]

      ]
    ]);

Я получил успешную транзакцию с суммой 200 долларов США, полученной на панели инструментов моего продавца.

1 Ответ

0 голосов
/ 10 февраля 2019

Большинство законов о защите прав потребителей позволяют потребителям вернуть свои деньги у вас, если вы неправильно их списали, и если вы делаете это систематически, орган по торговым стандартам может принять меры против вас.

Сами PayPal также будет предлагать защиту с гарантией защиты покупателя, что будет означать, что потребитель может получить свои деньги обратно непосредственно из PayPal, если продавец сам не вернет деньги.

Редактировать

@ Grumpy отмечает, что PayPal, скорее всего, заблокирует или заблокирует ваш аккаунт после нескольких транзакций.

...