<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def payment_begin(self, wallet):
 """ Begin a new payment session. Searches wallet for an account that's marked as available and has a 0 balance. If one is found, the account number is returned and is marked as unavailable. If no account is found, a new account is created, placed in the wallet, and returned. :param wallet: Wallet to begin payment in :type wallet: str :raises: :py:exc:`nano.rpc.RPCException` "xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000" """


        wallet = self._process_value(wallet, 'wallet')

        payload = {"wallet": wallet}

        resp = self.call('payment_begin', payload)

        return resp['account']