parameters: (self, processing_values)
return_statement: return rendering_values
docstring: Override of payment to return Alipay-specific rendering values.
  
          Note: self.ensure_one() from `_get_processing_values`
  
          :param dict processing_values: The generic and specific processing values of the transaction
          :return: The dict of acquirer-specific processing values
          :rtype: dict
docstring_summary: Override of payment to return Alipay-specific rendering values.
docstring_tokens: Override of payment to return Alipay - specific rendering values .
function: def _get_specific_rendering_values(self, processing_values):
          """ Override of payment to return Alipay-specific rendering values.
  
          Note: self.ensure_one() from `_get_processing_values`
  
          :param dict processing_values: The generic and specific processing values of the transaction
          :return: The dict of acquirer-specific processing values
          :rtype: dict
          """
          res = super()._get_specific_rendering_values(processing_values)
          if self.provider != 'alipay':
              return res
  
          base_url = self.acquirer_id.get_base_url()
          if self.fees:
              # Similarly to what is done in `payment::payment.transaction.create`, we need to round
              # the sum of the amount and of the fees to avoid inconsistent string representations.
              # E.g., str(1111.11 + 7.09) == '1118.1999999999998'
              total_fee = self.currency_id.round(self.amount + self.fees)
          else:
              total_fee = self.amount
          rendering_values = {
              '_input_charset': 'utf-8',
              'notify_url': urls.url_join(base_url, AlipayController._notify_url),
              'out_trade_no': self.reference,
              'partner': self.acquirer_id.alipay_merchant_partner_id,
              'return_url': urls.url_join(base_url, AlipayController._return_url),
              'subject': self.reference,
              'total_fee': total_fee,
          }
          if self.acquirer_id.alipay_payment_method == 'standard_checkout':
              # https://global.alipay.com/docs/ac/global/create_forex_trade
              rendering_values.update({
                  'service': 'create_forex_trade',
                  'product_code': 'NEW_OVERSEAS_SELLER',
                  'currency': self.currency_id.name,
              })
          else:
              rendering_values.update({
                  'service': 'create_direct_pay_by_user',
                  'payment_type': 1,
                  'seller_email': self.acquirer_id.alipay_seller_email,
              })
  
          sign = self.acquirer_id._alipay_build_sign(rendering_values)
          rendering_values.update({
              'sign_type': 'MD5',
              'sign': sign,
              'api_url': self.acquirer_id._alipay_get_api_url(),
          })
          return rendering_values
function_tokens: def _get_specific_rendering_values ( self , processing_values ) : res = super ( ) . _get_specific_rendering_values ( processing_values ) if self . provider != 'alipay' : return res base_url = self . acquirer_id . get_base_url ( ) if self . fees : # Similarly to what is done in `payment::payment.transaction.create`, we need to round # the sum of the amount and of the fees to avoid inconsistent string representations. # E.g., str(1111.11 + 7.09) == '1118.1999999999998' total_fee = self . currency_id . round ( self . amount + self . fees ) else : total_fee = self . amount rendering_values = { '_input_charset' : 'utf-8' , 'notify_url' : urls . url_join ( base_url , AlipayController . _notify_url ) , 'out_trade_no' : self . reference , 'partner' : self . acquirer_id . alipay_merchant_partner_id , 'return_url' : urls . url_join ( base_url , AlipayController . _return_url ) , 'subject' : self . reference , 'total_fee' : total_fee , } if self . acquirer_id . alipay_payment_method == 'standard_checkout' : # https://global.alipay.com/docs/ac/global/create_forex_trade rendering_values . update ( { 'service' : 'create_forex_trade' , 'product_code' : 'NEW_OVERSEAS_SELLER' , 'currency' : self . currency_id . name , } ) else : rendering_values . update ( { 'service' : 'create_direct_pay_by_user' , 'payment_type' : 1 , 'seller_email' : self . acquirer_id . alipay_seller_email , } ) sign = self . acquirer_id . _alipay_build_sign ( rendering_values ) rendering_values . update ( { 'sign_type' : 'MD5' , 'sign' : sign , 'api_url' : self . acquirer_id . _alipay_get_api_url ( ) , } ) return rendering_values