title: Which design pattern should I use? (Payment system API)
body: <p>I have to implement classes that work with payment system (let's call it PaymentSystem) API that allow operations listed below:</p>
  
  <ul>
  <li>Issue an invoice to the user</li>
  <li>Check the invoice</li>
  <li>Get users balance</li>
  <li>Check payee existence</li>
  </ul>
  
  <p>What I've got now is:</p>
  
  <p>abstract class <code>PaymentSystemBase</code> where all the settings are remain (security token, password, RESTful APIs URL, etc.)</p>
  
  <p>a class for each API entry:</p>
  
  <ul>
  <li><code>PaymentSystemIssueInvoice</code></li>
  <li><code>PaymentSystemCheckInvoice</code></li>
  <li><code>PaymentSystemGetBalance</code></li>
  <li><code>PaymentSystemCheckUser</code></li>
  </ul>
  
  <p>each of this classes are inherited from <code>PaymentSystemAPI</code> with methods  (inherited from PaymentSystemBase, of course):</p>
  
  <ul>
  <li><code>request</code> - performs request over HTTP</li>
  <li><code>parseResponse</code> to parse response from API (basically tells whether request was successful or we've got an error)</li>
  </ul>
  
  <p>So my question is: would it be convenient to use some creation design pattern for the APIs (<code>IssueInvoice</code>, <code>CheckInvoice</code>, <code>GetBalance</code>, <code>CheckUser</code>)?</p>
  
  <p>If you have suggestion for me how I should've implemented the API in the another way, please feel free to answer/comment the question.</p>
  
  <p>Thank you.</p>