code: def append_path_payment_op(self,
                                 destination,
                                 send_code,
                                 send_issuer,
                                 send_max,
                                 dest_code,
                                 dest_issuer,
                                 dest_amount,
                                 path,
                                 source=None):
          
          # path: a list of asset tuple which contains asset_code and asset_issuer,
          # [(asset_code, asset_issuer), (asset_code, asset_issuer)] for native asset you can deliver
          # ('XLM', None)
  
          send_asset = Asset(send_code, send_issuer)
          dest_asset = Asset(dest_code, dest_issuer)
  
          assets = []
          for p in path:
              assets.append(Asset(p[0], p[1]))
          op = operation.PathPayment(destination, send_asset, send_max,
                                     dest_asset, dest_amount, assets, source)
          return self.append_op(op)
docs: Append a :class:`PathPayment <stellar_base.operation.PathPayment>`
          operation to the list of operations.
  
          :param str destination: The destination address (Account ID) for the
              payment.
          :param str send_code: The asset code for the source asset deducted from
              the source account.
          :param send_issuer: The address of the issuer of the source asset.
          :type send_issuer: str, None
          :param str send_max: The maximum amount of send asset to deduct
              (excluding fees).
          :param str dest_code: The asset code for the final destination asset
              sent to the recipient.
          :param dest_issuer: Account address that receives the payment.
          :type dest_issuer: str, None
          :param str dest_amount: The amount of destination asset the destination
              account receives.
          :param list path: A list of asset tuples, each tuple containing a
              (asset_code, asset_issuer) for each asset in the path. For the native
              asset, `None` is used for the asset_issuer.
          :param str source: The source address of the path payment.
          :return: This builder instance.