Payum\Paypal\ProCheckout\Nvp\Api::doCredit PHP Method

doCredit() public method

public doCredit ( array $fields ) : array
$fields array
return array
    public function doCredit(array $fields)
    {
        $fields['TRXTYPE'] = self::TRXTYPE_CREDIT;
        $this->addAuthorizeFields($fields);
        $result = $this->doRequest($fields);
        $result['TRXTYPE'] = self::TRXTYPE_CREDIT;
        return $result;
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     /** @var $request Refund */
     RequestNotSupportedException::assertSupports($this, $request);
     $details = ArrayObject::ensureArrayObject($request->getModel());
     if (null === $details['RESULT']) {
         return;
     }
     $refundableTrxTypes = array(Api::TRXTYPE_SALE, Api::TRXTYPE_DELAYED_CAPUTER, Api::TRXTYPE_VOICE_AUTHORIZATION);
     if (false == in_array($details['TRXTYPE'], $refundableTrxTypes)) {
         throw new LogicException(sprintf('You cannot refund transaction with type %s. Only these types could be refunded: %s', $details['TRXTYPE'], implode(', ', $refundableTrxTypes)));
     }
     $details->validateNotEmpty(array('PNREF'), true);
     $details['PURCHASE_TRXTYPE'] = $details['TRXTYPE'];
     $details['TRXTYPE'] = null;
     $details['PURCHASE_RESULT'] = $details['RESULT'];
     $details['RESULT'] = null;
     $details['ORIGID'] = $details['PNREF'];
     $details->replace($this->api->doCredit($details->toUnsafeArray()));
 }
All Usage Examples Of Payum\Paypal\ProCheckout\Nvp\Api::doCredit