PHP Classes

File: examples/cim/getCustomerProfileRequest.php

Recommend this page to a friend!
  Classes of John Conde   PHP Authorize.net Integration with JSON API   examples/cim/getCustomerProfileRequest.php   Download  
File: examples/cim/getCustomerProfileRequest.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Authorize.net Integration with JSON API
Process online payments with Authorize.net API
Author: By
Last change: Removed style="text/css" from examples
Updated namespacing to be PSR-0/4 compliant
Improved example to show how more data is accessed
Date: 1 year ago
Size: 6,630 bytes
 

Contents

Class file image Download
<?php
/*************************************************************************************************

Use the CIM JSON API to retrieve a customer profile

SAMPLE REQUEST
--------------------------------------------------------------------------------------------------
{
   "getCustomerProfileRequest":{
      "merchantAuthentication":{
         "name":"",
         "transactionKey":""
      },
      "customerProfileId":"31390172"
   }
}

SAMPLE RESPONSE
--------------------------------------------------------------------------------------------------
{
   "profile":{
      "paymentProfiles":[
         {
            "customerPaymentProfileId":"28393490",
            "payment":{
               "creditCard":{
                  "cardNumber":"XXXX1111",
                  "expirationDate":"XXXX"
               }
            },
            "customerTypeSpecified":false,
            "billTo":{
               "phoneNumber":"800-555-1234",
               "firstName":"John",
               "lastName":"Smith",
               "address":"123 Main Street",
               "city":"Townsville",
               "state":"NJ",
               "zip":"12345"
            }
         }
      ],
      "shipToList":[
         {
            "customerAddressId":"29366174",
            "phoneNumber":"800-555-1234",
            "firstName":"John",
            "lastName":"Smith",
            "address":"123 Main Street",
            "city":"Townsville",
            "state":"NJ",
            "zip":"12345"
         },
         {
            "customerAddressId":"29870028",
            "phoneNumber":"800-555-1234",
            "faxNumber":"800-555-1234",
            "firstName":"John",
            "lastName":"Doe",
            "company":"",
            "address":"123 Main St.",
            "city":"Bellevue",
            "state":"WA",
            "zip":"98004",
            "country":"USA"
         }
      ],
      "customerProfileId":"31390172",
      "merchantCustomerId":"12345",
      "email":"user@example.com"
   },
   "messages":{
      "resultCode":"Ok",
      "message":[
         {
            "code":"I00001",
            "text":"Successful."
         }
      ]
   }
}

*************************************************************************************************/

namespace Authnetjson;

use
Exception;

require
'../../config.inc.php';

try {
   
$request = AuthnetApiFactory::getJsonApiHandler(
       
AUTHNET_LOGIN,
       
AUTHNET_TRANSKEY,
       
AuthnetApiFactory::USE_DEVELOPMENT_SERVER
   
);
   
$response = $request->getCustomerProfileRequest([
       
'customerProfileId' => '31390172'
   
]);
} catch (
Exception $e) {
    echo
$e;
    exit;
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <title>CIM :: Get Customer Profile ID</title>
    <style>
        table { border: 1px solid #cccccc; margin: auto; border-collapse: collapse; max-width: 90%; }
        table td { padding: 3px 5px; vertical-align: top; border-top: 1px solid #cccccc; }
        pre { white-space: pre-wrap; }
        table th { background: #e5e5e5; color: #666666; }
        h1, h2 { text-align: center; }
    </style>
</head>
<body>
    <h1>
        CIM :: Get Customer Profile ID
    </h1>
    <h2>
        Results
    </h2>
    <table>
        <tr>
            <th>Successful?</th>
            <td><?= $response->isSuccessful() ? 'yes' : 'no' ?></td>
        </tr>
        <tr>
            <th>Error?</th>
            <td><?= $response->isError() ? 'yes' : 'no' ?></td>
        </tr>
        <tr>
            <th>Result Code</th>
            <td><?= $response->messages->resultCode ?></td>
        </tr>
        <tr>
            <th>Message Code</th>
            <td><?= $response->messages->message[0]->code ?></td>
        </tr>
        <tr>
            <th>Message</th>
            <td><?= $response->messages->message[0]->text ?></td>
        </tr>
        <?php if ($response->isSuccessful()) : ?>
<tr>
            <th>Customer Profile Id</th>
            <td><?= $response->profile->customerProfileId ?></td>
        </tr>
        <tr>
            <th>Merchant Customer Id</th>
            <td><?= $response->profile->merchantCustomerId ?></td>
        </tr>
        <tr>
            <th>Email</th>
            <td><?= $response->profile->email ?></td>
        </tr>
        <tr>
            <th>Payment Profiles</th>
            <td>
                <table>
                    <?php foreach ($response->paymentProfiles as $paymentProfile) : ?>
<tr>
                        <td>Customer Payment Profile Id</td><td><?= $paymentProfile->customerPaymentProfileId ?></td>
                        <td>Card Number</td><td><?= $paymentProfile->payment->creditCard->cardNumber ?></td>
                        <td>Expiration Date</td><td><?= $paymentProfile->payment->creditCard->expirationDate ?></td>
                        <td>Phone Number</td><td><?= $paymentProfile->billTo->phoneNumber ?></td>
                        <td>First Name</td><td><?= $paymentProfile->billTo->firstName ?></td>
                        <td>Last Name</td><td><?= $paymentProfile->billTo->lastName ?></td>
                        <td>Address</td><td><?= $paymentProfile->billTo->address ?></td>
                        <td>City</td><td><?= $paymentProfile->billTo->city ?></td>
                        <td>State</td><td><?= $paymentProfile->billTo->state ?></td>
                        <td>Zip</td><td><?= $paymentProfile->billTo->zip ?></td>
                    </tr>
                    <?php endforeach; ?>
</table>
            </td>
        </tr>
        <tr>
            <th>Ship To List</th>
            <td>
                <?php foreach ($response->shipToList as $shipTo) : ?>
Customer Address Id: <?= $shipTo->customerAddressId ?? '' ?><br>
                    Phone Number: <?= $shipTo->phoneNumber ?? '' ?> <br>
                    Fax Number: <?= $shipTo->faxNumber ?? '' ?> <br>
                    First Name: <?= $shipTo->firstName ?? '' ?> <br>
                    Last Name: <?= $shipTo->lastName ?? '' ?> <br>
                    Company: <?= $shipTo->company ?? '' ?> <br>
                    Address: <?= $shipTo->address ?? '' ?> <br>
                    City: <?= $shipTo->city ?? '' ?> <br>
                    State: <?= $shipTo->state ?? '' ?> <br>
                    Zip: <?= $shipTo->zip ?? '' ?> <br>
                    Country: <?= $shipTo->country ?? '' ?> <br>
                <?php endforeach; ?>
</td>
        </tr>
        <?php endif; ?>
</table>
    <h2>
        Raw Input/Output
    </h2>
<?= $request, $response ?>
</body>
</html>