- Marcar como novo
- Favorito
- Inscrever-se
- Emudecer
- Inscrever-se no RSS Feed
- Realçar
- Imprimir
- Relatar conteúdo como inapropriado
Boa dia.
Estou a utilizar o laravel como framework.
Estou a tentar seguir o guia do SDK da Paypal https://github.com/paypal/PayPal-PHP-SDK
Tal como este tutorial para implementar no laravel : https://medium.com/justlaravel/how-to-integrate-paypal-payment-gateway-in-laravel-695063599449
Contudo sempre que tento efetuar autenticação aparece-me o seguinte erro:
<?php namespace App\Http\Controllers\Site; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use PayPal\Api\Address; use PayPal\Api\BillingInfo; use PayPal\Api\Cost; use PayPal\Api\Currency; use PayPal\Api\Invoice; use PayPal\Api\InvoiceAddress; use PayPal\Api\InvoiceItem; use PayPal\Api\MerchantInfo; use PayPal\Api\PaymentTerm; use PayPal\Api\Phone; use PayPal\Api\ShippingInfo; use PayPal\Auth\OAuthTokenCredential; use PayPal\Rest\ApiContext; class PaypalController extends Controller { private $_api_context; public function __construct() { /** PayPal api context **/ $paypal_conf = \Config::get('paypal'); $this->_api_context = new ApiContext(new OAuthTokenCredential( $paypal_conf['client_id'], $paypal_conf['secret']) ); $this->_api_context->setConfig($paypal_conf['settings']); } public function teste(){ $invoice = new Invoice(); // ### Invoice Info // Fill in all the information that is // required for invoice APIs $invoice ->setMerchantInfo(new MerchantInfo()) ->setBillingInfo(array(new BillingInfo())) ->setNote("Medical Invoice 16 Jul, 2013 PST") ->setPaymentTerm(new PaymentTerm()) ->setShippingInfo(new ShippingInfo()); // ### Merchant Info // A resource representing merchant information that can be // used to identify merchant $invoice->getMerchantInfo() ->setEmail("email") ->setFirstName("Dennis") ->setLastName("Doctor") ->setbusinessName("Medical Professionals, LLC") ->setPhone(new Phone()) ->setAddress(new Address()); $invoice->getMerchantInfo()->getPhone() ->setCountryCode("001") ->setNationalNumber("5032141716"); // ### Address Information // The address used for creating the invoice $invoice->getMerchantInfo()->getAddress() ->setLine1("1234 Main St.") ->setCity("Portland") ->setState("OR") ->setPostalCode("97217") ->setCountryCode("US"); // ### Billing Information // Set the email address for each billing $billing = $invoice->getBillingInfo(); $billing[0] ->setEmail("email"); $billing[0]->setBusinessName("Jay Inc") ->setAdditionalInfo("This is the billing Info") ->setAddress(new InvoiceAddress()); $billing[0]->getAddress() ->setLine1("1234 Main St.") ->setCity("Portland") ->setState("OR") ->setPostalCode("97217") ->setCountryCode("US"); // ### Items List // You could provide the list of all items for // detailed breakdown of invoice $items = array(); $items[0] = new InvoiceItem(); $items[0] ->setName("Sutures") ->setQuantity(100) ->setUnitPrice(new Currency()); $items[0]->getUnitPrice() ->setCurrency("USD") ->setValue(5); // #### Tax Item // You could provide Tax information to each item. $tax = new \PayPal\Api\Tax(); $tax->setPercent(1)->setName("Local Tax on Sutures"); $items[0]->setTax($tax); // Second Item $items[1] = new InvoiceItem(); // Lets add some discount to this item. $item1discount = new Cost(); $item1discount->setPercent("3"); $items[1] ->setName("Injection") ->setQuantity(5) ->setDiscount($item1discount) ->setUnitPrice(new Currency()); $items[1]->getUnitPrice() ->setCurrency("USD") ->setValue(5); // #### Tax Item // You could provide Tax information to each item. $tax2 = new \PayPal\Api\Tax(); $tax2->setPercent(3)->setName("Local Tax on Injection"); $items[1]->setTax($tax2); $invoice->setItems($items); // #### Final Discount // You can add final discount to the invoice as shown below. You could either use "percent" or "value" when providing the discount $cost = new Cost(); $cost->setPercent("2"); $invoice->setDiscount($cost); $invoice->getPaymentTerm() ->setTermType("NET_45"); // ### Shipping Information $invoice->getShippingInfo() ->setFirstName("Sally") ->setLastName("Patient") ->setBusinessName("Not applicable") ->setPhone(new Phone()) ->setAddress(new InvoiceAddress()); $invoice->getShippingInfo()->getPhone() ->setCountryCode("001") ->setNationalNumber("5039871234"); $invoice->getShippingInfo()->getAddress() ->setLine1("1234 Main St.") ->setCity("Portland") ->setState("OR") ->setPostalCode("97217") ->setCountryCode("US"); // ### Logo // You can set the logo in the invoice by providing the external URL pointing to a logo $invoice->setLogoUrl('https://www.paypalobjects.com/webstatic/i/logo/rebrand/ppcom.svg'); // For Sample Purposes Only. $request = clone $invoice; try { // ### Create Invoice // Create an invoice by calling the invoice->create() method // with a valid ApiContext (See bootstrap.php for more on `ApiContext`) $invoice->create($this->_api_context); } catch (Exception $ex) { // NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY ResultPrinter::printError("Create Invoice", "Invoice", null, $request, $ex); exit(1); } // NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY ResultPrinter::printResult("Create Invoice", "Invoice", $invoice->getId(), $request, $invoice); return $invoice; } }
Solucionado! Ir para Solução.
Soluções aceitas

- Marcar como novo
- Favorito
- Inscrever-se
- Emudecer
- Inscrever-se no RSS Feed
- Realçar
- Imprimir
- Relatar conteúdo como inapropriado
Olá @CassioDevito
Boa noite!
Pelas informações que nos passou, a conta a ser usada, não possui tal habilitação para o recurso utilizado.
O que se faz necessário uma análise na conta PayPal que vai receber os pagamentos por essa integração.
Não consegui identificar se a conta que vai receber os pagamentos é ou não do Brasil, então aqui vai algumas dicas:
Se a conta PayPal for brasileira, não recomendamos a utilização do SDK, pois se trata de uma integração usada fora do Brasil.
Aqui neste link, tem as formas que você pode integrar usando uma conta PayPal brasileira.
E aqui, você pode acessar as documentações que usamos no Brasil.
Agora se a conta PayPal não for brasileira, indico que entre em contato com o Paypal do País da conta, para que possa validar a utilização do recurso.
Aqui, você pode solicitar um suporte do PayPal americano, para que possam lhe instruir certinho.
Espero ter ajudado!

- Marcar como novo
- Favorito
- Inscrever-se
- Emudecer
- Inscrever-se no RSS Feed
- Realçar
- Imprimir
- Relatar conteúdo como inapropriado
Olá @CassioDevito
Boa noite!
Pelas informações que nos passou, a conta a ser usada, não possui tal habilitação para o recurso utilizado.
O que se faz necessário uma análise na conta PayPal que vai receber os pagamentos por essa integração.
Não consegui identificar se a conta que vai receber os pagamentos é ou não do Brasil, então aqui vai algumas dicas:
Se a conta PayPal for brasileira, não recomendamos a utilização do SDK, pois se trata de uma integração usada fora do Brasil.
Aqui neste link, tem as formas que você pode integrar usando uma conta PayPal brasileira.
E aqui, você pode acessar as documentações que usamos no Brasil.
Agora se a conta PayPal não for brasileira, indico que entre em contato com o Paypal do País da conta, para que possa validar a utilização do recurso.
Aqui, você pode solicitar um suporte do PayPal americano, para que possam lhe instruir certinho.
Espero ter ajudado!
- Marcar como novo
- Favorito
- Inscrever-se
- Emudecer
- Inscrever-se no RSS Feed
- Realçar
- Imprimir
- Relatar conteúdo como inapropriado
https://www.paypal-community.com/t5/Sandbox-Environment/quot-Authorization-failed-due-to-insufficien...
I should just create a new APP. I did it but the error persists.
Nobody at Paypal support from Brazil seems to know what I am talking about.

Haven't Found your Answer?
It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.
- Dúvida sobre pagamentos no Google Play com o PayPal em Comprar e enviar pagamentos
- Mudar método de pagamento já efetuado em Comprar e enviar pagamentos
- Adicionar dinheiro ao Paypal desde conta bancária em Comprar e enviar pagamentos
- dificuldade em efetuar o pagamento da Adobe usado o cartão de debito, banco itau em Comprar e enviar pagamentos
- Como comprar e vender bitcoin no Paypal em Portugal em Comprar e enviar pagamentos