Decorator routes an Connections.Response  to the wrapped function.

        Request is sent when Alexa completes the purchase flow. 
        See https://developer.amazon.com/docs/in-skill-purchase/add-isps-to-a-skill.html#handle-results 


        The wrapped view function may accept parameters from the  Request.
        In addition to locale, requestId, timestamp, and type
        

        @ask.on_purchase_completed( mapping={'payload': 'payload','name':'name','status':'status','token':'token'})
        def completed(payload, name, status, token):
            logger.info(payload)
            logger.info(name)
            logger.info(status)
            logger.info(token)

def on_purchase_completed(self, mapping={'payload': 'payload','name':'name','status':'status','token':'token'}, convert={}, default={}):
        """Decorator routes an Connections.Response  to the wrapped function.

        Request is sent when Alexa completes the purchase flow. 
        See https://developer.amazon.com/docs/in-skill-purchase/add-isps-to-a-skill.html#handle-results 


        The wrapped view function may accept parameters from the  Request.
        In addition to locale, requestId, timestamp, and type
        

        @ask.on_purchase_completed( mapping={'payload': 'payload','name':'name','status':'status','token':'token'})
        def completed(payload, name, status, token):
            logger.info(payload)
            logger.info(name)
            logger.info(status)
            logger.info(token)
            
        """
        def decorator(f):
            self._intent_view_funcs['Connections.Response'] = f
            self._intent_mappings['Connections.Response'] = mapping
            self._intent_converts['Connections.Response'] = convert
            self._intent_defaults['Connections.Response'] = default
            @wraps(f)
            def wrapper(*args, **kwargs):
                self._flask_view_func(*args, **kwargs)
            return f
        return decorator