Skip to content

Commit 1c3eda8

Browse files
committed
Merge branch 'future' of https://github.com/AuthorizeNet/sdk-php
2 parents c4a0184 + c9d1e99 commit 1c3eda8

4 files changed

Lines changed: 102 additions & 5 deletions

File tree

README.md

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ $subscription->intervalLength = "1";
131131
$subscription->intervalUnit = "months";
132132
$subscription->startDate = "2011-03-12";
133133
$subscription->totalOccurrences = "12";
134-
$subscription->amount = "12.99");
134+
$subscription->amount = "12.99";
135135
$subscription->creditCardCardNumber = "6011000000000012";
136136
$subscription->creditCardExpirationDate= "2018-10";
137137
$subscription->creditCardCardCode = "123";
@@ -245,3 +245,80 @@ To autogenerate PHPDocs run:
245245
```shell
246246
vendor/bin/phpdoc -t doc/api/ -d lib
247247
```
248+
249+
## New Model
250+
251+
We’re exploring a new model of maintaining the SDKs which allows us to be more responsive to API changes. This model is consistent across the different SDK languages, which is great for us, however we do not want to sacrifice your productivity by losing the inherent efficiencies in the PHP language or our object model. To this end we’re introducing the new model as purely “experimental” at this time and we would appreciate your feedback. Let us know what you really think! Here’s an example of a server side call with ApplePay data in the new model.
252+
253+
### Apple Pay Example
254+
You'll need to introduce some new dependencies into composer.json
255+
````json
256+
{
257+
258+
"require": {
259+
"php": ">=5.2.0",
260+
"ext-curl": "*",
261+
"authorizenet/authorizenet": "1.8.3",
262+
"jms/serializer": "xsd2php-dev as 0.18.0"
263+
},
264+
"require-dev": {
265+
"goetas/xsd2php": "2.*@dev",
266+
"goetas/xsd-reader": "2.*@dev"
267+
},
268+
"repositories": [{
269+
"type": "vcs",
270+
"url": "https://github.com/goetas/serializer.git"
271+
}]
272+
273+
}
274+
````
275+
276+
Here's the PHP code :
277+
278+
````php
279+
<?php
280+
require 'vendor/autoload.php';
281+
282+
use net\authorize\api\contract\v1 as AnetAPI;
283+
use net\authorize\api\controller as AnetController;
284+
285+
define("AUTHORIZENET_LOG_FILE", "phplog");
286+
287+
$merchantAuthentication = new AnetAPI\MerchantAuthenticationType();
288+
$merchantAuthentication->setName("5KP3u95bQpv");
289+
$merchantAuthentication->setTransactionKey("4Ktq966gC55GAX7S");
290+
$refId = 'ref' . time();
291+
292+
$op = new AnetAPI\OpaqueDataType();
293+
$op->setDataDescriptor("COMMON.APPLE.INAPP.PAYMENT");
294+
$op->setDataValue("eyJkYXRhIjoiQkRQTldTdE1tR2V3UVVXR2c0bzdFXC9qKzFjcTFUNzhxeVU4NGI2N2l0amNZSTh3UFlBT2hzaGpoWlBycWRVcjRYd1BNYmo0emNHTWR5KysxSDJWa1BPWStCT01GMjV1YjE5Y1g0bkN2a1hVVU9UakRsbEIxVGdTcjhKSFp4Z3A5ckNnc1NVZ2JCZ0tmNjBYS3V0WGY2YWpcL284WkliS25yS1E4U2gwb3VMQUtsb1VNbit2UHU0K0E3V0tycXJhdXo5SnZPUXA2dmhJcStIS2pVY1VOQ0lUUHlGaG1PRXRxK0grdzB2UmExQ0U2V2hGQk5uQ0hxenpXS2NrQlwvMG5xTFpSVFliRjBwK3Z5QmlWYVdIZWdoRVJmSHhSdGJ6cGVjelJQUHVGc2ZwSFZzNDhvUExDXC9rXC8xTU5kNDdrelwvcEhEY1JcL0R5NmFVTStsTmZvaWx5XC9RSk4rdFMzbTBIZk90SVNBUHFPbVhlbXZyNnhKQ2pDWmxDdXcwQzltWHpcL29iSHBvZnVJRVM4cjljcUdHc1VBUERwdzdnNjQybTRQendLRitIQnVZVW5lV0RCTlNEMnU2amJBRzMiLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiOTRlZTA1OTMzNWU1ODdlNTAxY2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zYWN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZGYxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJHbStnc2wwUFpGVFwva0RkVVNreHd5Zm84SnB3VFFRekJtOWxKSm5tVGw0REdVdkFENEdzZUdqXC9wc2hCWjBLM1RldXFEdFwvdERMYkUrOFwvbTB5Q21veHc9IiwicHVibGljS2V5SGFzaCI6IlwvYmI5Q05DMzZ1QmhlSEZQYm1vaEI3T28xT3NYMkora0pxdjQ4ek9WVmlRPSJ9LCJzaWduYXR1cmUiOiJNSUlEUWdZSktvWklodmNOQVFjQ29JSURNekNDQXk4Q0FRRXhDekFKQmdVckRnTUNHZ1VBTUFzR0NTcUdTSWIzRFFFSEFhQ0NBaXN3Z2dJbk1JSUJsS0FEQWdFQ0FoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQXdKekVsTUNNR0ExVUVBeDRjQUdNQWFBQnRBR0VBYVFCQUFIWUFhUUJ6QUdFQUxnQmpBRzhBYlRBZUZ3MHhOREF4TURFd05qQXdNREJhRncweU5EQXhNREV3TmpBd01EQmFNQ2N4SlRBakJnTlZCQU1lSEFCakFHZ0FiUUJoQUdrQVFBQjJBR2tBY3dCaEFDNEFZd0J2QUcwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOQzgra2d0Z212V0YxT3pqZ0ROcmpURUJSdW9cLzVNS3ZsTTE0NnBBZjdHeDQxYmxFOXc0ZklYSkFEN0ZmTzdRS2pJWFlOdDM5ckx5eTd4RHdiXC81SWtaTTYwVFoyaUkxcGo1NVVjOGZkNGZ6T3BrM2Z0WmFRR1hOTFlwdEcxZDlWN0lTODJPdXA5TU1vMUJQVnJYVFBITmNzTTk5RVBVblBxZGJlR2M4N20wckFnTUJBQUdqWERCYU1GZ0dBMVVkQVFSUk1FK0FFSFpXUHJXdEpkN1laNDMxaENnN1lGU2hLVEFuTVNVd0l3WURWUVFESGh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdGdoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQURnWUVBYlVLWUNrdUlLUzlRUTJtRmNNWVJFSW0ybCtYZzhcL0pYditHQlZRSmtPS29zY1k0aU5ERkFcL2JRbG9nZjlMTFU4NFRId05SbnN2VjNQcnY3UlRZODFncTBkdEM4elljQWFBa0NISUkzeXFNbko0QU91NkVPVzlrSmsyMzJnU0U3V2xDdEhiZkxTS2Z1U2dRWDhLWFFZdVpMazJScjYzTjhBcFhzWHdCTDNjSjB4Z2VBd2dkMENBUUV3T3pBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWFCUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUJhSzNFbE9zdGJIOFdvb3NlREFCZitKZ1wvMTI5SmNJYXdtN2M2VnhuN1phc05iQXEzdEF0OFB0eSt1UUNnc3NYcVprTEE3a3oyR3pNb2xOdHY5d1ltdTlVandhcjFQSFlTK0JcL29Hbm96NTkxd2phZ1hXUnowbk1vNXkzTzFLelgwZDhDUkhBVmE4OFNyVjFhNUpJaVJldjNvU3RJcXd2NXh1WmxkYWc2VHI4dz09In0=");
295+
$paymentOne = new AnetAPI\PaymentType();
296+
$paymentOne->setOpaqueData($op);
297+
298+
//create a transaction
299+
$transactionRequestType = new AnetAPI\TransactionRequestType();
300+
$transactionRequestType->setTransactionType( "authCaptureTransaction");
301+
$transactionRequestType->setAmount(151);
302+
$transactionRequestType->setPayment($paymentOne);
303+
304+
$request = new AnetAPI\CreateTransactionRequest();
305+
$request->setMerchantAuthentication($merchantAuthentication);
306+
$request->setRefId( $refId);
307+
$request->setTransactionRequest( $transactionRequestType);
308+
309+
$controller = new AnetController\CreateTransactionController($request);
310+
$response = $controller->executeWithApiResponse( \net\authorize\api\constants\ANetEnvironment::SANDBOX);
311+
312+
if ($response != null)
313+
{
314+
$tresponse = $response->getTransactionResponse();
315+
316+
if (($tresponse != null) && ($tresponse->getResponseCode()=="1") )
317+
{
318+
echo " AUTH CODE : " . $tresponse->getAuthCode() . "\n";
319+
echo " TRANS ID : " . $tresponse->getTransId() . "\n";
320+
}
321+
}
322+
323+
?>
324+
````

