2323
2424class 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
0 commit comments