nonce() public static method

Returns a nonce for use in REST calls.
See also: http://en.wikipedia.org/wiki/Cryptographic_nonce
public static nonce ( ) : string
return string
示例#1
0
 public function testNonce()
 {
     $a = Util::nonce();
     usleep(1);
     $b = Util::nonce();
     // ensure a < b
     $this->assertGreaterThan($a, $b);
 }
示例#2
0
 /**
  * @inheritdoc
  */
 public function createPayout(PayoutInterface $payout)
 {
     $request = $this->createNewRequest();
     $request->setMethod($request::METHOD_POST);
     $request->setPath('payouts');
     $amount = $payout->getAmount();
     $currency = $payout->getCurrency();
     $effectiveDate = $payout->getEffectiveDate();
     $token = $payout->getToken();
     $body = array('token' => $token->getToken(), 'amount' => $amount, 'currency' => $currency->getCode(), 'instructions' => array(), 'effectiveDate' => $effectiveDate, 'pricingMethod' => $payout->getPricingMethod(), 'guid' => Util::guid(), 'nonce' => Util::nonce());
     // Optional
     foreach (array('reference', 'notificationURL', 'notificationEmail') as $value) {
         $function = 'get' . ucfirst($value);
         if ($payout->{$function}() != null) {
             $body[$value] = $payout->{$function}();
         }
     }
     // Add instructions
     foreach ($payout->getInstructions() as $instruction) {
         $body['instructions'][] = array('label' => $instruction->getLabel(), 'address' => $instruction->getAddress(), 'amount' => $instruction->getAmount());
     }
     $request->setBody(json_encode($body));
     $this->addIdentityHeader($request);
     $this->addSignatureHeader($request);
     $this->request = $request;
     $this->response = $this->sendRequest($request);
     $body = json_decode($this->response->getBody(), true);
     $error_message = false;
     $error_message = !empty($body['error']) ? $body['error'] : $error_message;
     $error_message = !empty($body['errors']) ? $body['errors'] : $error_message;
     $error_message = is_array($error_message) ? implode("\n", $error_message) : $error_message;
     if (false !== $error_message) {
         throw new \Exception($error_message);
     }
     $data = $body['data'];
     $payout->setId($data['id'])->setAccountId($data['account'])->setResponseToken($data['token'])->setStatus($data['status']);
     foreach ($data['instructions'] as $c => $instruction) {
         $payout->updateInstruction($c, 'setId', $instruction['id']);
     }
     return $payout;
 }