Skip to content

Commit 3b05458

Browse files
committed
Amazon Pay PHP SDK 3.5.0
1 parent aff849d commit 3b05458

File tree

7 files changed

+172
-19
lines changed

7 files changed

+172
-19
lines changed

AmazonPay/Client.php

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
class Client implements ClientInterface, LoggerAwareInterface
2525
{
26-
const SDK_VERSION = '3.4.1';
26+
const SDK_VERSION = '3.5.0';
2727
const MWS_VERSION = '2013-01-01';
2828
const MAX_ERROR_RETRY = 3;
2929

@@ -431,8 +431,9 @@ private function setDefaultValues($parameters, $fieldMappings, $requestParameter
431431
if (array_key_exists('currency_code', $fieldMappings)) {
432432
if (!empty($requestParameters['currency_code'])) {
433433
$parameters[$fieldMappings['currency_code']] = strtoupper($requestParameters['currency_code']);
434-
} else if (!(array_key_exists('Action', $parameters) && ( $parameters['Action'] === 'SetOrderAttributes' || $parameters['Action'] === 'ConfirmOrderReference'))) {
435-
// Only supply a default CurrencyCode parameter if not using SetOrderAttributes API
434+
} else if (!(array_key_exists('Action', $parameters) &&
435+
($parameters['Action'] === 'SetOrderAttributes' || $parameters['Action'] === 'ConfirmOrderReference' || $parameters['Action'] === 'SetBillingAgreementDetails'))) {
436+
// Only supply a default CurrencyCode parameter if not using SetOrderAttributes, ConfirmOrderReference, or SetBillingAgreementDetails
436437
$parameters[$fieldMappings['currency_code']] = strtoupper($this->config['currency_code']);
437438
}
438439
}
@@ -739,7 +740,7 @@ public function setOrderAttributes($requestParameters = array())
739740
'seller_order_id' => 'OrderAttributes.SellerOrderAttributes.SellerOrderId',
740741
'store_name' => 'OrderAttributes.SellerOrderAttributes.StoreName',
741742
'custom_information' => 'OrderAttributes.SellerOrderAttributes.CustomInformation',
742-
'supplementary_data' => 'OrderAttributes.SellerOrderAttributes.SupplementaryData',
743+
'supplementary_data' => 'OrderAttributes.SellerOrderAttributes.SupplementaryData',
743744
'request_payment_authorization' => 'OrderAttributes.RequestPaymentAuthorization',
744745
'payment_service_provider_id' => 'OrderAttributes.PaymentServiceProviderAttributes.PaymentServiceProviderId',
745746
'payment_service_provider_order_id' => 'OrderAttributes.PaymentServiceProviderAttributes.PaymentServiceProviderOrderId',
@@ -754,10 +755,10 @@ public function setOrderAttributes($requestParameters = array())
754755

755756
/* ConfirmOrderReference API call - Confirms that the order reference is free of constraints and all required information has been set on the order reference.
756757
* @see https://pay.amazon.com/developer/documentation/apireference/201751980
757-
758+
*
758759
* @param requestParameters['merchant_id'] - [String]
759760
* @param requestParameters['amazon_order_reference_id'] - [String]
760-
* @optional requestParameters['success_url'] - [String]'
761+
* @optional requestParameters['success_url'] - [String]
761762
* @optional requestParameters['failure_url'] - [String]
762763
* @optional requestParameters['authorization_amount'] - [String]
763764
* @optional requestParameters['currency_code'] - [String]
@@ -1171,6 +1172,9 @@ public function getBillingAgreementDetails($requestParameters = array())
11711172
* @optional requestParameters['seller_billing_agreement_id'] - [String]
11721173
* @optional requestParameters['store_name'] - [String]
11731174
* @optional requestParameters['custom_information'] - [String]
1175+
* @optional requestParameters['billing_agreement_type'] - [String] either 'CustomerInitiatedTransaction' or 'MerchantInitiatedTransaction'
1176+
* @optional requestParameters['subscription_amount'] - [String]
1177+
* @optional requestParameters['currency_code'] - [String]
11741178
* @optional requestParameters['mws_auth_token'] - [String]
11751179
*/
11761180
public function setBillingAgreementDetails($requestParameters = array())
@@ -1187,9 +1191,16 @@ public function setBillingAgreementDetails($requestParameters = array())
11871191
'seller_billing_agreement_id' => 'BillingAgreementAttributes.SellerBillingAgreementAttributes.SellerBillingAgreementId',
11881192
'custom_information' => 'BillingAgreementAttributes.SellerBillingAgreementAttributes.CustomInformation',
11891193
'store_name' => 'BillingAgreementAttributes.SellerBillingAgreementAttributes.StoreName',
1194+
'billing_agreement_type' => 'BillingAgreementAttributes.BillingAgreementType',
1195+
'subscription_amount' => 'BillingAgreementAttributes.SubscriptionAmount.Amount',
1196+
'currency_code' => 'BillingAgreementAttributes.SubscriptionAmount.CurrencyCode',
11901197
'mws_auth_token' => 'MWSAuthToken'
11911198
);
11921199

1200+
if (isset($requestParameters['subscription_amount']) && !isset($requestParameters['currency_code'])) {
1201+
$requestParameters['currency_code'] = strtoupper($this->config['currency_code']);
1202+
}
1203+
11931204
$responseObject = $this->setParametersAndPost($parameters, $fieldMappings, $requestParameters);
11941205
return ($responseObject);
11951206
}
@@ -1200,6 +1211,8 @@ public function setBillingAgreementDetails($requestParameters = array())
12001211
*
12011212
* @param requestParameters['merchant_id'] - [String]
12021213
* @param requestParameters['amazon_billing_agreement_id'] - [String]
1214+
* @optional requestParameters['success_url'] - [String]
1215+
* @optional requestParameters['failure_url'] - [String]
12031216
* @optional requestParameters['mws_auth_token'] - [String]
12041217
*/
12051218
public function confirmBillingAgreement($requestParameters = array())
@@ -1211,6 +1224,8 @@ public function confirmBillingAgreement($requestParameters = array())
12111224
$fieldMappings = array(
12121225
'merchant_id' => 'SellerId',
12131226
'amazon_billing_agreement_id' => 'AmazonBillingAgreementId',
1227+
'success_url' => 'SuccessUrl',
1228+
'failure_url' => 'FailureUrl',
12141229
'mws_auth_token' => 'MWSAuthToken'
12151230
);
12161231

