A unique identifier of the customer to whom this bank account belongs. Generated and provided by the facilitator. **This is now used in favor of payer_id when creating or using a stored funding instrument in the vault.**
public setExternalCustomerId ( string $external_customer_id ) | ||
$external_customer_id | string |
public function store(CreditCardInterface $cardInterface, Address $address = null, $externalCustomerId = null, $merchantId = null, $externalCardId = null) { $dispatcher = $this->connectionService->getDispatcher(); $apiContext = $this->connectionService->getApiContext(); $dispatcher->dispatch(CreditCardEvent::STORE_SETUP); $creditCard = new CreditCard(); $creditCard->setType($cardInterface->getType())->setNumber($cardInterface->getNumber())->setExpireMonth($cardInterface->getExpireMonth())->setExpireYear($cardInterface->getExpireYear())->setCvv2($cardInterface->getCsc())->setFirstName($cardInterface->getFirstName())->setLastName($cardInterface->getLastName()); if ($address instanceof Address) { $creditCard->setBillingAddress($address); } if ($externalCustomerId !== null) { $creditCard->setExternalCustomerId($externalCustomerId); } if ($merchantId !== null) { $creditCard->setMerchantId($merchantId); } if ($externalCardId !== null) { $creditCard->setExternalCardId($externalCardId); } $creditCardEvent = new CreditCardEvent($creditCard); $dispatcher->dispatch(CreditCardEvent::STORE_START, $creditCardEvent); $result = $creditCard->create($apiContext); $creditCardEvent = new CreditCardEvent($result); $dispatcher->dispatch(CreditCardEvent::STORE_END, $creditCardEvent); return $result; }
use PayPal\Api\CreditCard; // ### CreditCard // A resource representing a credit card that is // to be stored with PayPal. $card = new CreditCard(); $card->setType("visa")->setNumber("4917912523797702")->setExpireMonth("11")->setExpireYear("2019")->setCvv2("012")->setFirstName("Joe")->setLastName("Shopper"); // ### Additional Information // Now you can also store the information that could help you connect // your users with the stored credit cards. // All these three fields could be used for storing any information that could help merchant to point the card. // However, Ideally, MerchantId could be used to categorize stores, apps, websites, etc. // ExternalCardId could be used for uniquely identifying the card per MerchantId. So, combination of "MerchantId" and "ExternalCardId" should be unique. // ExternalCustomerId could be userId, user email, etc to group multiple cards per user. $card->setMerchantId("MyStore1"); $card->setExternalCardId("CardNumber123" . uniqid()); $card->setExternalCustomerId("*****@*****.**"); // For Sample Purposes Only. $request = clone $card; // ### Save card // Creates the credit card as a resource // in the PayPal vault. The response contains // an 'id' that you can use to refer to it // in future payments. // (See bootstrap.php for more on `ApiContext`) try { $card->create($apiContext); } catch (Exception $ex) { // NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY ResultPrinter::printError("Create Credit Card", "Credit Card", null, $request, $ex); exit(1); }