public static function createFromArray(PaymentMethod $paymentMethod, array $paymentMethodDetails)
 {
     if ($paymentMethod->isIdeal()) {
         return IdealPaymentMethodDetails::fromArray($paymentMethodDetails);
     }
     if ($paymentMethod->isCreditCard()) {
         return CreditCardPaymentMethodDetails::fromArray($paymentMethodDetails);
     }
     throw new \InvalidArgumentException('Provided payment method not supported.');
 }
 /**
  * @test
  */
 public function itShouldConvertToArray()
 {
     $array = ['issuer_id' => 'ABNANL2A', 'status' => 'completed', 'transaction_id' => 'some-unique-id-abc123', 'consumer_name' => 'FA de Vries', 'consumer_city' => 'Amsterdam', 'consumer_iban' => 'NL91ABNA0417164300', 'consumer_bic' => 'ABNANL2A'];
     $this->assertEquals($array, IdealPaymentMethodDetails::fromArray($array)->toArray());
 }