@@ -1248,8 +1263,8 @@ public function validateBillingAgreement($requestParameters = array())
12481263
*
12491264
* @param requestParameters['merchant_id'] - [String]
12501265
* @param requestParameters['amazon_billing_agreement_id'] - [String]
1251-
* @param requestParameters['authorization_reference_id'] [String]
1252-
* @param requestParameters['authorization_amount'] [String]
1266+
* @param requestParameters['authorization_reference_id'] - [String]
1267+
* @param requestParameters['authorization_amount'] - [String]
12531268
* @param requestParameters['currency_code'] - [String]
12541269
* @optional requestParameters['seller_authorization_note'] [String]
12551270
* @optional requestParameters['transaction_timeout'] - Defaults to 1440 minutes

AmazonPay/ClientInterface.php

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ public function getParameters();
5858
public function getUserInfo($access_token);
5959

6060

61+
/* GetMerchantAccountStatus API call - Returns the status of the Merchant Account.
62+
* @see TODO
63+
64+
* @param requestParameters['merchant_id'] - [String]
65+
* @optional requestParameters['mws_auth_token'] - [String]
66+
*/
67+
public function getMerchantAccountStatus($requestParameters = array());
68+
6169
/* GetOrderReferenceDetails API call - Returns details about the Order Reference object and its current state.
6270
* @see https://pay.amazon.com/developer/documentation/apireference/201751970
6371
*
@@ -69,6 +77,33 @@ public function getUserInfo($access_token);
6977
public function getOrderReferenceDetails($requestParameters = array());
7078

7179

80+
/* ListOrderReference API call - Returns details about the Order Reference object and its current state from the sellers.
81+
* @see https://pay.amazon.com/developer/documentation/apireference/201751970
82+
*
83+
* @param requestParameters['merchant_id'] - [String]
84+
* @param requestParameters['query_id'] - [String]
85+
* @param requestParameters['query_id_type'] - [String] (SellerOrderId)
86+
* @optional requestParameters['page_size'] - [Int]
87+
* @optional requestParameters['created_start_time'] - [String] (Date/Time ISO8601)
88+
* @optional requestParameters['created_end_time'] - [String] (Date/Time ISO8601) Limited to 31 days
89+
* @optional requestParameters['sort_order'] - [String] (Ascending/Descending)
90+
* @optional requestParameters['mws_auth_token'] - [String]
91+
* @optional requestParameters['status_list'] - [Array]
92+
*/
93+
public function listOrderReference($requestParameters = array());
94+
95+
96+
/* ListOrderReferenceByNextToken API call - Returns details about the Order Reference object and its current
97+
* state from the sellers.
98+
* @see https://pay.amazon.com/developer/documentation/apireference/201751970
99+
*
100+
* @param requestParameters['merchant_id'] - [String]
101+
* @param requestParameters['next_token'] - [String]
102+
* @optional requestParameters['mws_auth_token'] - [String]
103+
*/
104+
public function listOrderReferenceByNextToken($requestParameters = array());
105+
106+
72107
/* SetOrderReferenceDetails API call - Sets order reference details such as the order total and a description for the order.
73108
* @see https://pay.amazon.com/developer/documentation/apireference/201751960
74109
*
@@ -80,6 +115,7 @@ public function getOrderReferenceDetails($requestParameters = array());
80115
* @optional requestParameters['seller_note'] - [String]
81116
* @optional requestParameters['seller_order_id'] - [String]
82117
* @optional requestParameters['store_name'] - [String]
118+
* @optional requestParameters['supplementary_data'] - [String]
83119
* @optional requestParameters['custom_information'] - [String]
84120
* @optional requestParameters['request_payment_authorization'] - [Boolean]
85121
* @optional requestParameters['mws_auth_token'] - [String]
@@ -100,6 +136,7 @@ public function setOrderReferenceDetails($requestParameters = array());
100136
* @optional requestParameters['seller_order_id'] - [String]
101137
* @optional requestParameters['store_name'] - [String]
102138
* @optional requestParameters['custom_information'] - [String]
139+
* @optional requestParameters['supplementary_data'] - [String]
103140
* @optional requestParameters['request_payment_authorization'] - [Boolean]
104141
* @optional requestParameters['payment_service_provider_id'] - [String]
105142
* @optional requestParameters['payment_service_provider_order_id'] - [String]
@@ -114,6 +151,10 @@ public function setOrderAttributes($requestParameters = array());
114151
*
115152
* @param requestParameters['merchant_id'] - [String]
116153
* @param requestParameters['amazon_order_reference_id'] - [String]
154+
* @optional requestParameters['success_url'] - [String]
155+
* @optional requestParameters['failure_url'] - [String]
156+
* @optional requestParameters['authorization_amount'] - [String]
157+
* @optional requestParameters['currency_code'] - [String]
117158
* @optional requestParameters['mws_auth_token'] - [String]
118159
*/
119160
public function confirmOrderReference($requestParameters = array());
@@ -286,6 +327,9 @@ public function getBillingAgreementDetails($requestParameters = array());
286327
* @optional requestParameters['seller_billing_agreement_id'] - [String]
287328
* @optional requestParameters['store_name'] - [String]
288329
* @optional requestParameters['custom_information'] - [String]
330+
* @optional requestParameters['billing_agreement_type'] - [String] either 'CustomerInitiatedTransaction' or 'MerchantInitiatedTransaction'
331+
* @optional requestParameters['subscription_amount'] - [String]
332+
* @optional requestParameters['currency_code'] - [String]
289333
* @optional requestParameters['mws_auth_token'] - [String]
290334
*/
291335
public function setBillingAgreementDetails($requestParameters = array());
@@ -296,6 +340,8 @@ public function setBillingAgreementDetails($requestParameters = array());
296340
*
297341
* @param requestParameters['merchant_id'] - [String]
298342
* @param requestParameters['amazon_billing_agreement_id'] - [String]
343+
* @optional requestParameters['success_url'] - [String]
344+
* @optional requestParameters['failure_url'] - [String]
299345
* @optional requestParameters['mws_auth_token'] - [String]
300346
*/
301347
public function confirmBillingAgreement($requestParameters = array());
@@ -399,4 +445,5 @@ public function getProviderCreditReversalDetails($requestParameters = array());
399445
* @optional requestParameters['mws_auth_token'] - [String]
400446
*/
401447
public function reverseProviderCredit($requestParameters = array());
448+
402449
}

