environment != 'sandbox' AND empty($m->sandbox_error_simulation_auth)) { return NULL; } return self::getSandboxSimulationString( $m->sandbox_error_simulation_auth, $m ); } /** * @return null|string */ public static function getSellerRefundNote ($m) { if($m->environment != 'sandbox' AND empty($m->sandbox_error_simulation_refund)) { return NULL; } return self::getSandboxSimulationString( $m->sandbox_error_simulation_refund, $m ); } /** * */ public static function getSetOrderReferenceSandboxSimulationString () { return NULL; if($m->environment != 'sandbox' AND empty($m->sandbox_error_simulation)) { return NULL; } $setOrderReferenceSandboxSimulation = array( 'InvalidPaymentMethod', //'PaymentMethodNotAllowed', // 'AmazonRejected', // 'TransactionTimedOut', // 'ExpiredUnused', // 'AmazonClosed', ); return self::getSandboxSimulationString( $setOrderReferenceSandboxSimulation, $m->sandbox_error_simulation ); } /** * * @param $authorizedSimulationReasons * @param $reason * @return null|string */ public static function getSandboxSimulationString ($reason,$m) { if($m->environment != 'sandbox' or empty($reason)) { return NULL; } $sandboxSimulationStrings = array( 'InvalidPaymentMethod' => '{"SandboxSimulation":{"State":"Declined","ReasonCode":"InvalidPaymentMethod"}}', //'PaymentMethodNotAllowed' => '{"SandboxSimulation": {"State":"Declined","ReasonCode":"InvalidPaymentMethod","PaymentMethodUpdateTimeInMins":100}}', 'AmazonRejected' => '{"SandboxSimulation":{"State":"Declined","ReasonCode":"AmazonRejected" }}', 'TransactionTimedOut' => '{"SandboxSimulation":{"State":"Declined","ReasonCode":"TransactionTimedOut"}}', 'ExpiredUnused' => '{"SandboxSimulation":{"State":"Declined","ReasonCode":"ExpiredUnused" ,"ExpirationTimeInMins":1}}', 'AmazonClosed' => '{"SandboxSimulation":{"State":"Closed", "ReasonCode":"AmazonClosed"}}', 'Pending' => '{"SandboxSimulation":{"State":"Pending"}}', ); $simulationString = $sandboxSimulationStrings[$reason]; return $simulationString; } }