Exemplo n.º 1
0
 /**
  * Add payment method to request.
  *
  * @param string[] $params
  * @param mixed    $payment
  * @param string[] $options
  *
  * @return array
  */
 protected function addCard(array $params, $payment, array $options)
 {
     if (is_string($payment)) {
         if (Helper::startsWith($payment, 'cus')) {
             $params['customer'] = $payment;
         } else {
             $params['source'] = $payment;
         }
     }
     return $params;
 }
Exemplo n.º 2
0
 /**
  * Add payment method to request.
  *
  * @param string[] $params
  * @param mixed    $payment
  * @param string[] $options
  *
  * @return array
  */
 protected function addPaymentMethod(array $params, $payment, array $options)
 {
     if (is_string($payment)) {
         if ($payment == 'spei') {
             $params['bank']['type'] = 'spei';
             $params['bank']['expires_at'] = Arr::get($options, 'expires', date('Y-m-d', time() + 172800));
         } elseif ($payment == 'oxxo') {
             $params['cash']['type'] = 'oxxo';
             $params['cash']['expires_at'] = Arr::get($options, 'expires', date('Y-m-d', time() + 172800));
         } elseif (Helper::startsWith($payment, 'payee_')) {
             $params['payee_id'] = $payment;
         } else {
             $params['card'] = $payment;
         }
     } elseif ($payment instanceof CreditCard) {
         $params['card'] = [];
         $params['card']['name'] = $payment->getName();
         $params['card']['cvc'] = $payment->getCvv();
         $params['card']['number'] = $payment->getNumber();
         $params['card']['exp_month'] = $payment->getExpiryMonth();
         $params['card']['exp_year'] = $payment->getExpiryYear();
         $params['card'] = $this->addAddress($params['card'], $options);
     }
     return $params;
 }