AmazonPay/HttpCurl.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ public function httpPost($url, $userAgent = null, $parameters = null)
8787
curl_setopt($ch, CURLOPT_POST, true);
8888
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
8989
curl_setopt($ch, CURLOPT_HEADER, false);
90-
9190
$response = $this->execute($ch);
9291
return $response;
9392
}

CHANGES.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
1+
3.5.0 - August 2019
2+
- Added additional attributes (success_url, failure_url) to ConfirmBillingAgreement and (subscription_amount, currency_code) to SetBillingAgreement Details.. See Amazon Pay Strong Customer Authentication (SCA) Upgrade Integration Guide for more information.
3+
- Synced missing changes in ClientInterface.php
4+
15
3.4.1 - February 2019
26
- Fix undefined index message in ConfirmOrderReference
37

48
3.4.0 - January 2019
59
- Added new supplementary_data attribute for AuthorizeOnBillingAgreement and CreateOrderReferenceForId.
6-
- Added additional attributes (success_url, failure_url, authorization_amount, currency_code) to ConfirmOrderReference. Amazon Pay Strong Customer Authentication (SCA) Upgrade Integration Guide
10+
- Added additional attributes (success_url, failure_url, authorization_amount, currency_code) to ConfirmOrderReference. See Amazon Pay Strong Customer Authentication (SCA) Upgrade Integration Guide for more information.
711

