3 use PayPal\Exception\PPMissingCredentialException;
5 * API signature (3-token) based credentials
7 class PPSignatureCredential extends IPPCredential {
27 * Application Id that uniquely identifies an application that uses the
28 * Platform APIs - Not required for Express Checkout / MassPay / DCC etc
29 * Application Ids are issued by PayPal.
30 * Test application Ids are available for the sandbox environment
33 protected $applicationId;
35 public function __construct($userName, $password, $signature) {
36 $this->userName = trim($userName);
37 $this->password = trim($password);
38 $this->signature = trim($signature);
42 public function validate() {
44 if (empty($this->userName)) {
45 throw new PPMissingCredentialException("username cannot be empty");
47 if (empty($this->password)) {
48 throw new PPMissingCredentialException("password cannot be empty");
50 // Signature can be empty if using 3-rd party auth tokens from permissions API
53 public function getUserName() {
54 return $this->userName;
56 public function getPassword() {
57 return $this->password;
59 public function getSignature() {
60 return $this->signature;
63 public function setApplicationId($applicationId) {
64 $this->applicationId = trim($applicationId);
66 public function getApplicationId() {
67 return $this->applicationId;