lib/ssl/cert.pem

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
11
-----BEGIN CERTIFICATE-----
2+
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
3+
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
4+
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
5+
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
6+
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
7+
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
8+
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
9+
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
10+
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
11+
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
12+
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
13+
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
14+
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
15+
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
16+
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
17+
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
18+
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
19+
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
20+
-----END CERTIFICATE-----
21+
-----BEGIN CERTIFICATE-----
222
MIIEYTCCA0mgAwIBAgIESyDOMjANBgkqhkiG9w0BAQUFADCBsTELMAkGA1UEBhMC
323
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
424
Lm5ldC9ycGEgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW

tests/AuthorizeNetARB_Test.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public function testCreateSubscriptionLong()
6565
$subscription->name = "test subscription";
6666
$subscription->intervalLength = "1";
6767
$subscription->intervalUnit = "months";
68-
$subscription->startDate = "2015-03-12";
68+
$subscription->startDate = "2018-03-12";
6969
$subscription->totalOccurrences = "14";
7070
$subscription->trialOccurrences = "";
7171
$subscription->amount = "6.99";
@@ -137,7 +137,7 @@ public function testCreateSubscriptionECheck()
137137
$subscription->name = "my test echeck subscription";
138138
$subscription->intervalLength = "1";
139139
$subscription->intervalUnit = "months";
140-
$subscription->startDate = "2015-04-12";
140+
$subscription->startDate = "2019-04-12";
141141
$subscription->totalOccurrences = "2";
142142
$subscription->trialOccurrences = "";
143143
$subscription->amount = "11.99";

tests/AuthorizeNetCIM_Test.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ public function testAll()
263263
$request = new AuthorizeNetCIM;
264264
$customerProfile = new AuthorizeNetCustomer;
265265
$customerProfile->description = "Description of customer";
266-
$customerProfile->merchantCustomerId = time().rand(1,10);
266+
$customerProfile->merchantCustomerId = time().rand(1,100);
267267
$customerProfile->email = "blahblahblah@domain.com";
268268
$response = $request->createCustomerProfile($customerProfile);
269269
$this->assertTrue($response->isOk());
@@ -376,7 +376,7 @@ public function testGetCustomerProfileIds()
376376
$request = new AuthorizeNetCIM;
377377
$customerProfile = new AuthorizeNetCustomer;
378378
$customerProfile->description = "Description of customer";
379-
$customerProfile->merchantCustomerId = time().rand(1,10);
379+
$customerProfile->merchantCustomerId = time().rand(1,100);
380380
$customerProfile->email = "blahblahblah@domain.com";
381381
$response = $request->createCustomerProfile($customerProfile);
382382
$this->assertTrue($response->isOk());

0 commit comments

Comments
 (0)