812
3.3.2 - August 2018
913
- Added method for listOrderReference API call
1014
- Added method for listOrderReferenceByNextToken API call
1115
- Added new supplementary_data attribute for SetOrderAttributes and SetOrderReferenceDetails.
1216

1317
3.3.1 - April 2018
14-
- Add call to GetMerchantAccountStatus API call
18+
- Add GetMerchantAccountStatus API call
1519

1620
3.2.0 - November 2017
17-
- Add support for new SetOrderAttributes API call (available for use in 2018)
21+
- Add SetOrderAttributes API call
1822

1923
3.1.0 - May 2017
2024
- Fix getUserInfo call (bearer token) issue impacted by 3.0.0's Curl fix

README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ Integration steps can be found below:
2020
* [US](https://pay.amazon.com/us/developer/documentation)
2121
* [UK](https://pay.amazon.com/uk/developer/documentation)
2222
* [DE](https://pay.amazon.com/de/developer/documentation)
23-
* [FR](https://pay.amazon.com/fr/developer/documentation)
24-
* [IT](https://pay.amazon.com/it/developer/documentation)
25-
* [ES](https://pay.amazon.com/es/developer/documentation)
2623
* [JP](https://pay.amazon.com/jp/developer/documentation)
2724

2825
## Sample

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "amzn/amazon-pay-sdk-php",
33
"type": "library",
44
"description": "Amazon Pay SDK (PHP)",
5-
"version": "3.4.1",
5+
"version": "3.5.0",
66
"keywords": [
77
"amazon",
88
"pay",
@@ -13,7 +13,7 @@
1313
"amazon pay"
1414
],
1515
"homepage": "https://github.com/amzn/amazon-pay-sdk-php",
16-
"license": "Apache OSL-2",
16+
"license": "Apache-2.0",
1717
"authors": [
1818
{
1919
"name": "Amazon Pay SDK",

0 commit comments

Comments
 (0)