public function setType($type) { $this->type = $type; return $this; }
// API used: /v1/payments/authorization // https://developer.paypal.com/webapps/developer/docs/integration/direct/capture-payment/#authorize-the-payment require __DIR__ . '/../bootstrap.php'; use PayPal\Api\Address; use PayPal\Api\Amount; use PayPal\Api\FundingInstrument; use PayPal\Api\Payer; use PayPal\Api\Payment; use PayPal\Api\PaymentCard; use PayPal\Api\Transaction; // The biggest difference between creating a payment, and authorizing a payment is to set the intent of payment // to correct setting. In this case, it would be 'authorize' $addr = new Address(); $addr->setLine1("3909 Witmer Road")->setLine2("Niagara Falls")->setCity("Niagara Falls")->setState("NY")->setPostalCode("14305")->setCountryCode("US")->setPhone("716-298-1822"); $paymentCard = new PaymentCard(); $paymentCard->setType("visa")->setNumber("4417119669820331")->setExpireMonth("11")->setExpireYear("2019")->setCvv2("012")->setFirstName("Joe")->setLastName("Shopper")->setBillingCountry("US")->setBillingAddress($addr); $fi = new FundingInstrument(); $fi->setPaymentCard($paymentCard); $payer = new Payer(); $payer->setPaymentMethod("credit_card")->setFundingInstruments(array($fi)); $amount = new Amount(); $amount->setCurrency("USD")->setTotal(1); $transaction = new Transaction(); $transaction->setAmount($amount)->setDescription("Payment description."); $payment = new Payment(); // Setting intent to authorize creates a payment // authorization. Setting it to sale creates actual payment $payment->setIntent("authorize")->setPayer($payer)->setTransactions(array($transaction)); // For Sample Purposes Only. $request = clone $payment; // ### Create Payment